package cn.ksource.web.controller.wxpay.paybean; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; import cn.ksource.web.controller.wxpay.WxNativeConfig; import cn.ksource.web.controller.wxpay.util.RandomStringGenerator; import cn.ksource.web.controller.wxpay.util.Signature; public class RequestData { private String appid = ""; private String mch_id = ""; private String device_info = ""; private String nonce_str = ""; private String sign = ""; private String body = ""; private String detail = ""; private String attach = ""; private String out_trade_no = ""; private String fee_type = ""; private int total_fee = 0; private String spbill_create_ip = ""; private String time_start = ""; private String time_expire = ""; private String goods_tag = ""; private String notify_url = ""; private String trade_type = ""; private String product_id = ""; private String limit_pay = ""; private String openid = ""; public RequestData() { } public RequestData(OrderBean orderBean) { setAppid(WxNativeConfig.appid); setMch_id(WxNativeConfig.mch_id); setDevice_info(WxNativeConfig.device_info); setNonce_str(RandomStringGenerator.getRandomStringByLength(32)); setBody(orderBean.getBody()); setDetail(orderBean.getDetail()); setAttach(orderBean.getAttach()); setOut_trade_no(orderBean.getOut_trade_no()); setFee_type(orderBean.getFee_type()); setTotal_fee(orderBean.getTotal_fee()); setSpbill_create_ip(WxNativeConfig.spbill_create_ip); setTime_start(orderBean.getTime_start()); setTime_expire(orderBean.getTime_expire()); setGoods_tag(orderBean.getGoods_tag()); setNotify_url(WxNativeConfig.notify_url); setTrade_type(WxNativeConfig.trade_type); setProduct_id(orderBean.getProduct_id()); setLimit_pay(orderBean.getLimit_pay()); setOpenid(orderBean.getOpenid()); setSign(Signature.getSign(toMap())); } public String getAppid() { return appid; } public void setAppid(String appid) { this.appid = appid; } public String getMch_id() { return mch_id; } public void setMch_id(String mch_id) { this.mch_id = mch_id; } public String getDevice_info() { return device_info; } public void setDevice_info(String device_info) { this.device_info = device_info; } public String getNonce_str() { return nonce_str; } public void setNonce_str(String nonce_str) { this.nonce_str = nonce_str; } public String getSign() { return sign; } public void setSign(String sign) { this.sign = sign; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail; } public String getAttach() { return attach; } public void setAttach(String attach) { this.attach = attach; } public String getOut_trade_no() { return out_trade_no; } public void setOut_trade_no(String out_trade_no) { this.out_trade_no = out_trade_no; } public String getFee_type() { return fee_type; } public void setFee_type(String fee_type) { this.fee_type = fee_type; } public int getTotal_fee() { return total_fee; } public void setTotal_fee(int total_fee) { this.total_fee = total_fee; } public String getSpbill_create_ip() { return spbill_create_ip; } public void setSpbill_create_ip(String spbill_create_ip) { this.spbill_create_ip = spbill_create_ip; } public String getTime_start() { return time_start; } public void setTime_start(String time_start) { this.time_start = time_start; } public String getTime_expire() { return time_expire; } public void setTime_expire(String time_expire) { this.time_expire = time_expire; } public String getGoods_tag() { return goods_tag; } public void setGoods_tag(String goods_tag) { this.goods_tag = goods_tag; } public String getNotify_url() { return notify_url; } public void setNotify_url(String notify_url) { this.notify_url = notify_url; } public String getTrade_type() { return trade_type; } public void setTrade_type(String trade_type) { this.trade_type = trade_type; } public String getProduct_id() { return product_id; } public void setProduct_id(String product_id) { this.product_id = product_id; } public String getLimit_pay() { return limit_pay; } public void setLimit_pay(String limit_pay) { this.limit_pay = limit_pay; } public String getOpenid() { return openid; } public void setOpenid(String openid) { this.openid = openid; } public Map toMap(){ Map map = new HashMap(); Field[] fields = this.getClass().getDeclaredFields(); for (Field field : fields) { Object obj; try { obj = field.get(this); if(obj!=null){ map.put(field.getName(), obj); } } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } return map; } }