From 63699b497a294b156c752254bd5820f7c14dafde Mon Sep 17 00:00:00 2001 From: canxu <1@1.com> Date: Thu, 3 Jul 2025 16:07:31 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=88=86=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?:=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/bean/payscore/Device.java | 36 +++++++++++++++++++ .../bean/payscore/WxPayScoreRequest.java | 3 ++ 2 files changed, 39 insertions(+) create mode 100644 weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/Device.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 0000000000..94b91a1306 --- /dev/null +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/payscore/Device.java @@ -0,0 +1,36 @@ +package com.github.binarywang.wxpay.bean.payscore; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * 设备信息 + **/ +@Data +@NoArgsConstructor +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 3c58a62e80..098cc93444 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 String toJson() { * openid : oUpF8uMuAJO_M2pxb1Q9zNjWeS6o * need_user_confirm : true * profitSharing : false:不分账,默认:false,true:分账 + * device: 设备信息 */ @SerializedName("out_order_no") private String outOrderNo; @@ -95,4 +96,6 @@ public String toJson() { */ @SerializedName("complete_time") private String completeTime; + @SerializedName("device") + private Device device; } From bc05469aa2b54bd2ed453a8bf06d4514f10b8943 Mon Sep 17 00:00:00 2001 From: canxu <1@1.com> Date: Fri, 4 Jul 2025 09:21:54 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E8=A7=84=E8=8C=83,2=E5=A2=9E=E5=8A=A0=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=88=86=E8=AF=B7=E6=B1=82=E6=96=B0=E5=A2=9Edevice=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/bean/payscore/Device.java | 2 + .../bean/payscore/WxPayScoreRequest.java | 2 +- .../WxPartnerPayScoreRequestTest.java | 40 +++++++++++++++ .../bean/payscore/WxPayScoreRequestTest.java | 51 +++++++------------ 4 files changed, 61 insertions(+), 34 deletions(-) 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 index 94b91a1306..3060b0ff47 100644 --- 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 @@ -1,6 +1,7 @@ package com.github.binarywang.wxpay.bean.payscore; import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -11,6 +12,7 @@ **/ @Data @NoArgsConstructor +@AllArgsConstructor public class Device implements Serializable { private static final long serialVersionUID = -4510224826631515321L; 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 098cc93444..e4a285e50e 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,7 +42,7 @@ public String toJson() { * openid : oUpF8uMuAJO_M2pxb1Q9zNjWeS6o * need_user_confirm : true * profitSharing : false:不分账,默认:false,true:分账 - * device: 设备信息 + * device : 设备信息 */ @SerializedName("out_order_no") private String outOrderNo; 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 0000000000..8a9f4790f6 --- /dev/null +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/payscore/WxPartnerPayScoreRequestTest.java @@ -0,0 +1,40 @@ +package com.github.binarywang.wxpay.bean.payscore; + +import org.testng.annotations.Test; + +/** + * @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()); +// { +// "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 5d29f15a76..4640534fc7 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 @@ -15,40 +15,25 @@ public void testToJson() { .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 - }*/ +// { +// "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" +// } +// } } } From b10f0281c0a4289af176182531dc242388509234 Mon Sep 17 00:00:00 2001 From: canxu <1@1.com> Date: Fri, 4 Jul 2025 09:26:27 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../binarywang/wxpay/bean/payscore/WxPayScoreRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 e4a285e50e..020ed05cb7 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,7 +42,7 @@ public String toJson() { * openid : oUpF8uMuAJO_M2pxb1Q9zNjWeS6o * need_user_confirm : true * profitSharing : false:不分账,默认:false,true:分账 - * device : 设备信息 + * device : {"start_device_id":"202501","end_device_id":"202502","materiel_no":"212323232"} */ @SerializedName("out_order_no") private String outOrderNo; From cc87a2d855d5c88561aec319c0ec283ca9bbdf8c Mon Sep 17 00:00:00 2001 From: canxu <1@1.com> Date: Fri, 4 Jul 2025 13:23:59 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=AD=E8=A8=80=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/bean/payscore/WxPartnerPayScoreRequestTest.java | 5 +++++ .../wxpay/bean/payscore/WxPayScoreRequestTest.java | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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 index 8a9f4790f6..7b475d84a0 100644 --- 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 @@ -2,6 +2,8 @@ import org.testng.annotations.Test; +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Binary Wang * created on 2020-07-11 @@ -19,6 +21,9 @@ public void testToJson() { .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", 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 4640534fc7..15f3f3abae 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 @@ import org.testng.annotations.Test; +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Binary Wang * created on 2020-07-11 @@ -17,7 +19,11 @@ public void testToJson() { .timeRange(new TimeRange("20230901011023", "20230930235959","开始时间","结束时间")) .device(new Device("deviceId","deviceId","212323232")) .build(); - System.out.println(request.toJson()); + 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",