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",