From d52e225626ee9cb0f18c8ebc59427b071142604d Mon Sep 17 00:00:00 2001 From: xuxiancan <76151216+xuxiancan@users.noreply.github.com> Date: Fri, 4 Jul 2025 15:39:15 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=20#3633=E3=80=90=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E3=80=91=E5=88=9B=E5=BB=BA=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=88=86=E8=AE=A2=E5=8D=95=E6=8E=A5=E5=8F=A3=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=87=8C=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/bean/payscore/Device.java | 38 ++++++++++++ .../bean/payscore/WxPayScoreRequest.java | 3 + .../WxPartnerPayScoreRequestTest.java | 45 ++++++++++++++ .../bean/payscore/WxPayScoreRequestTest.java | 59 ++++++++----------- 4 files changed, 111 insertions(+), 34 deletions(-) create mode 100644 weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/Device.java create mode 100644 weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPartnerPayScoreRequestTest.java diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/Device.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/Device.java new file mode 100644 index 000000000..3060b0ff4 --- /dev/null +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/Device.java @@ -0,0 +1,38 @@ +package com.github.binarywang.wxpay.bean.payscore; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * 设备信息 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Device implements Serializable { + + private static final long serialVersionUID = -4510224826631515321L; + + + /** + * 服务开始的设备ID + */ + @SerializedName("start_device_id") + private String startDeviceId; + + /** + * 服务结束的设备ID + */ + @SerializedName("end_device_id") + private String endDeviceId; + + /** + * 物料编码 + */ + @SerializedName("materiel_no") + private String materielNo; +} diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequest.java index 3c58a62e8..020ed05cb 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequest.java @@ -42,6 +42,7 @@ public class WxPayScoreRequest implements Serializable { * openid : oUpF8uMuAJO_M2pxb1Q9zNjWeS6o * need_user_confirm : true * profitSharing : false:不分账,默认:false,true:分账 + * device : {"start_device_id":"202501","end_device_id":"202502","materiel_no":"212323232"} */ @SerializedName("out_order_no") private String outOrderNo; @@ -95,4 +96,6 @@ public class WxPayScoreRequest implements Serializable { */ @SerializedName("complete_time") private String completeTime; + @SerializedName("device") + private Device device; } diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPartnerPayScoreRequestTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPartnerPayScoreRequestTest.java new file mode 100644 index 000000000..7b475d84a --- /dev/null +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPartnerPayScoreRequestTest.java @@ -0,0 +1,45 @@ +package com.github.binarywang.wxpay.bean.payscore; + +import org.testng.annotations.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author Binary Wang + * created on 2020-07-11 + */ +public class WxPartnerPayScoreRequestTest { + + @Test + public void testToJson() { + WxPartnerPayScoreRequest request = WxPartnerPayScoreRequest.builder() + .outOrderNo("QLS202005201058000201") + .appid("123") + .serviceId("345") + .serviceIntroduction("租借服务") + .timeRange(new TimeRange("20230901011023", "20230930235959","开始时间","结束时间")) + .device(new Device("deviceId","deviceId","212323232")) + .build(); + System.out.println(request.toJson()); + String expectedJson = + "{\"out_order_no\":\"QLS202005201058000201\",\"appid\":\"123\",\"service_id\":\"345\",\"service_introduction\":\"租借服务\",\"time_range\":{\"start_time\":\"20230901011023\",\"end_time\":\"20230930235959\",\"start_time_remark\":\"开始时间\",\"end_time_remark\":\"结束时间\"},\"device\":{\"start_device_id\":\"deviceId\",\"end_device_id\":\"deviceId\",\"materiel_no\":\"212323232\"}}"; + assertThat(request.toJson()).isEqualTo(expectedJson); +// { +// "out_order_no": "QLS202005201058000201", +// "appid": "123", +// "service_id": "345", +// "service_introduction": "租借服务", +// "time_range": { +// "start_time": "20230901011023", +// "end_time": "20230930235959", +// "start_time_remark": "开始时间", +// "end_time_remark": "结束时间" +// }, +// "device": { +// "start_device_id": "deviceId", +// "end_device_id": "deviceId", +// "materiel_no": "212323232" +// } +// } + } +} diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequestTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequestTest.java index 5d29f15a7..15f3f3aba 100644 --- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequestTest.java +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPayScoreRequestTest.java @@ -2,6 +2,8 @@ package com.github.binarywang.wxpay.bean.payscore; import org.testng.annotations.Test; +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Binary Wang * created on 2020-07-11 @@ -15,40 +17,29 @@ public class WxPayScoreRequestTest { .serviceId("345") .serviceIntroduction("租借服务") .timeRange(new TimeRange("20230901011023", "20230930235959","开始时间","结束时间")) + .device(new Device("deviceId","deviceId","212323232")) .build(); - System.out.println(request.toJson()); - /* { - "out_order_no":"QLS202005201058000201", - "appid":"123", - "service_id":"345", - "service_introduction":"租借服务", - "time_range":{ - "start_time":"OnAccept", - "end_time":"20200520225840" - }, - "location":{ - "start_location":"山", - "end_location":"山" - }, - "risk_fund":{ - "name":"DEPOSIT", - "amount":200, - "description":"丢失偿还费用2元/台" - }, - "attach":"", - "notify_url":"/pay/notify/payScore", - "openid":"", - "need_user_confirm":true, - "profit_sharing":false, - "post_payments":[ - { - "name":"租借服务", - "amount":100, - "description":"服务费:1元/台", - "count":1 - } - ], - "total_amount":0 - }*/ + String json = request.toJson(); + System.out.println(json); + + String expectedJson = "{\"out_order_no\":\"QLS202005201058000201\",\"appid\":\"123\",\"service_id\":\"345\",\"service_introduction\":\"租借服务\",\"time_range\":{\"start_time\":\"20230901011023\",\"end_time\":\"20230930235959\",\"start_time_remark\":\"开始时间\",\"end_time_remark\":\"结束时间\"},\"device\":{\"start_device_id\":\"deviceId\",\"end_device_id\":\"deviceId\",\"materiel_no\":\"212323232\"}}"; + assertThat(request.toJson()).isEqualTo(expectedJson); +// { +// "out_order_no": "QLS202005201058000201", +// "appid": "123", +// "service_id": "345", +// "service_introduction": "租借服务", +// "time_range": { +// "start_time": "20230901011023", +// "end_time": "20230930235959", +// "start_time_remark": "开始时间", +// "end_time_remark": "结束时间" +// }, +// "device": { +// "start_device_id": "deviceId", +// "end_device_id": "deviceId", +// "materiel_no": "212323232" +// } +// } } }