From c036557db88c6297b9a626a892dce35c14ab8ee5 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期四, 09 十一月 2023 18:30:31 +0800
Subject: [PATCH] 11.6
---
cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java | 47 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 38 insertions(+), 9 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 8144008..b5e85a8 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
@@ -2,14 +2,17 @@
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONObject;
+import com.alipay.api.response.AlipayTradeQueryResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.other.entity.SiteLock;
import com.dsh.other.entity.TGame;
import com.dsh.other.entity.TGameConfig;
import com.dsh.other.entity.TGameRecord;
import com.dsh.other.feignclient.account.AppUserClient;
import com.dsh.other.feignclient.account.model.AppUser;
import com.dsh.other.model.QueryMySiteVo;
+import com.dsh.other.service.ISiteLockService;
import com.dsh.other.service.TGameConfigService;
import com.dsh.other.service.TGameRecordService;
import com.dsh.other.service.TGameService;
@@ -27,13 +30,14 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
-
+import java.util.stream.Collectors;
@RestController
@RequestMapping("/api/game")
public class GameController {
@Autowired
private TGameRecordService gameRecordService;
+
@Autowired
private TGameService gameService;
@@ -68,6 +72,9 @@
}
}
+@Autowired
+private ISiteLockService lockService;
+
@ResponseBody
@PostMapping("/queryGameList")
@@ -81,14 +88,29 @@
try {
List<TGameConfig> tGameConfigs = new ArrayList<>();
- List<TGame> list = gameService.list(new LambdaQueryWrapper<TGame>().eq(TGame::getSiteId, siteId).eq(TGame::getStoreId, storeId));
+ 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();
// tGameConfigs = gameConfigService.list(new LambdaQueryWrapper<TGameConfig>().eq(TGameConfig::getOtherId, id));
tGameConfigs = gameConfigService.listJs(id);
}
- return ResultUtil.success(tGameConfigs);
+ List<TGameConfig> filteredList = tGameConfigs.stream()
+ .filter(gameConfig -> !gameConfig.getImg().isEmpty())
+ .collect(Collectors.toList());
+ return ResultUtil.success(filteredList);
}catch (Exception e){
e.printStackTrace();
return ResultUtil.runErr();
@@ -182,7 +204,11 @@
}
return weixinpay;
}else if(type==2){
- ResultUtil alipay = payMoneyUtil.alipay("游戏支付", "游戏支付", "", code, config.getCash().toString(), "/base/course/aliPaymentCourseCallback");
+// Integer gameId, Integer configId,Integer type,Integer sutuId,Integer spaceId;
+
+ String params = uid+"_"+gameId+"_"+spaceId+"_"+sutuId;
+
+ ResultUtil alipay = payMoneyUtil.alipay("游戏支付", "游戏支付", params, code, config.getCash().toString(), "/base/site/gameCallback");
if(alipay.getCode() == 200){
new Thread(new Runnable() {
@Override
@@ -199,17 +225,19 @@
if(one.getStatus() == 1){
break;
}
- ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryALIOrder(code);
- if(resultUtil.getCode() == 200 && one.getStatus() == 0){
+ AlipayTradeQueryResponse resultUtil = payMoneyUtil.queryALIOrder(code);
+ if(resultUtil.getCode().equals("10000") && one.getStatus() == 0){
/**
* WAIT_BUYER_PAY(交易创建,等待买家付款)、
* TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
* TRADE_SUCCESS(交易支付成功)、
* TRADE_FINISHED(交易结束,不可退款)
*/
- Map<String, String> data1 = resultUtil.getData();
- String s = data1.get("tradeStatus");
- String tradeNo = data1.get("tradeNo");
+// Map<String, String> data1 = resultUtil.getData();
+// String s = data1.get("tradeStatus");
+// String tradeNo = data1.get("tradeNo");
+ String tradeNo = resultUtil.getTradeNo();
+ String s = resultUtil.getTradeStatus();
if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
break;
}
@@ -261,6 +289,7 @@
}
int i1 = playPaiCoins - i;
appUser.setIntegral(i1);
+ appUser.setPoints(playCoin.intValue());
appUserClient.updateAppUser(appUser);
startGame(uid,gameId,spaceId,sutuId);
return ResultUtil.success();
--
Gitblit v1.7.1