فهرست منبع

修改代码生成

kk 8 ماه پیش
والد
کامیت
87401a8ecd

+ 28 - 20
game-business/src/main/java/com/game/business/controller/AppGameBettingController.java

@@ -1,5 +1,6 @@
 package com.game.business.controller;
 package com.game.business.controller;
 
 
+import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.game.business.domain.*;
 import com.game.business.domain.*;
@@ -13,16 +14,14 @@ import com.game.common.core.domain.HttpRet;
 import com.game.common.core.domain.HttpRetPageArr;
 import com.game.common.core.domain.HttpRetPageArr;
 import com.game.common.core.domain.R;
 import com.game.common.core.domain.R;
 import com.game.common.core.page.TableDataInfo;
 import com.game.common.core.page.TableDataInfo;
+import com.game.common.core.redis.RedisCache;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 @RestController
 @RestController
@@ -48,13 +47,16 @@ public class AppGameBettingController extends BaseController{
     @Autowired
     @Autowired
     private IAppGameLotteryService appGameLotteryService;
     private IAppGameLotteryService appGameLotteryService;
 
 
+    @Autowired
+    private RedisCache redisCache;
+
     /**
     /**
      * 下注
      * 下注
      */
      */
     @Anonymous
     @Anonymous
     @PostMapping(value = "/create")
     @PostMapping(value = "/create")
     @ApiOperation(value = "游戏下注", notes = "游戏下注")
     @ApiOperation(value = "游戏下注", notes = "游戏下注")
-    public HttpRet<Boolean> betting(@RequestBody AppGameBetting gameBetting)
+    public HttpRet<Double> betting(@RequestBody AppGameBetting gameBetting)
     {
     {
 
 
         if(gameBetting.getClassId() == null){
         if(gameBetting.getClassId() == null){
@@ -91,22 +93,22 @@ public class AppGameBettingController extends BaseController{
             return HttpRet.fail("游戏已封盘,无法下单。");
             return HttpRet.fail("游戏已封盘,无法下单。");
         }
         }
 
 
-        String[] timeArry = appGame.getGameTime().substring(0, 4).split(":");
-        int m = Integer.parseInt(timeArry[1]);
-
-        if(m <= 10){
-            return HttpRet.fail("游戏已封盘,无法下单。");
-        }
+//        String[] timeArry = appGame.getGameTime().substring(0, 5).split(":");
+//        int m = Integer.parseInt(timeArry[1]);
+//
+//        if(m <= 10){
+//            return HttpRet.fail("游戏已封盘,无法下单。");
+//        }
 
 
         long count = appGameLotteryService.selectCount(appGame.getClassifyId(), appGame.getId(), appGame.getGameDate());
         long count = appGameLotteryService.selectCount(appGame.getClassifyId(), appGame.getId(), appGame.getGameDate());
 
 
         if(count > 0){
         if(count > 0){
             return HttpRet.fail("游戏已开奖,无法下单。");
             return HttpRet.fail("游戏已开奖,无法下单。");
         }
         }
-
+        AppUser appUser = null;
         synchronized (this){
         synchronized (this){
 
 
-            AppUser appUser = appUserService.selectAppUserByUserid(gameBetting.getUserId());
+            appUser = appUserService.selectAppUserByUserid(gameBetting.getUserId());
 
 
             if(appUser == null){
             if(appUser == null){
                 return HttpRet.fail("用户不存在。");
                 return HttpRet.fail("用户不存在。");
@@ -119,10 +121,15 @@ public class AppGameBettingController extends BaseController{
 
 
             // 更新用户余额
             // 更新用户余额
             appUser.setDiamondCoin(appUser.getDiamondCoin() - gameBetting.getBettingAmount());
             appUser.setDiamondCoin(appUser.getDiamondCoin() - gameBetting.getBettingAmount());
-            appUser.setDiamondCoinTotal(appUser.getDiamondCoinCashTotal() - gameBetting.getBettingAmount());
+            appUser.setDiamondCoinTotal(appUser.getDiamondCoinTotal() - gameBetting.getBettingAmount());
             appUserService.updateAppUser(appUser);
             appUserService.updateAppUser(appUser);
 
 
+            redisCache.deleteObject("U:UserInfo:" + appUser.getUserid());
+
             gameBetting.setGameDate(appGame.getGameDate());
             gameBetting.setGameDate(appGame.getGameDate());
+
+
+            gameBetting.setCreateTime(new Date());
             // 插入投注记录
             // 插入投注记录
             appGameBettingService.save(gameBetting);
             appGameBettingService.save(gameBetting);
 
 
@@ -174,11 +181,11 @@ public class AppGameBettingController extends BaseController{
             finTranRecord.setProCount(0L);
             finTranRecord.setProCount(0L);
 
 
             finTranRecord.setOrderId(gameBetting.getId());
             finTranRecord.setOrderId(gameBetting.getId());
-
+            finTranRecord.setId(IdUtil.getSnowflakeNextId());
             finTranRecordService.insertFinTranRecord(finTranRecord);
             finTranRecordService.insertFinTranRecord(finTranRecord);
         }
         }
 
 
-        return HttpRet.success("下注成功", true);
+        return HttpRet.success("下注成功", appUser.getDiamondCoin());
     }
     }
 
 
     /**
     /**
@@ -187,7 +194,7 @@ public class AppGameBettingController extends BaseController{
     @Anonymous
     @Anonymous
     @PostMapping(value = "/count")
     @PostMapping(value = "/count")
     @ApiOperation(value = "游戏输赢统计(首页)", notes = "游戏输赢统计(首页)")
     @ApiOperation(value = "游戏输赢统计(首页)", notes = "游戏输赢统计(首页)")
-    public HttpRet<AppGameBettingCountDTO> getCount(@RequestParam(name = "strDate") String strDate)
+    public HttpRet<AppGameBettingCountDTO> getCount(@RequestParam(name = "strDate") String strDate, @RequestParam(name = "userId") Long userId)
     {
     {
         AppGameBettingCountDTO appGameBettingCountDTO = new AppGameBettingCountDTO();
         AppGameBettingCountDTO appGameBettingCountDTO = new AppGameBettingCountDTO();
         List<AppGame> gameList = appGameService.selectAppGameList(new AppGame());
         List<AppGame> gameList = appGameService.selectAppGameList(new AppGame());
@@ -196,7 +203,7 @@ public class AppGameBettingController extends BaseController{
             return HttpRet.success("查询成功",appGameBettingCountDTO);
             return HttpRet.success("查询成功",appGameBettingCountDTO);
         }
         }
 
 
-        List<AppGameBettingDetailsCountDTO> countList = appGameBettingService.getCount(strDate);
+        List<AppGameBettingDetailsCountDTO> countList = appGameBettingService.getCount(strDate, userId);
         if(countList == null){
         if(countList == null){
             countList = new ArrayList<>();
             countList = new ArrayList<>();
         }
         }
@@ -243,10 +250,11 @@ public class AppGameBettingController extends BaseController{
     @Anonymous
     @Anonymous
     @PostMapping(value = "/listByGameId")
     @PostMapping(value = "/listByGameId")
     @ApiOperation(value = "游戏输赢统计(详情)", notes = "游戏输赢统计(详情)")
     @ApiOperation(value = "游戏输赢统计(详情)", notes = "游戏输赢统计(详情)")
-    public HttpRetPageArr<AppGameBetting> getListByGameId(@RequestParam(name = "gameId") Long gameId)
+    public HttpRetPageArr<AppGameBetting> getListByGameId(@RequestParam(name = "gameId") Long gameId, @RequestParam(name = "userId") Long userId,
+                                                          @RequestParam(name = "isWinning") Integer isWinning)
     {
     {
         startPage();
         startPage();
-        List<AppGameBetting> list = appGameBettingService.selectListByGameId(gameId);
+        List<AppGameBetting> list = appGameBettingService.selectListByGameId(gameId, userId, isWinning);
         return HttpRetPageArr.success("查询成功",getDataTable(list));
         return HttpRetPageArr.success("查询成功",getDataTable(list));
     }
     }
 }
 }

+ 1 - 1
game-business/src/main/java/com/game/business/domain/FinTranRecord.java

@@ -26,7 +26,7 @@ private static final long serialVersionUID=1L;
 
 
     /** $column.columnComment */
     /** $column.columnComment */
     @ApiModelProperty(value = "$column.columnComment")
     @ApiModelProperty(value = "$column.columnComment")
-    @TableId(value = "id" , type = IdType.AUTO)
+    @TableId(value = "id" , type = IdType.NONE)
     private Long id;
     private Long id;
 
 
     /** 当前剩余金币 */
     /** 当前剩余金币 */

+ 2 - 1
game-business/src/main/java/com/game/business/mapper/AppGameBettingMapper.java

@@ -4,10 +4,11 @@ package com.game.business.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.game.business.domain.AppGameBetting;
 import com.game.business.domain.AppGameBetting;
 import com.game.business.dto.AppGameBettingDetailsCountDTO;
 import com.game.business.dto.AppGameBettingDetailsCountDTO;
+import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
 
 
 public interface AppGameBettingMapper extends BaseMapper<AppGameBetting> {
 public interface AppGameBettingMapper extends BaseMapper<AppGameBetting> {
 
 
-    List<AppGameBettingDetailsCountDTO> getCount(String strDate);
+    List<AppGameBettingDetailsCountDTO> getCount(@Param(value = "strDate") String strDate,@Param(value = "userId") Long userId);
 }
 }

+ 2 - 2
game-business/src/main/java/com/game/business/service/IAppGameBettingService.java

@@ -14,7 +14,7 @@ public interface IAppGameBettingService extends IService<AppGameBetting> {
 
 
     boolean save(AppGameBetting appGameBetting);
     boolean save(AppGameBetting appGameBetting);
 
 
-    List<AppGameBettingDetailsCountDTO> getCount(String strDate);
+    List<AppGameBettingDetailsCountDTO> getCount(String strDate, Long userId);
 
 
-    List<AppGameBetting> selectListByGameId(Long gameId);
+    List<AppGameBetting> selectListByGameId(Long gameId, Long userId, Integer isWinning);
 }
 }

+ 7 - 4
game-business/src/main/java/com/game/business/service/impl/AppGameBettingServiceImpl.java

@@ -41,15 +41,18 @@ public class AppGameBettingServiceImpl extends ServiceImpl<AppGameBettingMapper,
     }
     }
 
 
     @Override
     @Override
-    public List<AppGameBettingDetailsCountDTO> getCount(String strDate) {
-        return appGameBettingMapper.getCount(strDate);
+    public List<AppGameBettingDetailsCountDTO> getCount(String strDate, Long userId) {
+        return appGameBettingMapper.getCount(strDate, userId);
     }
     }
 
 
     @Override
     @Override
-    public List<AppGameBetting> selectListByGameId(Long gameId) {
+    public List<AppGameBetting> selectListByGameId(Long gameId, Long userId, Integer isWinning) {
         LambdaQueryWrapper<AppGameBetting> queryWrapper = Wrappers.lambdaQuery();;
         LambdaQueryWrapper<AppGameBetting> queryWrapper = Wrappers.lambdaQuery();;
         queryWrapper.eq(AppGameBetting::getGameId, gameId);
         queryWrapper.eq(AppGameBetting::getGameId, gameId);
-        queryWrapper.ne(AppGameBetting::getIsWinning, 0);
+        queryWrapper.eq(AppGameBetting::getUserId, userId);
+        if(isWinning != null && isWinning != -1){
+            queryWrapper.eq(AppGameBetting::getIsWinning, isWinning);
+        }
         queryWrapper.orderByDesc(AppGameBetting::getCreateTime);
         queryWrapper.orderByDesc(AppGameBetting::getCreateTime);
         return appGameBettingMapper.selectList(queryWrapper);
         return appGameBettingMapper.selectList(queryWrapper);
     }
     }

+ 8 - 1
game-business/src/main/java/com/game/business/task/AppGameBettingTask.java

@@ -1,9 +1,11 @@
 package com.game.business.task;
 package com.game.business.task;
 
 
+import cn.hutool.core.util.IdUtil;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.game.business.domain.*;
 import com.game.business.domain.*;
 import com.game.business.service.*;
 import com.game.business.service.*;
+import com.game.common.core.redis.RedisCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
@@ -34,6 +36,9 @@ public class AppGameBettingTask {
     @Autowired
     @Autowired
     private IAppGameClassifyService appGameClassifyService;
     private IAppGameClassifyService appGameClassifyService;
 
 
+    @Autowired
+    private RedisCache redisCache;
+
     @Async("asyncExecutor")
     @Async("asyncExecutor")
     public void gameDataTask(String message){
     public void gameDataTask(String message){
 
 
@@ -242,6 +247,8 @@ public class AppGameBettingTask {
             appUser.setDiamondCoinTotal(appUser.getDiamondCoinCashTotal() + (appGameBetting.getBettingAmount() * appGameBetting.getBettingMultiple()));
             appUser.setDiamondCoinTotal(appUser.getDiamondCoinCashTotal() + (appGameBetting.getBettingAmount() * appGameBetting.getBettingMultiple()));
             appUserService.updateAppUser(appUser);
             appUserService.updateAppUser(appUser);
 
 
+            redisCache.deleteObject("U:UserInfo:" + appUser.getUserid());
+
             appGameBetting.setIsWinning(1);
             appGameBetting.setIsWinning(1);
             appGameBettingService.updateById(appGameBetting);
             appGameBettingService.updateById(appGameBetting);
 
 
@@ -293,7 +300,7 @@ public class AppGameBettingTask {
             finTranRecord.setProCount(0L);
             finTranRecord.setProCount(0L);
 
 
             finTranRecord.setOrderId(appGameBetting.getId());
             finTranRecord.setOrderId(appGameBetting.getId());
-
+            finTranRecord.setId(IdUtil.getSnowflakeNextId());
             finTranRecordService.insertFinTranRecord(finTranRecord);
             finTranRecordService.insertFinTranRecord(finTranRecord);
         }
         }
     }
     }

+ 1 - 1
game-business/src/main/resources/mapper/business/AppGameBettingMapper.xml

@@ -11,7 +11,7 @@
         sum(betting_amount) as orderAmount,
         sum(betting_amount) as orderAmount,
         sum(case when is_winning = 1 then (betting_amount * betting_multiple) else 0.00 end) as winAmount,
         sum(case when is_winning = 1 then (betting_amount * betting_multiple) else 0.00 end) as winAmount,
         sum(case when is_winning = 2 then (betting_amount) else 0.00 end) as loseAmount
         sum(case when is_winning = 2 then (betting_amount) else 0.00 end) as loseAmount
-        from app_game_betting  where date_format(create_time, '%Y-%m-%d') = #{strDate}
+        from app_game_betting  where date_format(create_time, '%Y-%m-%d') = #{strDate} and user_id = #{userId}
         group by game_id
         group by game_id
     </select>
     </select>
 </mapper>
 </mapper>