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"
+// }
+// }
}
}