refactor(game): 重构游戏服务实现类
- 优化 GameServiceImpl 类的代码结构,增加日志记录和依赖注入 - 新增 insertGameBettingDetails 方法处理游戏投注详细信息插入 - 修改 GameTask 类,使用新的游戏服务方法 - 更新 IGameService 接口,添加新的方法定义main-KM
parent
3571c94fd3
commit
5cddf1b783
|
@ -2,6 +2,7 @@ package com.ff.game.service;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import com.dtflys.forest.annotation.Body;
|
||||
import com.ff.api.response.GameResponse;
|
||||
import com.ff.game.api.request.GameUniqueDTO;
|
||||
import com.ff.game.domain.Game;
|
||||
|
@ -95,5 +96,14 @@ public interface IGameService
|
|||
*/
|
||||
List<GameResponse> selectGameResponseList();
|
||||
|
||||
/**
|
||||
* 插入游戏投注详细信息
|
||||
*
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param platformCode 平台代码
|
||||
*/
|
||||
void insertGameBettingDetails(Long startTime,Long endTime,String platformCode);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,14 +2,21 @@ package com.ff.game.service.impl;
|
|||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.ff.api.response.GameResponse;
|
||||
import com.ff.base.constant.ConfigConstants;
|
||||
import com.ff.base.utils.DateUtils;
|
||||
import com.ff.game.api.IGamesService;
|
||||
import com.ff.game.api.request.BetRecordByTimeDTO;
|
||||
import com.ff.game.api.request.GameUniqueDTO;
|
||||
import com.ff.game.api.request.GamesBaseRequestDTO;
|
||||
import com.ff.game.domain.GameSecretKey;
|
||||
import com.ff.game.dto.GameDTO;
|
||||
import com.ff.game.service.IGameSecretKeyService;
|
||||
import com.ff.member.service.IMemberService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ff.game.mapper.GameMapper;
|
||||
|
@ -25,14 +32,21 @@ import javax.annotation.Resource;
|
|||
* @date 2025-02-10
|
||||
*/
|
||||
@Service
|
||||
public class GameServiceImpl implements IGameService
|
||||
{
|
||||
@Slf4j
|
||||
public class GameServiceImpl implements IGameService {
|
||||
@Autowired
|
||||
private GameMapper gameMapper;
|
||||
|
||||
@Resource
|
||||
private IMemberService memberService;
|
||||
|
||||
|
||||
@Resource
|
||||
private IGameSecretKeyService gameSecretKeyService;
|
||||
|
||||
@Autowired
|
||||
private Map<String, IGamesService> gamesService;
|
||||
|
||||
/**
|
||||
* 查询平台子游戏管理
|
||||
*
|
||||
|
@ -40,8 +54,7 @@ public class GameServiceImpl implements IGameService
|
|||
* @return 平台子游戏管理
|
||||
*/
|
||||
@Override
|
||||
public Game selectGameById(Long id)
|
||||
{
|
||||
public Game selectGameById(Long id) {
|
||||
return gameMapper.selectGameById(id);
|
||||
}
|
||||
|
||||
|
@ -52,8 +65,7 @@ public class GameServiceImpl implements IGameService
|
|||
* @return 平台子游戏管理
|
||||
*/
|
||||
@Override
|
||||
public List<Game> selectGameList(Game game)
|
||||
{
|
||||
public List<Game> selectGameList(Game game) {
|
||||
return gameMapper.selectGameList(game);
|
||||
}
|
||||
|
||||
|
@ -75,9 +87,8 @@ public class GameServiceImpl implements IGameService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertGame(Game game)
|
||||
{
|
||||
if (game.getId() == null){
|
||||
public int insertGame(Game game) {
|
||||
if (game.getId() == null) {
|
||||
game.setId(IdUtil.getSnowflakeNextId());
|
||||
}
|
||||
game.setCreateTime(DateUtils.getNowDate());
|
||||
|
@ -91,8 +102,7 @@ public class GameServiceImpl implements IGameService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateGame(Game game)
|
||||
{
|
||||
public int updateGame(Game game) {
|
||||
game.setUpdateTime(DateUtils.getNowDate());
|
||||
return gameMapper.updateGame(game);
|
||||
}
|
||||
|
@ -104,8 +114,7 @@ public class GameServiceImpl implements IGameService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteGameByIds(Long[] ids)
|
||||
{
|
||||
public int deleteGameByIds(Long[] ids) {
|
||||
return gameMapper.deleteGameByIds(ids);
|
||||
}
|
||||
|
||||
|
@ -116,8 +125,7 @@ public class GameServiceImpl implements IGameService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteGameById(Long id)
|
||||
{
|
||||
public int deleteGameById(Long id) {
|
||||
return gameMapper.deleteGameById(id);
|
||||
}
|
||||
|
||||
|
@ -134,7 +142,6 @@ public class GameServiceImpl implements IGameService
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 选择游戏唯一列表
|
||||
*
|
||||
|
@ -156,5 +163,36 @@ public class GameServiceImpl implements IGameService
|
|||
return gameMapper.selectGameResponseList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入游戏投注详细信息
|
||||
*
|
||||
* @param startTime 开始时间
|
||||
* @param endTime 结束时间
|
||||
* @param platformCode 平台代码
|
||||
*/
|
||||
@Override
|
||||
public void insertGameBettingDetails(Long startTime, Long endTime, String platformCode) {
|
||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(platformCode).build());
|
||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||
try {
|
||||
gamesService.get(platformCode).getGameList(GamesBaseRequestDTO.builder()
|
||||
.agentId(gameSecretKey.getCode())
|
||||
.agentKey(gameSecretKey.getKey())
|
||||
.build());
|
||||
BetRecordByTimeDTO betRecordByTimeDTO = new BetRecordByTimeDTO();
|
||||
betRecordByTimeDTO.setGamePlatform(gameSecretKey.getPlatform());
|
||||
betRecordByTimeDTO.setStartTime(startTime);
|
||||
betRecordByTimeDTO.setEndTime(endTime);
|
||||
betRecordByTimeDTO.setPage(1);
|
||||
betRecordByTimeDTO.setPageLimit(1000);
|
||||
betRecordByTimeDTO.setAgentId(gameSecretKey.getCode());
|
||||
betRecordByTimeDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(platformCode).getBetRecordByHistoryTime(betRecordByTimeDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 平台 {} 投注记录失败,错误信息 {}", gameSecretKey.getCode(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -20,10 +20,7 @@ import com.ff.game.domain.GameExchangeMoney;
|
|||
import com.ff.game.domain.GameSecretKey;
|
||||
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||
import com.ff.game.dto.GameSecretKeyDTO;
|
||||
import com.ff.game.service.IGameExchangeMoneyService;
|
||||
import com.ff.game.service.IGamePlatformService;
|
||||
import com.ff.game.service.IGameSecretKeyCurrencyService;
|
||||
import com.ff.game.service.IGameSecretKeyService;
|
||||
import com.ff.game.service.*;
|
||||
import com.ff.member.domain.Member;
|
||||
import com.ff.member.service.IMemberService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -79,6 +76,10 @@ public class GameTask {
|
|||
@Resource
|
||||
private RedisCache redisCache;
|
||||
|
||||
|
||||
@Resource
|
||||
private IGameService gameService;
|
||||
|
||||
/**
|
||||
* 插入游戏投注详细信息
|
||||
*/
|
||||
|
@ -93,7 +94,7 @@ public class GameTask {
|
|||
for (String gameKey : gamesService.keySet()) {
|
||||
String platformCode = gameKey.replace(Constants.SERVICE, "");
|
||||
//特殊的平台跳过
|
||||
if (NGPlatforms.exists(platformCode)|| GamePlatforms.FC.getInfo().equals(platformCode)) {
|
||||
if (NGPlatforms.exists(platformCode) || GamePlatforms.FC.getInfo().equals(platformCode)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -168,48 +169,61 @@ public class GameTask {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 插入历史游戏投注详细信息 部分平台使用
|
||||
* 插入FC游戏投注详细信息
|
||||
*
|
||||
* @param backTime 返回时间
|
||||
*/
|
||||
public void insertHistoryGameBettingDetails(Integer backTime) {
|
||||
|
||||
public void insertFCHistoryGameBettingDetails(Integer backTime) {
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
||||
Long endTime = DateUtils.getNowDate();
|
||||
//捞取指定分钟前的数据
|
||||
gameService.insertGameBettingDetails(startTime, endTime, GamePlatforms.FC.getInfo());
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 插入AE游戏投注详细信息
|
||||
*
|
||||
* @param backTime 返回时间
|
||||
*/
|
||||
public void insertAEHistoryGameBettingDetails(Integer backTime) {
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
||||
Long endTime = DateUtils.getNowDate();
|
||||
//捞取指定分钟前的数据
|
||||
gameService.insertGameBettingDetails(startTime, endTime, GamePlatforms.AE.getInfo());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入PGX游戏投注详细信息
|
||||
*
|
||||
* @param backTime 返回时间
|
||||
*/
|
||||
public void insertPGXHistoryGameBettingDetails(Integer backTime) {
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
||||
Long endTime = DateUtils.getNowDate();
|
||||
//捞取指定分钟前的数据
|
||||
gameService.insertGameBettingDetails(startTime, endTime, GamePlatforms.PGX.getInfo());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 插入MT游戏投注详细信息
|
||||
*
|
||||
* @param backTime 返回时间
|
||||
*/
|
||||
public void insertMTHistoryGameBettingDetails(Integer backTime) {
|
||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
||||
Long endTime = DateUtils.getNowDate();
|
||||
|
||||
|
||||
for (String gameKey : gamesService.keySet()) {
|
||||
String platformCode = gameKey.replace(Constants.SERVICE, "");
|
||||
|
||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(platformCode).build());
|
||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||
try {
|
||||
gamesService.get(gameKey).getGameList(GamesBaseRequestDTO.builder()
|
||||
.agentId(gameSecretKey.getCode())
|
||||
.agentKey(gameSecretKey.getKey())
|
||||
.build());
|
||||
BetRecordByTimeDTO betRecordByTimeDTO = new BetRecordByTimeDTO();
|
||||
betRecordByTimeDTO.setGamePlatform(gameSecretKey.getPlatform());
|
||||
betRecordByTimeDTO.setStartTime(startTime);
|
||||
betRecordByTimeDTO.setEndTime(endTime);
|
||||
betRecordByTimeDTO.setPage(1);
|
||||
betRecordByTimeDTO.setPageLimit(1000);
|
||||
betRecordByTimeDTO.setAgentId(gameSecretKey.getCode());
|
||||
betRecordByTimeDTO.setAgentKey(gameSecretKey.getKey());
|
||||
gamesService.get(gameKey).getBetRecordByHistoryTime(betRecordByTimeDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("查询 平台 {} 投注记录失败,错误信息 {}", gameSecretKey.getCode(), e);
|
||||
}
|
||||
}
|
||||
//捞取指定分钟前的数据
|
||||
gameService.insertGameBettingDetails(startTime, endTime, GamePlatforms.MeiTian.getCode());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 插入游戏ngbetting详细信息
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue