From eadc1f646e81e8ffbe940b13163aee9d107d6663 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 13 三月 2024 09:03:32 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0

---
 cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java |   56 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
index 3d31715..73b6c4e 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -18,10 +18,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -92,25 +89,18 @@
     })
     public ResultUtil<List<TGameConfig>> queryGameList(Integer siteId, Integer storeId) {
         try {
-
             Integer uid = tokenUtil.getUserIdFormRedis();
             AppUser appUser = appUserClient.queryAppUser(uid);
             List<TGameConfig> tGameConfigs = new ArrayList<>();
-
             if (appUser.getAddUserId() == null) {
-
-
                 List<SiteLock> lock = lockService.list(new QueryWrapper<SiteLock>().eq("siteId", siteId));
-
                 Date now = new Date();
                 for (SiteLock siteLock : lock) {
                     if (now.after(siteLock.getStartTime()) && now.before(siteLock.getEndTime())) {
                         return ResultUtil.error("当前场地已被锁定");
                     }
                 }
-
             }
-
             List<TGame> list = gameService.list(new LambdaQueryWrapper<TGame>().eq(TGame::getSiteId, siteId).eq(TGame::getStoreId, storeId).eq(TGame::getState, 0));
             if (list.size() > 0) {
                 Integer id = list.get(0).getId();
@@ -165,7 +155,9 @@
 
 
 
-
+    private String smid = "2088330203191220";//平台支付宝商户号
+    @Autowired
+    private ISiteService siteService;
 
 
 
@@ -263,8 +255,21 @@
                 }
                 return weixinpay;
             } else if (type == 2) {
-                String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId + "_" + code + "_" + configId;
-                ResultUtil alipay = payMoneyUtil.alipay("游戏支付", "游戏支付", params, code, config.getCash().toString(), "/base/site/gameCallback");
+                String smid1="";
+                String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId+"_"+code+"_"+configId;
+                // 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号
+                TGame game = gameService.getById(gameId);
+
+                Integer operationId = game.getOperationId();
+                if (operationId==0){
+                    // 是平台的
+                    smid1 = smid;
+                }else{
+                    String smidByOperatorId = siteService.getSMIDByOperatorId(operationId);
+                    smid1 = smidByOperatorId;
+                }
+
+                ResultUtil alipay = payMoneyUtil.alipay(smid1,"游戏支付", "游戏支付", params, code, config.getCash().toString(), "/base/site/gameCallback");
                 if (alipay.getCode() == 200) {
                     new Thread(new Runnable() {
                         @Override
@@ -310,6 +315,18 @@
                                             }
                                             gameRecordService.updateBatchById(list);
                                             Integer integer = startGame(uid, gameId, spaceId, sutuId);
+                                            // 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号
+                                            TGame game = gameService.getById(gameId);
+                                            String smid2="";
+                                            Integer operationId = game.getOperationId();
+                                            if (operationId==0){
+                                                // 是平台的
+                                                smid2 = smid;
+                                            }else{
+                                                String smidByOperatorId = siteService.getSMIDByOperatorId(operationId);
+                                                smid2 = smidByOperatorId;
+                                            }
+                                            payMoneyUtil.confirm(smid2,code,tradeNo,config.getCash().toString());
                                             break;
                                         }
                                         if ("WAIT_BUYER_PAY".equals(s)) {
@@ -384,4 +401,15 @@
     }
 
 
+    /**
+     * 根据sutuid获取游戏数据
+     * @param sutuId
+     * @return
+     */
+    @ResponseBody
+    @PostMapping("/getTGameBySutuId")
+    public TGame getTGameBySutuId(@RequestBody String sutuId){
+        return gameService.getOne(new QueryWrapper<TGame>().eq("blue", sutuId).or()
+                .eq("red", sutuId).eq("state", 0));
+    }
 }

--
Gitblit v1.7.1