mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-10-15 18:55:13 +08:00
优化部分代码
This commit is contained in:
@@ -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)
|
||||
|
@@ -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 是否同时检查结果是否成功
|
||||
|
@@ -20,7 +20,7 @@ import lombok.NoArgsConstructor;
|
||||
public class WxPayAuthcode2OpenidResult extends BaseWxPayResult {
|
||||
/**
|
||||
* <pre>
|
||||
* 用户标识
|
||||
* 用户标识.
|
||||
* openid
|
||||
* 是
|
||||
* String(128)
|
||||
|
@@ -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" +
|
||||
|
Reference in New Issue
Block a user