package com.matrix.component.wechat.externalInterface.protocol.payComProtocol;
|
|
|
import com.matrix.component.wechat.externalInterface.common.RandomStringGenerator;
|
import com.matrix.component.wechat.externalInterface.common.Signature;
|
import com.matrix.component.wechat.externalInterface.common.WechatConfigure;
|
|
import java.lang.reflect.Field;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 企业支付请求参数
|
*
|
* @author:jiangyouyao
|
* @date 2017年5月25日
|
*/
|
public class JsApiPayComReqData {
|
|
//每个字段具体的意思请查看API文档
|
/**
|
* 商户号
|
*/
|
private String mch_id = "";
|
/**
|
* 商户企业付款单号
|
*/
|
private String partner_trade_no = "";
|
/**
|
* 随机字符串
|
*/
|
private String nonce_str = "";
|
/**
|
* 签名
|
*/
|
private String sign = "";
|
/**
|
* 收款方银行卡号
|
*/
|
private String enc_bank_no = "";
|
/**
|
* 收款方用户名
|
*/
|
private String enc_true_name = "";
|
/**
|
* 收款方开户行
|
*/
|
private String bank_code = "";
|
/**
|
* 付款金额 RMB(分)
|
*/
|
private int amount = 0;
|
/**
|
* 备注
|
*/
|
private String desc = "";
|
|
|
public JsApiPayComReqData() {
|
}
|
|
|
/**
|
*
|
* @author wzy
|
* @param desc 描述
|
* @param outTradeNo 商户企业付款单号
|
* @param totalFee 付款金额
|
* @param bankNo 银行卡号
|
* @param bankTrueName 收款号姓名
|
* @param bankCode 收款号开户行
|
*/
|
public JsApiPayComReqData(String desc, String outTradeNo, int totalFee, String bankNo, String bankTrueName, String bankCode) {
|
//默认必须设置
|
setMch_id(WechatConfigure.mchID);
|
setDesc(desc);
|
setPartner_trade_no(outTradeNo);
|
setAmount(totalFee);
|
//随机字符串,不长于32 位
|
setNonce_str(RandomStringGenerator.getRandomStringByLength(32));
|
//根据API给的签名规则进行签名 【 必须要放在本方法的最后】
|
String sign = Signature.getSign(toMap());
|
setSign(sign);//把签名数据设置到Sign这个属性中
|
// setEnc_bank_no();
|
// setEnc_true_name();
|
// setBank_code();
|
|
}
|
|
|
public String getMch_id() {
|
return mch_id;
|
}
|
|
public void setMch_id(String mch_id) {
|
this.mch_id = mch_id;
|
}
|
|
public String getEnc_bank_no() {
|
return enc_bank_no;
|
}
|
|
public void setEnc_bank_no(String enc_bank_no) {
|
this.enc_bank_no = enc_bank_no;
|
}
|
|
public String getEnc_true_name() {
|
return enc_true_name;
|
}
|
|
public void setEnc_true_name(String enc_true_name) {
|
this.enc_true_name = enc_true_name;
|
}
|
|
public String getBank_code() {
|
return bank_code;
|
}
|
|
public void setBank_code(String bank_code) {
|
this.bank_code = bank_code;
|
}
|
|
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 getPartner_trade_no() {
|
return partner_trade_no;
|
}
|
|
public void setPartner_trade_no(String partner_trade_no) {
|
this.partner_trade_no = partner_trade_no;
|
}
|
|
public int getAmount() {
|
return amount;
|
}
|
|
public void setAmount(int amount) {
|
this.amount = amount;
|
}
|
|
public String getDesc() {
|
return desc;
|
}
|
|
public void setDesc(String desc) {
|
this.desc = desc;
|
}
|
|
public Map<String, Object> toMap() {
|
Map<String, Object> map = new HashMap<String, Object>();
|
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;
|
}
|
}
|