From 5dc40fcd64b0513150f1d8335ab849e6d8cdc28e Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 04 七月 2025 19:42:49 +0800
Subject: [PATCH] 支付版本更新 根据资金流向使用V2或V3服务商版本支付

---
 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 47 insertions(+), 3 deletions(-)

diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
index 4823159..d6e4137 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -25,8 +25,10 @@
 import com.dsh.communityWorldCup.model.*;
 import com.dsh.communityWorldCup.service.*;
 import com.dsh.communityWorldCup.util.*;
+import com.dsh.communityWorldCup.util.wx.WxV3PayConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -511,6 +513,7 @@
         return payment;
     }
 
+    private String smidVx = "2088330203191220";//平台微信商户号
 
     /**
      * 支付逻辑
@@ -539,17 +542,58 @@
                 worldCupPayment.setAmount(new BigDecimal(num).multiply(worldCup.getCash()));
                 worldCupPayment.setUnitPrice(worldCupPayment.getAmount().divide(new BigDecimal(num)));
                 worldCupPaymentService.save(worldCupPayment);
-                return payMoneyUtil.weixinpay("社区世界杯报名", "", worldCupPayment.getCode(),
+                List<WorldCupStore> list = worldCupStoreService.lambdaQuery().eq(WorldCupStore::getWorldCupId, worldCup.getId()).list();
+                if (list.isEmpty()){
+                                    return payMoneyUtil.weixinpay("社区世界杯报名", "", worldCupPayment.getCode(),
                         worldCupPayment.getAmount().toString(), "/base/worldCup/wxPayWorldCupCallback", "APP", "");
+                }else{
+                    Integer storeId = list.get(0).getStoreId();
+                    Store store = storeClient.queryStoreById(storeId);
+                    if (store.getOperatorId()==null||store.getOperatorId()==0){
+                        // 平台
+                        return payMoneyUtil.weixinpay("社区世界杯报名", "", worldCupPayment.getCode(),
+                                worldCupPayment.getAmount().toString(), "/base/worldCup/wxPayWorldCupCallback", "APP", "");
+                    }else{
+                        String s2 = storeClient.getmerchantNumberByOperatorId(store.getOperatorId());
+                        System.err.println("微信商户号"+s2);
+                        if(!StringUtils.hasLength(s2)){
+                            return ResultUtil.error("运营商未配置微信商户号,获取支付失败!");
+                        }
+                        return payMoneyUtil.weixinpayV3(s2,"社区世界杯报名",worldCupPayment.getCode()
+                                ,"/base/worldCup/wxPayWorldCupCallback1",worldCupPayment.getAmount().toString());
+                    }
+                }
+
+
+
             }
             //支付宝
             if(payType == 2){
                 worldCupPayment.setAmount(new BigDecimal(num).multiply(worldCup.getCash()));
                 worldCupPayment.setUnitPrice(worldCupPayment.getAmount().divide(new BigDecimal(num)));
                 worldCupPaymentService.save(worldCupPayment);
-                return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
+                List<WorldCupStore> list = worldCupStoreService.lambdaQuery().eq(WorldCupStore::getWorldCupId, worldCup.getId()).list();
+
+                if (list.isEmpty()){
+                    return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
                         worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
-            }
+            }else{
+                    Integer storeId = list.get(0).getStoreId();
+                    Store store = storeClient.queryStoreById(storeId);
+                    if (store.getOperatorId()==null||store.getOperatorId()==0){
+                        return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
+                                worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
+                    }else{
+                        String s2 = storeClient.getmerchantNumberAliByOperatorId(store.getOperatorId());
+                        System.err.println("支付宝商户号"+s2);
+                        if(!StringUtils.hasLength(s2)){
+                            return ResultUtil.error("运营商未配置支付宝商户号,获取支付失败!");
+                        }
+                        return payMoneyUtil.alipay(s2, "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
+                                worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
+                    }
+                }
+                }
             //玩湃币
             if(payType == 3){
                 AppUser appUser = appUserClient.getAppUser(paymentWorldCup.getUid());

--
Gitblit v1.7.1