| | |
| | | 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; |
| | |
| | | }) |
| | | 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(); |
| | |
| | | |
| | | |
| | | |
| | | |
| | | private String smid = "2088330203191220";//平台支付宝商户号 |
| | | @Autowired |
| | | private ISiteService siteService; |
| | | |
| | | |
| | | |
| | |
| | | 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) { |
| | |
| | | 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)) { |
| | |
| | | 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++; |
| | | } |
| | | } |
| | |
| | | } |
| | | 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 |
| | |
| | | } |
| | | 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)) { |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据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)); |
| | | } |
| | | } |