refactor(game): 重构游戏相关接口和数据结构
- 修改游戏 ID 类型从 Long 到 String - 更新游戏创建和验证逻辑 - 调整游戏数据传输对象结构 - 优化游戏列表响应格式main-meitian
parent
fb6138f9a0
commit
bf955ed14b
|
@ -631,7 +631,7 @@ public class GamesAEServiceImpl implements IGamesService {
|
|||
.gameCode(resultBean.getGameCode())
|
||||
.gameType(PlatformType.GAME_HALL.getCode())
|
||||
.platformCode(GamePlatforms.AE.getCode())
|
||||
.gameId(GAME_ID)
|
||||
.gameId(/*GAME_ID*/ StringUtils.addSuffix(GamePlatforms.AE.getCode(), 1))
|
||||
.gameName(resultBean.getGameName())
|
||||
.gameStatus(gameStatus)
|
||||
.gameStatusType(resultBean.getSettleStatus())
|
||||
|
|
|
@ -578,7 +578,8 @@ public class GamesDGServiceImpl implements IGamesService {
|
|||
.gameCode(String.valueOf(resultBean.getGameId()))
|
||||
.gameType(PlatformType.CARD_GAME.getCode())
|
||||
.platformCode(GamePlatforms.DG.getCode())
|
||||
.gameId(GAME_ID)
|
||||
//.gameId(GAME_ID)
|
||||
.gameId(game.getGameId())
|
||||
.gameName(game.getGameName())
|
||||
.gameStatus(gameStatus)
|
||||
.gameStatusType(resultBean.getGameType())
|
||||
|
|
|
@ -37,7 +37,7 @@ public class ApiFCGameListResponseDTO {
|
|||
/**
|
||||
* 系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
/**
|
||||
* 游戏id
|
||||
*/
|
||||
|
|
|
@ -285,7 +285,7 @@ public class GamesFCServiceImpl implements IGamesService {
|
|||
game = games.get(0);
|
||||
|
||||
}
|
||||
gameDetails.setSystemGameId(game.getId());
|
||||
gameDetails.setSystemGameId(game.getGameId());
|
||||
gameDetails.setGameId(gameIdKey);
|
||||
gameDetailsList.add(gameDetails);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ public class JILIGamesDataDTO {
|
|||
/**
|
||||
*自己系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
|
|
|
@ -253,7 +253,7 @@ public class GamesJILIServiceImpl implements IGamesService {
|
|||
} else {
|
||||
game = games.get(0);
|
||||
}
|
||||
gamesDataDTO.setSystemGameId(game.getId());
|
||||
gamesDataDTO.setSystemGameId(game.getGameId());
|
||||
|
||||
|
||||
}
|
||||
|
@ -813,7 +813,7 @@ public class GamesJILIServiceImpl implements IGamesService {
|
|||
.gameCode(jiliBetRecordDataResponseDTO.getGameId())
|
||||
.gameType(JILIGameType.findSystemByCode(jiliBetRecordDataResponseDTO.getGameCategoryId()))
|
||||
.platformCode(GamePlatforms.JILI.getInfo())
|
||||
.gameId(gamesDataDTO.getSystemGameId())
|
||||
.gameId(/*gamesDataDTO.getSystemGameId()*/gamesDataDTO.getSystemGameId())
|
||||
.gameName(gamesDataDTO.getName().getZhCN())
|
||||
.gameStatus(jiliBetRecordDataResponseDTO.getStatus())
|
||||
.gameStatusType(jiliBetRecordDataResponseDTO.getType())
|
||||
|
|
|
@ -91,7 +91,7 @@ public class KMGameResponse {
|
|||
/**
|
||||
* 系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
|
||||
/**
|
||||
* 游戏是否提供试玩
|
||||
|
|
|
@ -302,7 +302,7 @@ public class GamesKMServiceImpl implements IGamesService {
|
|||
} else {
|
||||
game = games.get(0);
|
||||
}
|
||||
gamesDataDTO.setSystemGameId(game.getId());
|
||||
gamesDataDTO.setSystemGameId(game.getGameId());
|
||||
}
|
||||
return gameList.getGames();
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ public class MeiTianGameDataDTO {
|
|||
/**
|
||||
*自己系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
private String gameId;
|
||||
private String cnName;
|
||||
private String enName;
|
||||
|
|
|
@ -248,8 +248,7 @@ public class MeiTianGameServiceImpl implements IGamesService {
|
|||
} else {
|
||||
game = games.get(0);
|
||||
}
|
||||
gamesDataDTO.setSystemGameId(game.getId());
|
||||
|
||||
gamesDataDTO.setSystemGameId(game.getGameId());
|
||||
}
|
||||
|
||||
redisCache.deleteObject(CacheConstants.MeiTian_GAMES);
|
||||
|
@ -827,10 +826,6 @@ public class MeiTianGameServiceImpl implements IGamesService {
|
|||
}
|
||||
}
|
||||
|
||||
public LocalDate getDate(int daysToSubtract) {
|
||||
return LocalDate.now().minusDays(daysToSubtract); // 获取当前日期减去两天
|
||||
}
|
||||
|
||||
public String getDateStr(int daysToSubtract) {
|
||||
// 获取当前日期减去指定天数
|
||||
LocalDate date = LocalDate.now().minusDays(daysToSubtract);
|
||||
|
|
|
@ -711,7 +711,7 @@ public class GamesPGServiceImpl implements IGamesService {
|
|||
.gameCode(gamesDataDTO.getGameCode())
|
||||
.gameType(NGGameType.findSystemByCode(resultBean.getGameType()))
|
||||
.platformCode(NGPlatforms.getByCode(resultBean.getPlatType()).getPlatform())
|
||||
.gameId(gamesDataDTO.getId())
|
||||
.gameId(gamesDataDTO.getGameId())
|
||||
.gameName(gamesDataDTO.getGameName())
|
||||
.gameStatus(gameStatus)
|
||||
.gameStatusType(1)
|
||||
|
|
|
@ -83,7 +83,7 @@ public class PGTGameListResponse {
|
|||
/**
|
||||
* 系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
|
||||
/**
|
||||
* 游戏排名
|
||||
|
|
|
@ -244,7 +244,7 @@ public class GamesPGTServiceImpl implements IGamesService {
|
|||
} else {
|
||||
game = games.get(0);
|
||||
}
|
||||
gameIdKey.setSystemGameId(game.getId());
|
||||
gameIdKey.setSystemGameId(game.getGameId());
|
||||
}
|
||||
|
||||
|
||||
|
@ -647,6 +647,7 @@ public class GamesPGTServiceImpl implements IGamesService {
|
|||
.gameCode(resultBean.getGameCode())
|
||||
.gameType(PGTGameType.findSystemByCode(gamesDataDTO.getCategory()))
|
||||
.platformCode(GamePlatforms.PGT.getCode())
|
||||
//.gameId(gamesDataDTO.getSystemGameId())
|
||||
.gameId(gamesDataDTO.getSystemGameId())
|
||||
.gameName(gamesDataDTO.getName())
|
||||
.gameStatus(PGTPayoutStatus.getByCode(resultBean.getPayoutStatus()).getSystemCode())
|
||||
|
|
|
@ -48,7 +48,7 @@ public class PGXGameListResponse {
|
|||
/**
|
||||
* 系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
|
||||
/** 游戏代码 (字符串类型) */
|
||||
@JsonProperty("gameCode")
|
||||
|
|
|
@ -252,7 +252,7 @@ public class GamesPGXServiceImpl implements IGamesService {
|
|||
} else {
|
||||
game = games.get(0);
|
||||
}
|
||||
gamesDataDTO.setSystemGameId(game.getId());
|
||||
gamesDataDTO.setSystemGameId(game.getGameId());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -612,7 +612,7 @@ public class GamesSAServiceImpl implements IGamesService {
|
|||
.gameCode(resultBean.getGameID())
|
||||
.gameType(PlatformType.CARD_GAME.getCode())
|
||||
.platformCode(GamePlatforms.SA.getInfo())
|
||||
.gameId(GAME_ID)
|
||||
.gameId(/*GAME_ID*/game.getGameId())
|
||||
.gameName(game.getGameName())
|
||||
.gameStatus(gameStatus)
|
||||
.gameStatusType(1)
|
||||
|
|
|
@ -201,7 +201,7 @@ public class SV388GamesServiceImpl implements IGamesService {
|
|||
//不存在这个游戏
|
||||
if (ObjectUtils.isEmpty(gameList)) {
|
||||
Game game = new Game();
|
||||
game.setId(/*IdUtil.getSnowflakeNextId()*/GAME_ID);
|
||||
game.setId(IdUtil.getSnowflakeNextId());
|
||||
game.setSortNo(gameService.selectMaxSortNo(platformType, GamePlatforms.SV388.getCode()) + 1);
|
||||
game.setPlatformCode(platform.getPlatformCode());
|
||||
game.setPlatformType(platformType);
|
||||
|
@ -618,7 +618,7 @@ public class SV388GamesServiceImpl implements IGamesService {
|
|||
.gameCode(resultBean.getGameCode())
|
||||
.gameType(PlatformType.VIDEO.getCode())
|
||||
.platformCode(GamePlatforms.SV388.getCode())
|
||||
.gameId(GAME_ID)
|
||||
.gameId(/*GAME_ID*/GamePlatforms.SV388.getCode() + "_" + 1)
|
||||
.gameName(resultBean.getGameName())
|
||||
.gameStatus(gameStatus)
|
||||
.gameStatusType(resultBean.getSettleStatus())
|
||||
|
|
|
@ -43,7 +43,7 @@ public class XKGamesDTO {
|
|||
/**
|
||||
*自己系统游戏id
|
||||
*/
|
||||
private Long systemGameId;
|
||||
private String systemGameId;
|
||||
/**
|
||||
* jp
|
||||
*/
|
||||
|
|
|
@ -253,7 +253,7 @@ public class GamesXKServiceImpl implements IGamesService {
|
|||
} else {
|
||||
game = games.get(0);
|
||||
}
|
||||
gamesDataDTO.setSystemGameId(game.getId());
|
||||
gamesDataDTO.setSystemGameId(game.getGameId());
|
||||
}
|
||||
|
||||
redisCache.deleteObject(CacheConstants.XK_GAMES);
|
||||
|
|
|
@ -53,7 +53,7 @@ public class GameBettingDetails extends BaseEntity
|
|||
/** 游戏id */
|
||||
@Excel(name = "游戏id")
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long gameId;
|
||||
private String gameId;
|
||||
|
||||
/** 游戏类型 ff_game_type 字典 */
|
||||
@Excel(name = "游戏类型 ff_game_type 字典")
|
||||
|
|
|
@ -5,7 +5,6 @@ import com.ff.sports.db.address.DBSportsAddress;
|
|||
import com.ff.sports.db.dto.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author cengy
|
||||
*/
|
||||
@Address(source = DBSportsAddress.class)
|
||||
|
@ -15,11 +14,14 @@ public interface DBSportsClient {
|
|||
*
|
||||
* @return {@link CreateUserResponse}
|
||||
*/
|
||||
@Post(url = "/api/v2/new/user/create")
|
||||
CreateUserResponse createMember(@JSONBody CreateUserRequest request,
|
||||
@Header("sign") @Var("sign") String sign,
|
||||
@Header("timestamp") @Var("timestamp") long timestamp,
|
||||
@Header("merchantId") @Var("merchantId") String merchantId);
|
||||
@Post(url = "/api/user/create",
|
||||
headers = {
|
||||
"Content-type: application/x-www-form-urlencoded"
|
||||
}
|
||||
)
|
||||
CreateUserResponse createMember(@Body CreateUserRequest request,
|
||||
@Header("requestId") @Var("requestId") String requestId,
|
||||
@Header("lang") @Var("lang") String lang);
|
||||
|
||||
/**
|
||||
* 用户金额转入到FB体育平台,支持两位小数,最小0.01,必须是正数
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
package com.ff.sports.db.dto;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.ff.base.utils.sign.Md5Utils;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author cengy
|
||||
|
@ -16,15 +13,16 @@ public class CreateUserRequest implements Serializable {
|
|||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String merchantUserId;// 渠道用户id,支持40位字符串,必须唯一
|
||||
private List<Integer> currencyIds = null; // 币种id集合 , see enum: currency
|
||||
private Integer oddsLevel = null; // 赔率级别,不传则为默认, see enum: user_odds_level_enum
|
||||
private String userName; // 用户名(可以包含但是不要等同于特殊字符或者空格,长度控制在30个字符以下)
|
||||
private String merchantCode; // 商户code
|
||||
private String timestamp = System.currentTimeMillis() + ""; // 13位时间戳
|
||||
private String currency; // 币种
|
||||
private String nickname; // N 昵称
|
||||
private String agentId; // N 信用网(代理id)
|
||||
private String sign; // 签名 signature =MD5(MD5(userName +”&”+ merchantCode +”&”+ timestamp) + ”&”+ key)
|
||||
|
||||
public String toJSON() {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("currencyIds", currencyIds);
|
||||
map.put("merchantUserId", merchantUserId);
|
||||
map.put("oddsLevel", oddsLevel);
|
||||
return JSON.toJSONString(map);
|
||||
public void calcSign(String key) {
|
||||
String signature = Md5Utils.md5New(Md5Utils.md5New(userName + "&" + merchantCode + "&" + timestamp) + "&" + key);
|
||||
this.sign = signature;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,31 +87,22 @@ public class DBSportsServiceImpl implements IGamesService {
|
|||
/**
|
||||
* 创建成员
|
||||
*
|
||||
* @param createMemberRequestDTO 创建成员请求dto
|
||||
* @param requestDTO 创建成员请求dto
|
||||
* @return {@link Boolean }
|
||||
*/
|
||||
@Override
|
||||
public Boolean createMember(CreateMemberRequestDTO createMemberRequestDTO) {
|
||||
public Boolean createMember(CreateMemberRequestDTO requestDTO) {
|
||||
|
||||
long timestamp = System.currentTimeMillis();
|
||||
CreateUserRequest request = new CreateUserRequest();
|
||||
request.setMerchantUserId(createMemberRequestDTO.getAccount());
|
||||
ArrayList<Integer> currencyIds = new ArrayList<>();
|
||||
currencyIds.add(Integer.parseInt(createMemberRequestDTO.getCurrency()));
|
||||
request.setCurrencyIds(currencyIds);
|
||||
String jsonBody = /*SortByAttributeNameASC.get(request)*/ request.toJSON();
|
||||
String sign = getSign(jsonBody,
|
||||
createMemberRequestDTO.getAgentId(),
|
||||
createMemberRequestDTO.getAgentKey(),
|
||||
timestamp
|
||||
);
|
||||
request.setUserName(requestDTO.getAccount());
|
||||
request.setMerchantCode(requestDTO.getAgentId());
|
||||
request.setCurrency(requestDTO.getCurrency());
|
||||
request.calcSign(requestDTO.getAgentKey());
|
||||
|
||||
CreateUserResponse response = dbSportsClient.createMember(
|
||||
request,
|
||||
sign,
|
||||
timestamp, createMemberRequestDTO.getAgentId());
|
||||
String lang = "zh";
|
||||
String requestId = IdUtils.fastUUID();
|
||||
CreateUserResponse response = dbSportsClient.createMember(request, requestId, lang);
|
||||
if (isSuccess(response.getCode())) {
|
||||
log.info("创建会员成功, account:{}->{}", createMemberRequestDTO.getAccount(), response.getData());
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
|
@ -388,7 +379,7 @@ public class DBSportsServiceImpl implements IGamesService {
|
|||
game.setPlatformType(PlatformType.SPORTS.getCode());
|
||||
game.setGameCode("1");
|
||||
game.setGameSourceType(String.valueOf(1));
|
||||
game.setGameName("DB体育");
|
||||
game.setGameName(GamePlatforms.DBSports.getInfo());
|
||||
game.setCreateBy(Constants.SYSTEM);
|
||||
NameInfo nameInfo = new NameInfo();
|
||||
nameInfo.setLang("zh-CN");
|
||||
|
@ -715,8 +706,8 @@ public class DBSportsServiceImpl implements IGamesService {
|
|||
if (ObjectUtils.isEmpty(member)) {
|
||||
return null;
|
||||
}
|
||||
List<Game> gameList = redisCache.getCacheList(CacheConstants.DB_Sports);
|
||||
Game game = gameList.get(0);
|
||||
//List<Game> gameList = redisCache.getCacheList(CacheConstants.DB_Sports);
|
||||
//Game game = gameList.get(0);
|
||||
BigDecimal originPayoffAmount = new BigDecimal(dataBean.getSettleAmount());
|
||||
BigDecimal betAmount = new BigDecimal(dataBean.getStakeAmount());
|
||||
|
||||
|
@ -731,11 +722,11 @@ public class DBSportsServiceImpl implements IGamesService {
|
|||
//保存我们的币种id
|
||||
.currencyCode(systemCurrency)
|
||||
.memberId(member.getId())
|
||||
.gameCode(game.getGameCode())
|
||||
.gameCode("1")
|
||||
.gameType(PlatformType.SPORTS.getCode()) // 体育
|
||||
.platformCode(GamePlatforms.DBSports.getCode())
|
||||
.gameId(game.getId())
|
||||
.gameName(game.getGameName())
|
||||
.gameId(GamePlatforms.DBSports.getCode() + "_1")
|
||||
.gameName(GamePlatforms.DBSports.getInfo())
|
||||
.gameStatus(compareResult > 0 ? GameStatus.WIN.getCode() : compareResult < 0 ? GameStatus.FAIL.getCode() : GameStatus.FLAT.getCode())
|
||||
.gameStatusType(1) // 一般下注
|
||||
.gameCurrencyCode(dataBean.getCurrency().toString())
|
||||
|
|
|
@ -732,7 +732,7 @@ public class FBSportsServiceImpl implements IGamesService {
|
|||
.gameCode(game.getGameCode())
|
||||
.gameType(8) // 体育
|
||||
.platformCode(GamePlatforms.FBSports.getCode())
|
||||
.gameId(game.getId())
|
||||
.gameId(game.getGameId())
|
||||
.gameName(game.getGameName())
|
||||
.gameStatus(compareResult > 0 ? GameStatus.WIN.getCode() : compareResult < 0 ? GameStatus.FAIL.getCode() : GameStatus.FLAT.getCode())
|
||||
.gameStatusType(1) // 一般下注
|
||||
|
|
Loading…
Reference in New Issue