From 401038dde3989ee8e4f55677ab355eb58a677600 Mon Sep 17 00:00:00 2001 From: xgl <1282742322@qq.com> Date: Tue, 23 Dec 2025 18:08:44 +0800 Subject: [PATCH 1/7] =?UTF-8?q?feat(=E5=BE=AE=E4=BF=A1=E5=8C=BB=E4=BF=9D?= =?UTF-8?q?=E6=94=AF=E4=BB=98):=20=E4=BF=AE=E6=94=B9=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wxpay/bean/mipay/MedInsOrdersRequest.java | 55 ++++++++++++------- .../wxpay/bean/mipay/MedInsOrdersResult.java | 30 +++++----- .../bean/mipay/MedInsRefundNotifyRequest.java | 12 +--- .../wxpay/service/MiPayService.java | 3 +- .../wxpay/service/impl/MiPayServiceImpl.java | 4 +- .../service/impl/MiPayServiceImplTest.java | 3 +- 6 files changed, 57 insertions(+), 50 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java index 1819b328c..9106a16c8 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java @@ -12,6 +12,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; /** * 医保自费混合收款下单请求 @@ -22,9 +23,10 @@ * @date 2025/12/19 14:37 */ @Data -@Builder(builderMethodName = "newBuilder") +@Builder @NoArgsConstructor @AllArgsConstructor +@Accessors(chain = true) public class MedInsOrdersRequest { /** @@ -91,7 +93,7 @@ public class MedInsOrdersRequest { * */ @SerializedName("sub_appid") - public String subAppid; + public String subAppId; /** *
@@ -103,7 +105,7 @@ public class MedInsOrdersRequest {
*
*/
@SerializedName("sub_mchid")
- public String subMchid;
+ public String subMchId;
/**
*
@@ -282,72 +284,72 @@ public class MedInsOrdersRequest {
* 字段名:总金额
* 变量名:total_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:总金额
*
*/
@SerializedName("total_fee")
- public Long totalFee;
+ public Integer totalFee;
/**
*
* 字段名:医保统筹基金支付金额
* 变量名:med_ins_gov_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保统筹基金支付金额
*
*/
@SerializedName("med_ins_gov_fee")
- public Long medInsGovFee;
+ public Integer medInsGovFee;
/**
*
* 字段名:医保个人账户支付金额
* 变量名:med_ins_self_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保个人账户支付金额
*
*/
@SerializedName("med_ins_self_fee")
- public Long medInsSelfFee;
+ public Integer medInsSelfFee;
/**
*
* 字段名:医保其他基金支付金额
* 变量名:med_ins_other_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保其他基金支付金额
*
*/
@SerializedName("med_ins_other_fee")
- public Long medInsOtherFee;
+ public Integer medInsOtherFee;
/**
*
* 字段名:医保现金支付金额
* 变量名:med_ins_cash_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保现金支付金额
*
*/
@SerializedName("med_ins_cash_fee")
- public Long medInsCashFee;
+ public Integer medInsCashFee;
/**
*
* 字段名:微信支付现金支付金额
* 变量名:wechat_pay_cash_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:微信支付现金支付金额
*
*/
@SerializedName("wechat_pay_cash_fee")
- public Long wechatPayCashFee;
+ public Integer wechatPayCashFee;
/**
*
@@ -462,6 +464,11 @@ public class MedInsOrdersRequest {
* 支付人身份信息
*
*/
+ @Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ @Accessors(chain = true)
public static class PersonIdentification {
/**
*
@@ -507,18 +514,23 @@ public static class PersonIdentification {
* 现金增加明细实体
*
*/
+ @Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ @Accessors(chain = true)
public static class CashAddEntity {
/**
*
* 字段名:现金增加金额
* 变量名:cash_add_fee
* 必填:是
- * 类型:long
+ * 类型:Integer
* 描述:现金增加金额
*
*/
@SerializedName("cash_add_fee")
- public Long cashAddFee;
+ public Integer cashAddFee;
/**
*
@@ -538,18 +550,23 @@ public static class CashAddEntity {
* 现金减少明细实体
*
*/
+ @Data
+ @Builder
+ @NoArgsConstructor
+ @AllArgsConstructor
+ @Accessors(chain = true)
public static class CashReduceEntity {
/**
*
* 字段名:现金减少金额
* 变量名:cash_reduce_fee
* 必填:是
- * 类型:long
+ * 类型:Integer
* 描述:现金减少金额
*
*/
@SerializedName("cash_reduce_fee")
- public Long cashReduceFee;
+ public Integer cashReduceFee;
/**
*
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
index 4fc68e279..cd2d0d741 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
@@ -65,7 +65,7 @@ public class MedInsOrdersResult {
*
*/
@SerializedName("med_ins_pay_status")
- public MedInsPayStatusEnum medInsPayStatusEnum;
+ public MedInsPayStatusEnum medInsPayStatus;
/**
*
@@ -155,7 +155,7 @@ public class MedInsOrdersResult {
*
*/
@SerializedName("sub_appid")
- public String subAppid;
+ public String subAppId;
/**
*
@@ -167,7 +167,7 @@ public class MedInsOrdersResult {
*
*/
@SerializedName("sub_mchid")
- public String subMchid;
+ public String subMchId;
/**
*
@@ -320,72 +320,72 @@ public class MedInsOrdersResult {
* 字段名:总金额
* 变量名:total_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:总金额
*
*/
@SerializedName("total_fee")
- public Long totalFee;
+ public Integer totalFee;
/**
*
* 字段名:医保统筹基金支付金额
* 变量名:med_ins_gov_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保统筹基金支付金额
*
*/
@SerializedName("med_ins_gov_fee")
- public Long medInsGovFee;
+ public Integer medInsGovFee;
/**
*
* 字段名:医保个人账户支付金额
* 变量名:med_ins_self_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保个人账户支付金额
*
*/
@SerializedName("med_ins_self_fee")
- public Long medInsSelfFee;
+ public Integer medInsSelfFee;
/**
*
* 字段名:医保其他基金支付金额
* 变量名:med_ins_other_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保其他基金支付金额
*
*/
@SerializedName("med_ins_other_fee")
- public Long medInsOtherFee;
+ public Integer medInsOtherFee;
/**
*
* 字段名:医保现金支付金额
* 变量名:med_ins_cash_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:医保现金支付金额
*
*/
@SerializedName("med_ins_cash_fee")
- public Long medInsCashFee;
+ public Integer medInsCashFee;
/**
*
* 字段名:微信支付现金支付金额
* 变量名:wechat_pay_cash_fee
* 必填:否
- * 类型:long
+ * 类型:Integer
* 描述:微信支付现金支付金额
*
*/
@SerializedName("wechat_pay_cash_fee")
- public Long wechatPayCashFee;
+ public Integer wechatPayCashFee;
/**
*
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
index b6e15a364..b9051f06c 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
@@ -20,16 +20,6 @@
@AllArgsConstructor
public class MedInsRefundNotifyRequest {
- /**
- *
- * 字段名:医保自费混合订单号
- * 必填:是
- * 类型:string(32)
- * 描述:医保自费混合订单号
- *
- */
- private String mixTradeNo;
-
/**
*
* 字段名:医疗机构的商户号
@@ -40,7 +30,7 @@ public class MedInsRefundNotifyRequest {
*
*/
@SerializedName("sub_mchid")
- private String subMchid;
+ private String subMchId;
/**
*
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/MiPayService.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/MiPayService.java
index 83b75ad40..5e2f678c1 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/MiPayService.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/MiPayService.java
@@ -87,8 +87,9 @@ public interface MiPayService {
*
*
* @param request 医保退款通知请求参数
+ * @param mixTradeNo 【医保自费混合订单号】 医保自费混合订单号
* @throws WxPayException the wx pay exception
*/
- void medInsRefundNotify(MedInsRefundNotifyRequest request) throws WxPayException;
+ void medInsRefundNotify(MedInsRefundNotifyRequest request, String mixTradeNo) throws WxPayException;
}
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImpl.java
index 3063d7731..769b789fa 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImpl.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImpl.java
@@ -59,8 +59,8 @@ public MiPayNotifyV3Result parseMiPayNotifyV3Result(String notifyData, Signature
}
@Override
- public void medInsRefundNotify(MedInsRefundNotifyRequest request) throws WxPayException {
- String url = String.format("%s/v3/med-ins/refunds/notify?mix_trade_no=%s", this.payService.getPayBaseUrl(), request.getMixTradeNo());
+ public void medInsRefundNotify(MedInsRefundNotifyRequest request, String mixTradeNo) throws WxPayException {
+ String url = String.format("%s/v3/med-ins/refunds/notify?mix_trade_no=%s", this.payService.getPayBaseUrl(), mixTradeNo);
this.payService.postV3(url, GSON.toJson(request));
}
diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImplTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImplTest.java
index 23c3c5681..095d355bd 100644
--- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImplTest.java
+++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/service/impl/MiPayServiceImplTest.java
@@ -131,13 +131,12 @@ public void medInsRefundNotify() throws WxPayException {
// 解析请求参数
MedInsRefundNotifyRequest request = GSON.fromJson(requestParamStr, MedInsRefundNotifyRequest.class);
- request.setMixTradeNo(mixTradeNo);
MiPayService miPayService = wxPayService.getMiPayService();
try {
// 调用医保退款通知方法,预期会失败,因为是模拟数据
- miPayService.medInsRefundNotify(request);
+ miPayService.medInsRefundNotify(request,mixTradeNo);
log.info("医保退款通知调用成功");
} catch (WxPayException e) {
// 预期会抛出异常,因为是模拟数据
From e8157cb5889329bf6cb2a754a2d38e12edbc7b05 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Charon-=E5=BC=A0=E5=90=8C=E5=AD=A6?=
<38038850+xgl6@users.noreply.github.com>
Date: Wed, 24 Dec 2025 10:22:50 +0800
Subject: [PATCH 2/7] Update
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
接受
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
index 9106a16c8..174dd8bf3 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
@@ -23,7 +23,7 @@
* @date 2025/12/19 14:37
*/
@Data
-@Builder
+@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
From 80e2f999648b96eed520bf10252be83af5de84f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Charon-=E5=BC=A0=E5=90=8C=E5=AD=A6?=
<38038850+xgl6@users.noreply.github.com>
Date: Wed, 24 Dec 2025 10:23:24 +0800
Subject: [PATCH 3/7] Update
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
接受
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
index b9051f06c..cb935b52c 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsRefundNotifyRequest.java
@@ -30,7 +30,7 @@ public class MedInsRefundNotifyRequest {
*
*/
@SerializedName("sub_mchid")
- private String subMchId;
+ private String subMchid;
/**
*
From d21b5698937e1964ebac74e5b3abf23466850491 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Charon-=E5=BC=A0=E5=90=8C=E5=AD=A6?=
<38038850+xgl6@users.noreply.github.com>
Date: Wed, 24 Dec 2025 10:23:39 +0800
Subject: [PATCH 4/7] Update
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
接受
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
index 174dd8bf3..43feb4a66 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
@@ -93,7 +93,7 @@ public class MedInsOrdersRequest {
*
*/
@SerializedName("sub_appid")
- public String subAppId;
+ public String subAppid;
/**
*
From cf8373abf653b2296e55841315dbae37fe6597e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Charon-=E5=BC=A0=E5=90=8C=E5=AD=A6?=
<38038850+xgl6@users.noreply.github.com>
Date: Wed, 24 Dec 2025 10:23:49 +0800
Subject: [PATCH 5/7] Update
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
接受
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
index 43feb4a66..b651100a5 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersRequest.java
@@ -105,7 +105,7 @@ public class MedInsOrdersRequest {
*
*/
@SerializedName("sub_mchid")
- public String subMchId;
+ public String subMchid;
/**
*
From 565a9a71e04264478189ff9312ca47fbbf8ae060 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Charon-=E5=BC=A0=E5=90=8C=E5=AD=A6?=
<38038850+xgl6@users.noreply.github.com>
Date: Wed, 24 Dec 2025 10:23:58 +0800
Subject: [PATCH 6/7] Update
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
接受
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
index cd2d0d741..14ef21c4c 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
@@ -167,7 +167,7 @@ public class MedInsOrdersResult {
*
*/
@SerializedName("sub_mchid")
- public String subMchId;
+ public String subMchid;
/**
*
From 5efaf6bb06653e12bda5a279b5614d4a04fb1def Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Charon-=E5=BC=A0=E5=90=8C=E5=AD=A6?=
<38038850+xgl6@users.noreply.github.com>
Date: Wed, 24 Dec 2025 10:24:07 +0800
Subject: [PATCH 7/7] Update
weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
接受
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---
.../github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
index 14ef21c4c..9a119d872 100644
--- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
+++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/mipay/MedInsOrdersResult.java
@@ -155,7 +155,7 @@ public class MedInsOrdersResult {
*
*/
@SerializedName("sub_appid")
- public String subAppId;
+ public String subAppid;
/**
*