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 fb26038f..58f60a41 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 ListredpackList; - /** - * - * 领取红包的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 00000000..0e5f145a --- /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" + + " "; + + 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"); + } +}\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " 1 \n" + + "100 \n" + + "\n" + + " \n" + + " \n" + + "\n" + + " \n" + + "\n" + + " 100 \n" + + "\n" + + "