puzhibing
2024-03-19 06c7348b197ede0b68e6d02f019bf81892329b88
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();
@@ -215,11 +205,12 @@
                            try {
                                int num = 1;
                                int wait = 0;
                                while (num <= 10) {
                                while (num <= 15) {
                                    int min = 5000;
                                    wait += (min * num);
                                    Thread.sleep(wait);
                                    List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().eq("code", code).eq("payType", 2));
                                    List<TGameRecord> list = gameRecordService
                                            .list(new QueryWrapper<TGameRecord>().eq("number", code).eq("payType", 1));
                                    TGameRecord one = list.get(0);
                                    if (one.getStatus() == 1) {
@@ -239,7 +230,7 @@
                                        Map<String, String> data1 = resultUtil.getData();
                                        String s = data1.get("trade_state");
                                        String transaction_id = data1.get("transaction_id");
                                        if ("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) {
                                        if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) {
                                            break;
                                        }
                                        if ("SUCCESS".equals(s)) {
@@ -247,12 +238,13 @@
                                                coursePackagePayment.setStatus(1);
                                                coursePackagePayment.setMoney(config.getCash());
                                                coursePackagePayment.setOrderNo(transaction_id);
                                            }
                                            gameRecordService.updateBatchById(list);
                                            Integer integer = startGame(uid, gameId, spaceId, sutuId);
                                            break;
                                        }
                                        if ("USERPAYING".equals(s)) {
                                        if ("USERPAYING".equals(s) || "NOTPAY".equals(s)) {
                                            num++;
                                        }
                                    }
@@ -411,4 +403,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));
    }
}