From b001636c2d88b1e2a99c21de43454af549fd9fcd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 07:40:05 +0000 Subject: [PATCH 1/2] Initial plan From 9fa865157aeba46c7376d85995695f04c053ed80 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 07:42:47 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20EntPayRequest#storeMap?= =?UTF-8?q?=20=E4=B8=AD=20brandId=20=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com> --- .../wxpay/bean/entpay/EntPayRequest.java | 4 ++- .../wxpay/bean/entpay/EntPayRequestTest.java | 32 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequest.java index fb7c37b21f..65ed82ad85 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequest.java @@ -249,7 +249,9 @@ protected void storeMap(Map map) { map.put("desc", description); map.put("spbill_create_ip", spbillCreateIp); map.put("scene", scene); - map.put("brand_id", brandId.toString()); + if (brandId != null) { + map.put("brand_id", brandId.toString()); + } map.put("finder_template_id", finderTemplateId); } } diff --git a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequestTest.java b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequestTest.java index b6f68b81c1..402c74d38f 100644 --- a/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequestTest.java +++ b/weixin-java-pay/src/test/java/com/github/binarywang/wxpay/bean/entpay/EntPayRequestTest.java @@ -2,6 +2,10 @@ import org.testng.annotations.Test; +import java.util.Map; + +import static org.assertj.core.api.Assertions.assertThat; + /** * . * @@ -14,4 +18,32 @@ public class EntPayRequestTest { public void testToString() { System.out.println(EntPayRequest.newBuilder().mchId("123").build().toString()); } + + /** + * 测试 brandId 为 null 时,getSignParams() 不抛出 NullPointerException. + */ + @Test + public void testGetSignParamsWithNullBrandId() { + EntPayRequest request = EntPayRequest.newBuilder() + .mchId("123") + .amount(100) + .brandId(null) + .build(); + Map params = request.getSignParams(); + assertThat(params).doesNotContainKey("brand_id"); + } + + /** + * 测试 brandId 不为 null 时,getSignParams() 正确包含 brand_id. + */ + @Test + public void testGetSignParamsWithNonNullBrandId() { + EntPayRequest request = EntPayRequest.newBuilder() + .mchId("123") + .amount(100) + .brandId(1234) + .build(); + Map params = request.getSignParams(); + assertThat(params).containsEntry("brand_id", "1234"); + } }