优化部分代码

This commit is contained in:
Binary Wang
2018-01-25 16:52:02 +08:00
parent 801caca355
commit 8e1c9263ac
5 changed files with 56 additions and 69 deletions

View File

@@ -11,7 +11,6 @@ import lombok.NoArgsConstructor;
import me.chanjar.weixin.common.util.ToStringUtils;
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
@@ -25,12 +24,12 @@ import java.util.Map;
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@XStreamAlias("xml")
public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializable {
public class WxPayOrderNotifyResult extends BaseWxPayResult {
private static final long serialVersionUID = 5389718115223345496L;
/**
* <pre>
* 字段名:设备号
* 字段名:设备号.
* 变量名device_info
* 是否必填:否
* 类型String(32)
@@ -43,7 +42,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:用户标识
* 字段名:用户标识.
* 变量名openid
* 是否必填:是
* 类型String(128)
@@ -56,7 +55,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:是否关注公众账号
* 字段名:是否关注公众账号.
* 变量名is_subscribe
* 是否必填:否
* 类型String(1)
@@ -69,7 +68,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:用户子标识
* 字段名:用户子标识.
* 变量名sub_openid
* 是否必填:是
* 类型String(128)
@@ -82,7 +81,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:是否关注子公众账号
* 字段名:是否关注子公众账号.
* 变量名sub_is_subscribe
* 是否必填:否
* 类型String(1)
@@ -96,7 +95,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:交易类型
* 字段名:交易类型.
* 变量名trade_type
* 是否必填:是
* 类型String(16)
@@ -110,7 +109,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:付款银行
* 字段名:付款银行.
* 变量名bank_type
* 是否必填:是
* 类型String(16)
@@ -123,7 +122,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:订单金额
* 字段名:订单金额.
* 变量名total_fee
* 是否必填:是
* 类型Int
@@ -135,7 +134,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private Integer totalFee;
/**
* <pre>
* 字段名:应结订单金额
* 字段名:应结订单金额.
* 变量名settlement_total_fee
* 是否必填:否
* 类型Int
@@ -147,7 +146,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private Integer settlementTotalFee;
/**
* <pre>
* 字段名:货币种类
* 字段名:货币种类.
* 变量名fee_type
* 是否必填:否
* 类型String(8)
@@ -159,7 +158,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private String feeType;
/**
* <pre>
* 字段名:现金支付金额
* 字段名:现金支付金额.
* 变量名cash_fee
* 是否必填:是
* 类型Int
@@ -171,7 +170,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private Integer cashFee;
/**
* <pre>
* 字段名:现金支付货币类型
* 字段名:现金支付货币类型.
* 变量名cash_fee_type
* 是否必填:否
* 类型String(16)
@@ -183,7 +182,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private String cashFeeType;
/**
* <pre>
* 字段名:总代金券金额
* 字段名:总代金券金额.
* 变量名coupon_fee
* 是否必填:否
* 类型Int
@@ -196,7 +195,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:代金券使用数量
* 字段名:代金券使用数量.
* 变量名coupon_count
* 是否必填:否
* 类型Int
@@ -211,7 +210,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:微信支付订单号
* 字段名:微信支付订单号.
* 变量名transaction_id
* 是否必填:是
* 类型String(32)
@@ -224,7 +223,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
/**
* <pre>
* 字段名:商户订单号
* 字段名:商户订单号.
* 变量名out_trade_no
* 是否必填:是
* 类型String(32)
@@ -236,7 +235,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private String outTradeNo;
/**
* <pre>
* 字段名:商家数据包
* 字段名:商家数据包.
* 变量名attach
* 是否必填:否
* 类型String(128)
@@ -248,7 +247,7 @@ public class WxPayOrderNotifyResult extends BaseWxPayResult implements Serializa
private String attach;
/**
* <pre>
* 字段名:支付完成时间
* 字段名:支付完成时间.
* 变量名time_end
* 是否必填:是
* 类型String(14)

View File

@@ -40,15 +40,13 @@ import java.util.Map;
*/
@Data
public abstract class BaseWxPayResult implements Serializable {
private static final long serialVersionUID = 2416778827989487412L;
/**
* 返回状态码
* 返回状态码.
*/
@XStreamAlias("return_code")
protected String returnCode;
/**
* 返回信息
* 返回信息.
*/
@XStreamAlias("return_msg")
protected String returnMsg;
@@ -56,64 +54,64 @@ public abstract class BaseWxPayResult implements Serializable {
//当return_code为SUCCESS的时候还会包括以下字段
/**
* 业务结果
* 业务结果.
*/
@XStreamAlias("result_code")
private String resultCode;
/**
* 错误代码
* 错误代码.
*/
@XStreamAlias("err_code")
private String errCode;
/**
* 错误代码描述
* 错误代码描述.
*/
@XStreamAlias("err_code_des")
private String errCodeDes;
/**
* 公众账号ID
* 公众账号ID.
*/
@XStreamAlias("appid")
private String appid;
/**
* 商户号
* 商户号.
*/
@XStreamAlias("mch_id")
private String mchId;
/**
* 服务商模式下的子公众账号ID
* 服务商模式下的子公众账号ID.
*/
@XStreamAlias("sub_appid")
private String subAppId;
/**
* 服务商模式下的子商户号
* 服务商模式下的子商户号.
*/
@XStreamAlias("sub_mch_id")
private String subMchId;
/**
* 随机字符串
* 随机字符串.
*/
@XStreamAlias("nonce_str")
private String nonceStr;
/**
* 签名
* 签名.
*/
@XStreamAlias("sign")
private String sign;
//以下为辅助属性
/**
* xml字符串
* xml字符串.
*/
private String xmlString;
/**
* xml的Document对象用于解析xml文本
* xml的Document对象用于解析xml文本.
*/
private Document xmlDoc;
/**
* 将单位分转换成单位圆
* 将单位分转换成单位圆.
*
* @param fee 将要被转换为元的分的数值
*/
@@ -122,7 +120,7 @@ public abstract class BaseWxPayResult implements Serializable {
}
/**
* 从xml字符串创建bean对象
* 从xml字符串创建bean对象.
*/
public static <T extends BaseWxPayResult> T fromXML(String xmlString, Class<T> clz) {
XStream xstream = XStreamInitializer.getInstance();
@@ -142,7 +140,7 @@ public abstract class BaseWxPayResult implements Serializable {
}
/**
* 将bean通过保存的xml字符串转换成map
* 将bean通过保存的xml字符串转换成map.
*/
public Map<String, String> toMap() {
if (StringUtils.isBlank(this.xmlString)) {
@@ -168,9 +166,9 @@ public abstract class BaseWxPayResult implements Serializable {
}
/**
* 将xml字符串转换成Document对象以便读取其元素值
* 将xml字符串转换成Document对象以便读取其元素值.
*/
protected Document getXmlDoc() {
private Document getXmlDoc() {
if (this.xmlDoc != null) {
return this.xmlDoc;
}
@@ -188,9 +186,9 @@ public abstract class BaseWxPayResult implements Serializable {
}
/**
* 获取xml中元素的值
* 获取xml中元素的值.
*/
protected String getXmlValue(String... path) {
String getXmlValue(String... path) {
Document doc = this.getXmlDoc();
String expression = String.format("/%s//text()", Joiner.on("/").join(path));
try {
@@ -205,9 +203,9 @@ public abstract class BaseWxPayResult implements Serializable {
}
/**
* 获取xml中元素的值作为int值返回
* 获取xml中元素的值作为int值返回.
*/
protected Integer getXmlValueAsInt(String... path) {
Integer getXmlValueAsInt(String... path) {
String result = this.getXmlValue(path);
if (StringUtils.isBlank(result)) {
return null;
@@ -217,7 +215,7 @@ public abstract class BaseWxPayResult implements Serializable {
}
/**
* 校验返回结果签名
* 校验返回结果签名.
*
* @param signType 签名类型
* @param checkSuccess 是否同时检查结果是否成功

View File

@@ -20,7 +20,7 @@ import lombok.NoArgsConstructor;
public class WxPayAuthcode2OpenidResult extends BaseWxPayResult {
/**
* <pre>
* 用户标识
* 用户标识.
* openid
* 是
* String(128)

View File

@@ -11,8 +11,8 @@ import org.testng.annotations.*;
*/
public class WxPayOrderQueryResultTest {
@Test
public void testComposeCoupons() throws Exception {
/**
public void testComposeCoupons() {
/*
* xml样例字符串来自于官方文档并稍加改造加入了coupon相关的数据便于测试
*/
String xmlString = "<xml>\n" +