diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResult.java index fb26038f3..58f60a412 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResult.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResult.java @@ -5,15 +5,11 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import java.io.Serializable; +import java.util.List; + /** *
- * 注释中各行对应含义: - * 字段名 - * 字段 - * 必填 - * 示例值 - * 类型 - * 说明 * Created by Binary Wang on 2016-11-28. ** @@ -24,15 +20,16 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @XStreamAlias("xml") public class WxPayRedpackQueryResult extends BaseWxPayResult { + private static final long serialVersionUID = -3849864122189552906L; /** *
- * 商户订单号
- * mch_billno
- * 是
- * 10000098201411111234567890
- * String(28)
- * 商户使用查询API填写的商户单号的原路返回
+ * 字段含义:商户订单号.
+ * 字段名:mch_billno
+ * 是否必填:是
+ * 示例值:10000098201411111234567890
+ * 类型:String(28)
+ * 字段说明:商户使用查询API填写的商户单号的原路返回
*
*/
@XStreamAlias("mch_billno")
@@ -40,12 +37,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包单号
- * detail_id
- * 是
- * 1000000000201503283103439304
- * String(32)
- * 使用API发放现金红包时返回的红包单号
+ * 字段含义:红包单号.
+ * 字段名:detail_id
+ * 是否必填:是
+ * 示例值:1000000000201503283103439304
+ * 类型:String(32)
+ * 字段说明:使用API发放现金红包时返回的红包单号
*
*/
@XStreamAlias("detail_id")
@@ -53,12 +50,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包状态
- * status
- * 是
- * RECEIVED
- * string(16)
- * SENDING:发放中,
+ * 字段含义:红包状态.
+ * 字段名:status
+ * 是否必填:是
+ * 示例值:RECEIVED
+ * 类型:string(16)
+ * 字段说明:SENDING:发放中,
* SENT:已发放待领取,
* FAILED:发放失败,
* RECEIVED:已领取,
@@ -71,12 +68,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 发放类型
- * send_type
- * 是
- * API
- * String(32)
- * API:通过API接口发放,
+ * 字段含义:发放类型.
+ * 字段名:send_type
+ * 是否必填:是
+ * 示例值:API
+ * 类型:String(32)
+ * 字段说明:API:通过API接口发放,
* UPLOAD:通过上传文件方式发放,
* ACTIVITY:通过活动方式发放
*
@@ -86,12 +83,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包类型
- * hb_type
- * 是
- * GROUP
- * String(32)
- * GROUP:裂变红包,
+ * 字段含义:红包类型.
+ * 字段名:hb_type
+ * 是否必填:是
+ * 示例值:GROUP
+ * 类型:String(32)
+ * 字段说明:GROUP:裂变红包,
* NORMAL:普通红包
*
*/
@@ -100,12 +97,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包个数
- * total_num
- * 是
- * 1
- * int
- * 红包个数
+ * 字段含义:红包个数.
+ * 字段名:total_num
+ * 是否必填:是
+ * 示例值:1
+ * 类型:int
+ * 字段说明:红包个数
*
*/
@XStreamAlias("total_num")
@@ -113,12 +110,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包金额
- * total_amount
- * 是
- * 5000
- * int
- * 红包总金额(单位分)
+ * 字段含义:红包金额.
+ * 字段名:total_amount
+ * 是否必填:是
+ * 示例值:5000
+ * 类型:int
+ * 字段说明:红包总金额(单位分)
*
*/
@XStreamAlias("total_amount")
@@ -126,12 +123,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 失败原因
- * reason
- * 否
- * 余额不足
- * String(32)
- * 发送失败原因
+ * 字段含义:失败原因.
+ * 字段名:reason
+ * 是否必填:否
+ * 示例值:余额不足
+ * 类型:String(32)
+ * 字段说明:发送失败原因
*
*/
@XStreamAlias("reason")
@@ -139,12 +136,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包发送时间
- * send_time
- * 是
- * 2015-04-21 20:00:00
- * String(32)
- * 红包的发送时间
+ * 字段含义:红包发送时间.
+ * 字段名:send_time
+ * 是否必填:是
+ * 示例值:2015-04-21 20:00:00
+ * 类型:String(32)
+ * 字段说明:红包的发送时间
*
*/
@XStreamAlias("send_time")
@@ -152,12 +149,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包退款时间
- * refund_time
- * 否
- * 2015-04-21 23:03:00
- * String(32)
- * 红包的退款时间(如果其未领取的退款)
+ * 字段含义:红包退款时间.
+ * 字段名: refund_time
+ * 是否必填:否
+ * 示例值:2015-04-21 23:03:00
+ * 类型:String(32)
+ * 字段说明:红包的退款时间(如果其未领取的退款)
*
*/
@XStreamAlias("refund_time")
@@ -165,12 +162,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 红包退款金额
- * refund_amount
- * 否
- * 8000
- * Int
- * 红包退款金额
+ * 字段含义:红包退款金额.
+ * 字段名:refund_amount
+ * 是否必填:否
+ * 示例值:8000
+ * 类型:Int
+ * 字段说明:红包退款金额
*
*/
@XStreamAlias("refund_amount")
@@ -178,12 +175,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 祝福语
- * wishing
- * 否
- * 新年快乐
- * String(128)
- * 祝福语
+ * 字段含义:祝福语.
+ * 字段名:wishing
+ * 是否必填:否
+ * 示例值:新年快乐
+ * 类型:String(128)
+ * 字段说明:祝福语
*
*/
@XStreamAlias("wishing")
@@ -191,12 +188,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 活动描述
- * remark
- * 否
- * 新年红包
- * String(256)
- * 活动描述,低版本微信可见
+ * 字段含义:活动描述.
+ * 字段名:remark
+ * 是否必填:否
+ * 示例值:新年红包
+ * 类型:String(256)
+ * 字段说明:活动描述,低版本微信可见
*
*/
@XStreamAlias("remark")
@@ -204,12 +201,12 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 活动名称
- * act_name
- * 否
- * 新年红包
- * String(32)
- * 发红包的活动名称
+ * 字段含义:活动名称.
+ * 字段名:act_name
+ * 是否必填:否
+ * 示例值:新年红包
+ * 类型:String(32)
+ * 字段说明:发红包的活动名称
*
*/
@XStreamAlias("act_name")
@@ -217,53 +214,57 @@ public class WxPayRedpackQueryResult extends BaseWxPayResult {
/**
*
- * 裂变红包领取列表
- * hblist
- * 否
- *
- *
- * 裂变红包的领取列表
+ * 字段含义:裂变红包领取列表.
+ * 字段名:redpackList
+ * 是否必填:否
+ * 字段说明: 裂变红包的领取列表
*
*/
- @XStreamAlias("hblist")
- private String hblist;
+ @XStreamAlias("redpackList")
+ private List redpackList;
- /**
- *
- * 领取红包的Openid
- * openid
- * 是
- * ohO4GtzOAAYMp2yapORH3dQB3W18
- * String(32)
- * 领取红包的openid
- *
- */
- @XStreamAlias("openid")
- private String openid;
+ @Data
+ @XStreamAlias("hbinfo")
+ public static class RedpackInfo implements Serializable {
+ private static final long serialVersionUID = 7829773321457772100L;
+ /**
+ *
+ * 字段含义:领取红包的Openid.
+ * 字段名: openid
+ * 是否必填:是
+ * 示例值:ohO4GtzOAAYMp2yapORH3dQB3W18
+ * 类型:String(32)
+ * 字段说明:领取红包的openid
+ *
+ */
+ @XStreamAlias("openid")
+ private String openid;
- /**
- *
- * 金额
- * amount
- * 是
- * 100
- * int
- * 领取金额
- *
- */
- @XStreamAlias("amount")
- private Integer amount;
+ /**
+ *
+ * 字段含义:金额.
+ * 字段名: amount
+ * 是否必填:是
+ * 示例值:100
+ * 类型:int
+ * 字段说明:领取金额
+ *
+ */
+ @XStreamAlias("amount")
+ private Integer amount;
+
+ /**
+ *
+ * 字段含义:接收时间.
+ * 字段名: rcv_time
+ * 是否必填:是
+ * 示例值:2015-04-21 20:00:00
+ * 类型:String(32)
+ * 字段说明:领取红包的时间
+ *
+ */
+ @XStreamAlias("rcv_time")
+ private String receiveTime;
+ }
- /**
- *
- * 接收时间
- * rcv_time
- * 是
- * 2015-04-21 20:00:00
- * String(32)
- * 领取红包的时间
- *
- */
- @XStreamAlias("rcv_time")
- private String receiveTime;
}
diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResultTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResultTest.java
new file mode 100644
index 000000000..0e5f145a5
--- /dev/null
+++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/result/WxPayRedpackQueryResultTest.java
@@ -0,0 +1,51 @@
+package com.github.binarywang.wxpay.bean.result;
+
+import org.testng.annotations.*;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ *
+ *
+ * Created by Binary Wang on 2018/1/24.
+ *
+ *
+ * @author Binary Wang
+ */
+public class WxPayRedpackQueryResultTest {
+ @Test
+ public void testFromXML() {
+ String xmlString = "\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "1 \n" +
+ "100 \n" +
+ " \n" +
+ "\n" +
+ "\n" +
+ " \n" +
+ "100 \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " ";
+
+ WxPayRedpackQueryResult orderQueryResult = WxPayRedpackQueryResult.fromXML(xmlString, WxPayRedpackQueryResult.class);
+ System.out.println(orderQueryResult);
+ assertThat(orderQueryResult).isNotNull();
+
+ assertThat(orderQueryResult.getRedpackList()).isNotEmpty();
+ assertThat(orderQueryResult.getRedpackList().get(0).getAmount()).isEqualTo(100);
+ assertThat(orderQueryResult.getRedpackList().get(0).getOpenid()).isEqualTo("o3yHF0uHuckI3yE6lwWiFQBQdVDI");
+ assertThat(orderQueryResult.getRedpackList().get(0).getReceiveTime()).isEqualTo("2018-01-23 13:45:31");
+ }
+}