From ae9bfd2d66f68a553786ac78b12f4390e65e4e09 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 24 十一月 2023 18:30:18 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java | 71 +++++++++++++++++++++++++++++------ 1 files changed, 58 insertions(+), 13 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..924a16e 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,15 @@ 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.TGame; -import com.dsh.other.entity.TGameConfig; -import com.dsh.other.entity.TGameRecord; +import com.dsh.other.entity.*; +import com.dsh.other.feignclient.CourseRecordClient; 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; @@ -24,16 +25,18 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; 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; @@ -50,6 +53,8 @@ @Autowired private PayMoneyUtil payMoneyUtil; + @Resource + private CourseRecordClient courseRecordClient; @ResponseBody @@ -68,6 +73,9 @@ } } +@Autowired +private ISiteLockService lockService; + @ResponseBody @PostMapping("/queryGameList") @@ -79,16 +87,37 @@ }) public ResultUtil<List<TGameConfig>> queryGameList(Integer siteId, Integer storeId){ try { + + Integer uid = tokenUtil.getUserIdFormRedis(); + AppUser appUser = appUserClient.queryAppUser(uid); List<TGameConfig> tGameConfigs = new ArrayList<>(); - List<TGame> list = gameService.list(new LambdaQueryWrapper<TGame>().eq(TGame::getSiteId, siteId).eq(TGame::getStoreId, storeId)); + 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(); // 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 +211,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 @@ -194,22 +227,24 @@ int min = 5000; wait += (min * num); Thread.sleep(wait); - List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().eq("code", code).eq("payType", 3)); + List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().eq("number", code).eq("payType", 2)); TGameRecord one = list.get(0); 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; } @@ -218,6 +253,15 @@ coursePackagePayment.setStatus(1); coursePackagePayment.setMoney(config.getCash()); coursePackagePayment.setOrderNo(tradeNo); + + CourseCounsum courseCounsum = new CourseCounsum(); +// courseCounsum.setPaymentId(paymentId); + courseCounsum.setChangeType(3); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("智慧球场;" + config.getCash()); + courseCounsum.setAppUserId(uid); + courseRecordClient.save(courseCounsum); + } gameRecordService.updateBatchById(list); Integer integer = startGame(uid, gameId, spaceId, sutuId); @@ -261,6 +305,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