nickchange
2023-11-17 a9564eae9f0169ca39329b2f14a8f13d13358a0a
cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -5,12 +5,12 @@
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;
@@ -25,17 +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;
@@ -52,6 +53,8 @@
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private CourseRecordClient courseRecordClient;
    @ResponseBody
@@ -70,6 +73,9 @@
        }
    }
@Autowired
private ISiteLockService lockService;
    @ResponseBody
    @PostMapping("/queryGameList")
@@ -82,6 +88,18 @@
    public ResultUtil<List<TGameConfig>> queryGameList(Integer siteId, Integer storeId){
        try {
            List<TGameConfig> tGameConfigs = new ArrayList<>();
            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){
@@ -187,7 +205,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,7 +221,7 @@
                                    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;
@@ -225,6 +247,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);
@@ -268,6 +299,7 @@
                }
                int i1 = playPaiCoins - i;
                appUser.setIntegral(i1);
                appUser.setPoints(playCoin.intValue());
                appUserClient.updateAppUser(appUser);
                startGame(uid,gameId,spaceId,sutuId);
                return ResultUtil.success();