feat(game): 增加游戏投注记录详细信息
- 在 GameBettingDetails 模型中添加新字段:round, table, seat, betContent - 更新相关 mapper 和 SQL 文件以支持新字段- 添加 GameDTO 类用于游戏数据传输 - 更新 ApiGameController 和 ApiMemberController 中的相关方法 - 优化部分代码结构,使用 SuperBuilder 等特性main-p
parent
bd1c3d9d9e
commit
47235ed870
|
|
@ -56,19 +56,9 @@ public class CacheConstants
|
||||||
* pg游戏
|
* pg游戏
|
||||||
*/
|
*/
|
||||||
public static final String PG_GAMES= "pg_games:";
|
public static final String PG_GAMES= "pg_games:";
|
||||||
/**
|
|
||||||
* 通知窗口
|
|
||||||
*/
|
|
||||||
public static final String NOTICE_WINDOW= "notice:window:";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理关系
|
* pg游戏投注货币
|
||||||
*/
|
*/
|
||||||
public static final String AGENT_RELATION_KEY = "agentRelation:";
|
public static final String PG_GAMES_BET_CURRENCY= "pg_games:bet:currency";
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 个性化配置预览
|
|
||||||
*/
|
|
||||||
public static final String LAYOUT_PREVIEW = "layout:preview:";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,11 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -16,6 +20,9 @@ import java.util.Map;
|
||||||
* @author ff
|
* @author ff
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class BaseEntity implements Serializable
|
public class BaseEntity implements Serializable
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ public enum ErrorCode {
|
||||||
CURRENCY_EXCHANGE(1006, "不支持币种的汇率"),
|
CURRENCY_EXCHANGE(1006, "不支持币种的汇率"),
|
||||||
FREQUENT_INTERFACE_REQUESTS (1007, "接口请求频繁"),
|
FREQUENT_INTERFACE_REQUESTS (1007, "接口请求频繁"),
|
||||||
BALANCE_TRANSFER_FAILED (1008, "余额转移失败"),
|
BALANCE_TRANSFER_FAILED (1008, "余额转移失败"),
|
||||||
|
LANG_NOT_EXIST(1009, "游戏平台不支持的语言"),
|
||||||
;
|
;
|
||||||
|
|
||||||
// 获取错误码
|
// 获取错误码
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,11 @@ package com.ff.base.enums;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ng平台 支持游戏
|
* ng平台 支持游戏
|
||||||
|
|
@ -25,8 +29,46 @@ public enum NGPlatforms {
|
||||||
this.platform = platform;
|
this.platform = platform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过代码获取
|
||||||
|
*
|
||||||
|
* @param code 代码
|
||||||
|
* @return {@link NGPlatforms }
|
||||||
|
*/
|
||||||
|
public static NGPlatforms getByCode(String code) {
|
||||||
|
for (NGPlatforms platform : NGPlatforms.values()) {
|
||||||
|
if (platform.code.equalsIgnoreCase(code)) {
|
||||||
|
return platform;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断某个平台是否存在
|
||||||
|
* @param platformName 平台名称
|
||||||
|
* @return 存在返回 true,否则返回 false
|
||||||
|
*/
|
||||||
|
public static Boolean exists(String platformName) {
|
||||||
|
for (NGPlatforms platform : NGPlatforms.values()) {
|
||||||
|
if (platform.platform.equalsIgnoreCase(platformName)) {
|
||||||
|
return Boolean.TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Boolean.FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有平台名称的列表
|
||||||
|
* @return List<String> 包含所有平台名称
|
||||||
|
*/
|
||||||
|
public static List<String> getAllPlatforms() {
|
||||||
|
return Arrays.stream(NGPlatforms.values())
|
||||||
|
.map(NGPlatforms::getPlatform)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.ff.base.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未知
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/13
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum NGSettlementStatusEnum {
|
||||||
|
UNFINISHED(1, 0, "未结算"),
|
||||||
|
COMPLETED(2, 1, "已完成"),
|
||||||
|
CANCELED(3, 2, "已取消"),
|
||||||
|
REVOKED(4, 3, "已撤单");
|
||||||
|
|
||||||
|
private final int code;
|
||||||
|
private final int status;
|
||||||
|
private final String description;
|
||||||
|
public static NGSettlementStatusEnum fromStatus(int status) {
|
||||||
|
return Arrays.stream(values())
|
||||||
|
.filter(e -> e.status == status)
|
||||||
|
.findFirst().get();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.ff.base.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结算状态枚举
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/13
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
public enum SettlementStatusEnum {
|
||||||
|
UNFINISHED(1, "未结算"),
|
||||||
|
COMPLETED(2, "已完成"),
|
||||||
|
CANCELED(3, "已取消"),
|
||||||
|
REVOKED(4, "已撤单");
|
||||||
|
|
||||||
|
private final int code;
|
||||||
|
private final String description;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理对象 ff_tenant_agent
|
* 代理对象 ff_tenant_agent
|
||||||
|
|
@ -18,7 +19,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgent extends BaseEntity
|
public class TenantAgent extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户成本管理对象 ff_tenant_platform
|
* 租户成本管理对象 ff_tenant_platform
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantPlatform extends BaseEntity
|
public class TenantPlatform extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户租户密钥对象 ff_tenant_secret_key
|
* 用户租户密钥对象 ff_tenant_secret_key
|
||||||
|
|
@ -21,7 +22,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantSecretKey extends BaseEntity
|
public class TenantSecretKey extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户白名单对象 ff_tenant_white
|
* 租户白名单对象 ff_tenant_white
|
||||||
|
|
@ -18,7 +19,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantWhite extends BaseEntity
|
public class TenantWhite extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -22,7 +23,7 @@ import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class CreateTenantDTO implements Serializable {
|
public class CreateTenantDTO implements Serializable {
|
||||||
private final static long serialVersionUID = 1L;
|
private final static long serialVersionUID = 1L;
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.ff.base.annotation.Excel;
|
import com.ff.base.annotation.Excel;
|
||||||
import com.ff.base.core.domain.BaseEntity;
|
import com.ff.base.core.domain.BaseEntity;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理佣金管理 对象 ff_tenant_agent_commission
|
* 代理佣金管理 对象 ff_tenant_agent_commission
|
||||||
|
|
@ -17,7 +18,7 @@ import lombok.*;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgentCommission extends BaseEntity
|
public class TenantAgentCommission extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理邀请链接对象 ff_tenant_agent_invite
|
* 代理邀请链接对象 ff_tenant_agent_invite
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgentInvite extends BaseEntity
|
public class TenantAgentInvite extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 平台邀请注册成本管理对象 ff_tenant_agent_invite_platform
|
* 平台邀请注册成本管理对象 ff_tenant_agent_invite_platform
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgentInvitePlatform extends BaseEntity
|
public class TenantAgentInvitePlatform extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理邀请注册对象 ff_tenant_agent_invite_register
|
* 代理邀请注册对象 ff_tenant_agent_invite_register
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgentInviteRegister extends BaseEntity
|
public class TenantAgentInviteRegister extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 代理申请提现审批管理对象 ff_tenant_agent_withdrawal
|
* 代理申请提现审批管理对象 ff_tenant_agent_withdrawal
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgentWithdrawal extends BaseEntity
|
public class TenantAgentWithdrawal extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
@ -21,7 +22,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class AgentTenantSecretKeyDTO extends BaseEntity
|
public class AgentTenantSecretKeyDTO extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ import com.ff.config.KeyConfig;
|
||||||
import com.ff.game.api.IGamesService;
|
import com.ff.game.api.IGamesService;
|
||||||
import com.ff.game.api.request.*;
|
import com.ff.game.api.request.*;
|
||||||
import com.ff.game.domain.*;
|
import com.ff.game.domain.*;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.dto.GameSecretKeyLangDTO;
|
||||||
import com.ff.game.service.*;
|
import com.ff.game.service.*;
|
||||||
import com.ff.member.domain.Member;
|
import com.ff.member.domain.Member;
|
||||||
import com.ff.member.service.IMemberService;
|
import com.ff.member.service.IMemberService;
|
||||||
|
|
@ -94,6 +96,13 @@ public class ApiGameController extends BaseController {
|
||||||
@Resource
|
@Resource
|
||||||
private IGameExchangeMoneyService gameExchangeMoneyService;
|
private IGameExchangeMoneyService gameExchangeMoneyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyLangService gameSecretKeyLangService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@Qualifier("threadPoolTaskExecutor")
|
@Qualifier("threadPoolTaskExecutor")
|
||||||
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||||
|
|
@ -108,10 +117,9 @@ public class ApiGameController extends BaseController {
|
||||||
public AjaxResult list() {
|
public AjaxResult list() {
|
||||||
List<GameResponse> gameResponses = gameService.selectGameResponseList();
|
List<GameResponse> gameResponses = gameService.selectGameResponseList();
|
||||||
for (GameResponse gameRespons : gameResponses) {
|
for (GameResponse gameRespons : gameResponses) {
|
||||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder()
|
|
||||||
.platform(gameRespons.getPlatformCode())
|
List<GameSecretKeyCurrency> gameSecretKeyCurrencies = gameSecretKeyCurrencyService.selectGameSecretKeyCurrencyList(GameSecretKeyCurrencyDTO.builder().platformCode(gameRespons.getPlatformCode()).build());
|
||||||
.build());
|
List<String> currencyCode = gameSecretKeyCurrencies.stream().map(GameSecretKeyCurrency::getSystemCurrency).collect(Collectors.toList());
|
||||||
List<String> currencyCode = gameSecretKeys.stream().map(GameSecretKey::getSystemCurrency).collect(Collectors.toList());
|
|
||||||
gameRespons.setCurrencyCode(currencyCode);
|
gameRespons.setCurrencyCode(currencyCode);
|
||||||
}
|
}
|
||||||
return AjaxResult.success(gameResponses);
|
return AjaxResult.success(gameResponses);
|
||||||
|
|
@ -138,26 +146,32 @@ public class ApiGameController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
TenantSecretKey tenantSecretKey = keyConfig.get();
|
TenantSecretKey tenantSecretKey = keyConfig.get();
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gamePlatform.getPlatformCode(), memberCreateApiRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO secretKeyCurrencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
.platformCode(gamePlatform.getPlatformCode())
|
||||||
|
.systemCurrency(memberCreateApiRequest.getCurrencyCode()).build());
|
||||||
|
ApiException.notNull(secretKeyCurrencyDTO, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
|
GameSecretKeyLangDTO gameSecretKeyLangDTO = gameSecretKeyLangService.findGameSecretKeyLangDTO(GameSecretKeyLangDTO.builder()
|
||||||
|
.platformCode(gamePlatform.getPlatformCode())
|
||||||
|
.systemLangCode(memberCreateApiRequest.getLangCode())
|
||||||
|
.build());
|
||||||
|
ApiException.notNull(gameSecretKeyLangDTO, ErrorCode.LANG_NOT_EXIST.getCode());
|
||||||
|
|
||||||
GameSecretKey gameSecretKeyLang = gameSecretKeyService.findByPlatformAndSystemLangCode(gamePlatform.getPlatformCode(), memberCreateApiRequest.getLangCode());
|
|
||||||
Assert.notNull(gameSecretKeyLang, "当前语言不存在");
|
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(StringUtils.addSuffix(memberCreateApiRequest.getAccount(), memberCreateApiRequest.getCurrencyCode() + tenantSecretKey.getTenantSn()));
|
Member member = memberService.selectMemberByGameAccount(StringUtils.addSuffix(memberCreateApiRequest.getAccount(), memberCreateApiRequest.getCurrencyCode() + tenantSecretKey.getTenantSn()));
|
||||||
ApiException.notNull(member, ErrorCode.ACCOUNT_NOT_EXIST.getCode());
|
ApiException.notNull(member, ErrorCode.ACCOUNT_NOT_EXIST.getCode());
|
||||||
|
|
||||||
GamesLogin gamesLogin = GamesLogin.builder()
|
GamesLogin gamesLogin = GamesLogin.builder()
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(secretKeyCurrencyDTO.getCode())
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(secretKeyCurrencyDTO.getKey())
|
||||||
.account(member.getGameAccount())
|
.account(member.getGameAccount())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
|
||||||
.gameType(game.getGameSourceType())
|
.gameType(game.getGameSourceType())
|
||||||
|
.currency(secretKeyCurrencyDTO.getCurrency())
|
||||||
.gameId(game.getGameCode())
|
.gameId(game.getGameCode())
|
||||||
.homeUrl(memberCreateApiRequest.getHomeUrl())
|
.homeUrl(memberCreateApiRequest.getHomeUrl())
|
||||||
.platform(memberCreateApiRequest.getPlatform())
|
.platform(memberCreateApiRequest.getPlatform())
|
||||||
.disableFullScreen(memberCreateApiRequest.getDisableFullScreen())
|
.disableFullScreen(memberCreateApiRequest.getDisableFullScreen())
|
||||||
.lang(gameSecretKeyLang.getLang())
|
.lang(gameSecretKeyLangDTO.getLang())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
String login = iGamesService.loginWithoutRedirect(gamesLogin);
|
String login = iGamesService.loginWithoutRedirect(gamesLogin);
|
||||||
|
|
@ -182,7 +196,10 @@ public class ApiGameController extends BaseController {
|
||||||
|
|
||||||
TenantSecretKey tenantSecretKey = keyConfig.get();
|
TenantSecretKey tenantSecretKey = keyConfig.get();
|
||||||
|
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameExchangeBalanceRequest.getPlatformCode(), gameExchangeBalanceRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameExchangeBalanceRequest.getPlatformCode())
|
||||||
|
.systemCurrency(gameExchangeBalanceRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
BigDecimal quota = tenantGameQuotaService.gameBalanceExchange(GameBalanceExchange.builder()
|
BigDecimal quota = tenantGameQuotaService.gameBalanceExchange(GameBalanceExchange.builder()
|
||||||
|
|
@ -205,7 +222,7 @@ public class ApiGameController extends BaseController {
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(gameSecretKey.getKey())
|
||||||
.orderId(gameExchangeBalanceRequest.getOrderId())
|
.orderId(gameExchangeBalanceRequest.getOrderId())
|
||||||
.account(member.getGameAccount())
|
.account(member.getGameAccount())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
.currency(gameSecretKey.getCurrency())
|
||||||
.tenantKey(tenantSecretKey.getTenantKey())
|
.tenantKey(tenantSecretKey.getTenantKey())
|
||||||
.quota(quota)
|
.quota(quota)
|
||||||
.amount(gameExchangeBalanceRequest.getAmount())
|
.amount(gameExchangeBalanceRequest.getAmount())
|
||||||
|
|
@ -234,7 +251,9 @@ public class ApiGameController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
TenantSecretKey tenantSecretKey = keyConfig.get();
|
TenantSecretKey tenantSecretKey = keyConfig.get();
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameCreateFreeSpinRequest.getPlatformCode(), gameCreateFreeSpinRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameCreateFreeSpinRequest.getPlatformCode())
|
||||||
|
.systemCurrency(gameCreateFreeSpinRequest.getCurrencyCode()).build());
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(StringUtils.addSuffix(gameCreateFreeSpinRequest.getAccount(), gameCreateFreeSpinRequest.getCurrencyCode() + tenantSecretKey.getTenantSn()));
|
Member member = memberService.selectMemberByGameAccount(StringUtils.addSuffix(gameCreateFreeSpinRequest.getAccount(), gameCreateFreeSpinRequest.getCurrencyCode() + tenantSecretKey.getTenantSn()));
|
||||||
|
|
@ -303,15 +322,26 @@ public class ApiGameController extends BaseController {
|
||||||
public AjaxResult getDetail(@Validated @RequestBody GameGetDetailRequest gameGetDetailRequest) {
|
public AjaxResult getDetail(@Validated @RequestBody GameGetDetailRequest gameGetDetailRequest) {
|
||||||
|
|
||||||
|
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameGetDetailRequest.getPlatformCode(), gameGetDetailRequest.getCurrencyCode());
|
|
||||||
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameGetDetailRequest.getPlatformCode())
|
||||||
|
.systemCurrency(gameGetDetailRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
|
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
|
|
||||||
IGamesService iGamesService = gamesService.get(gameGetDetailRequest.getPlatformCode() + Constants.SERVICE);
|
IGamesService iGamesService = gamesService.get(gameGetDetailRequest.getPlatformCode() + Constants.SERVICE);
|
||||||
ApiException.notNull(iGamesService, ErrorCode.PLATFORM_NOT_EXIST.getCode());
|
ApiException.notNull(iGamesService, ErrorCode.PLATFORM_NOT_EXIST.getCode());
|
||||||
|
|
||||||
GameSecretKey gameSecretKeyLang = gameSecretKeyService.findByPlatformAndSystemLangCode(gameGetDetailRequest.getPlatformCode(), gameGetDetailRequest.getLangCode());
|
|
||||||
Assert.notNull(gameSecretKeyLang, "当前语言不存在");
|
|
||||||
|
GameSecretKeyLangDTO gameSecretKeyLang = gameSecretKeyLangService.findGameSecretKeyLangDTO(GameSecretKeyLangDTO.builder()
|
||||||
|
.platformCode(gameGetDetailRequest.getPlatformCode())
|
||||||
|
.systemLangCode(gameGetDetailRequest.getLangCode())
|
||||||
|
.build());
|
||||||
|
ApiException.notNull(gameSecretKeyLang, ErrorCode.LANG_NOT_EXIST.getCode());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GetGameDetailResponseDTO gameDetail = iGamesService.getGameDetail(GetGameDetailRequestDTO.builder()
|
GetGameDetailResponseDTO gameDetail = iGamesService.getGameDetail(GetGameDetailRequestDTO.builder()
|
||||||
|
|
@ -331,7 +361,9 @@ public class ApiGameController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@PostMapping("/kick/member")
|
@PostMapping("/kick/member")
|
||||||
public AjaxResult kickMember(@Validated @RequestBody GameKickMemeberRequest gameKickMemeberRequest) {
|
public AjaxResult kickMember(@Validated @RequestBody GameKickMemeberRequest gameKickMemeberRequest) {
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameKickMemeberRequest.getPlatformCode(), gameKickMemeberRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameKickMemeberRequest.getPlatformCode())
|
||||||
|
.systemCurrency(gameKickMemeberRequest.getCurrencyCode()).build());
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
TenantSecretKey tenantSecretKey = keyConfig.get();
|
TenantSecretKey tenantSecretKey = keyConfig.get();
|
||||||
|
|
@ -351,7 +383,10 @@ public class ApiGameController extends BaseController {
|
||||||
|
|
||||||
@PostMapping("/kick/member/all")
|
@PostMapping("/kick/member/all")
|
||||||
public AjaxResult kickMemberAll(@Validated @RequestBody GameKickMemeberAllRequest gameKickMemeberAllRequest) {
|
public AjaxResult kickMemberAll(@Validated @RequestBody GameKickMemeberAllRequest gameKickMemeberAllRequest) {
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameKickMemeberAllRequest.getPlatformCode(), gameKickMemeberAllRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameKickMemeberAllRequest.getPlatformCode())
|
||||||
|
.systemCurrency(gameKickMemeberAllRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
IGamesService iGamesService = gamesService.get(gameKickMemeberAllRequest.getPlatformCode() + Constants.SERVICE);
|
IGamesService iGamesService = gamesService.get(gameKickMemeberAllRequest.getPlatformCode() + Constants.SERVICE);
|
||||||
|
|
@ -413,7 +448,9 @@ public class ApiGameController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@PostMapping("/cancel/free/spin")
|
@PostMapping("/cancel/free/spin")
|
||||||
public AjaxResult cancelFreeSpin(@Validated @RequestBody GameCancelFreeSpinRequest gameGetFreeSpinDashflowRequest) {
|
public AjaxResult cancelFreeSpin(@Validated @RequestBody GameCancelFreeSpinRequest gameGetFreeSpinDashflowRequest) {
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameGetFreeSpinDashflowRequest.getPlatformCode(), gameGetFreeSpinDashflowRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameGetFreeSpinDashflowRequest.getPlatformCode())
|
||||||
|
.systemCurrency(gameGetFreeSpinDashflowRequest.getCurrencyCode()).build());
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
IGamesService iGamesService = gamesService.get(gameGetFreeSpinDashflowRequest.getPlatformCode() + Constants.SERVICE);
|
IGamesService iGamesService = gamesService.get(gameGetFreeSpinDashflowRequest.getPlatformCode() + Constants.SERVICE);
|
||||||
|
|
@ -441,7 +478,8 @@ public class ApiGameController extends BaseController {
|
||||||
ApiException.notNull(member, ErrorCode.ACCOUNT_NOT_EXIST.getCode());
|
ApiException.notNull(member, ErrorCode.ACCOUNT_NOT_EXIST.getCode());
|
||||||
|
|
||||||
|
|
||||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().systemCurrency(gameExchangeBalanceAllRequest.getCurrencyCode()).build());
|
List<GameSecretKeyCurrencyDTO> gameSecretKeys = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTOList(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.systemCurrency(gameExchangeBalanceAllRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
|
|
||||||
// 创建线程池
|
// 创建线程池
|
||||||
|
|
@ -452,18 +490,18 @@ public class ApiGameController extends BaseController {
|
||||||
List<Future<Long>> futures = new ArrayList<>();
|
List<Future<Long>> futures = new ArrayList<>();
|
||||||
|
|
||||||
// 提交异步任务到线程池
|
// 提交异步任务到线程池
|
||||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
for (GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO : gameSecretKeys) {
|
||||||
futures.add(threadPoolTaskExecutor.submit(() -> {
|
futures.add(threadPoolTaskExecutor.submit(() -> {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
IGamesService iGamesService = gamesService.get(gameSecretKey.getPlatform() + Constants.SERVICE);
|
IGamesService iGamesService = gamesService.get(gameSecretKeyCurrencyDTO.getPlatformCode() + Constants.SERVICE);
|
||||||
//操作第三方钱包
|
//操作第三方钱包
|
||||||
ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO = ExchangeTransferMoneyRequestDTO.builder()
|
ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO = ExchangeTransferMoneyRequestDTO.builder()
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(gameSecretKeyCurrencyDTO.getCode())
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(gameSecretKeyCurrencyDTO.getKey())
|
||||||
.orderId(gameExchangeBalanceAllRequest.getOrderId())
|
.orderId(gameExchangeBalanceAllRequest.getOrderId())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
|
||||||
.amount(BigDecimal.ONE)
|
.amount(BigDecimal.ONE)
|
||||||
|
.currency(gameSecretKeyCurrencyDTO.getCurrency())
|
||||||
.tenantKey(tenantSecretKey.getTenantKey())
|
.tenantKey(tenantSecretKey.getTenantKey())
|
||||||
.account(member.getGameAccount())
|
.account(member.getGameAccount())
|
||||||
.transferType(TransferType.ALL.getCode())
|
.transferType(TransferType.ALL.getCode())
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ import com.ff.config.KeyConfig;
|
||||||
import com.ff.game.api.IGamesService;
|
import com.ff.game.api.IGamesService;
|
||||||
import com.ff.game.api.request.*;
|
import com.ff.game.api.request.*;
|
||||||
import com.ff.game.domain.GameSecretKey;
|
import com.ff.game.domain.GameSecretKey;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.service.IGameSecretKeyCurrencyService;
|
||||||
import com.ff.game.service.IGameSecretKeyService;
|
import com.ff.game.service.IGameSecretKeyService;
|
||||||
import com.ff.game.service.IGameService;
|
import com.ff.game.service.IGameService;
|
||||||
import com.ff.member.domain.Member;
|
import com.ff.member.domain.Member;
|
||||||
|
|
@ -78,6 +80,9 @@ public class ApiMemberController extends BaseController {
|
||||||
@Qualifier("threadPoolTaskExecutor")
|
@Qualifier("threadPoolTaskExecutor")
|
||||||
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建成员
|
* 创建成员
|
||||||
*
|
*
|
||||||
|
|
@ -92,7 +97,10 @@ public class ApiMemberController extends BaseController {
|
||||||
ApiException.notNull(iGamesService, ErrorCode.PLATFORM_NOT_EXIST.getCode());
|
ApiException.notNull(iGamesService, ErrorCode.PLATFORM_NOT_EXIST.getCode());
|
||||||
|
|
||||||
TenantSecretKey tenantSecretKey = keyConfig.get();
|
TenantSecretKey tenantSecretKey = keyConfig.get();
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(memberCreateApiRequest.getPlatformCode(), memberCreateApiRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(memberCreateApiRequest.getPlatformCode())
|
||||||
|
.systemCurrency(memberCreateApiRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
String gameAccount = StringUtils.addSuffix(memberCreateApiRequest.getAccount(), memberCreateApiRequest.getCurrencyCode() + tenantSecretKey.getTenantSn());
|
String gameAccount = StringUtils.addSuffix(memberCreateApiRequest.getAccount(), memberCreateApiRequest.getCurrencyCode() + tenantSecretKey.getTenantSn());
|
||||||
|
|
@ -110,14 +118,14 @@ public class ApiMemberController extends BaseController {
|
||||||
.currencyCode(memberCreateApiRequest.getCurrencyCode())
|
.currencyCode(memberCreateApiRequest.getCurrencyCode())
|
||||||
.build();
|
.build();
|
||||||
int insertMember = memberService.insertMember(member);
|
int insertMember = memberService.insertMember(member);
|
||||||
Assert.isTrue(insertMember>0, "建立游戏账号失败");
|
Assert.isTrue(insertMember > 0, "建立游戏账号失败");
|
||||||
}
|
}
|
||||||
//向第三方注册账号
|
//向第三方注册账号
|
||||||
CreateMemberRequestDTO gamesBaseRequestDTO = CreateMemberRequestDTO.builder()
|
CreateMemberRequestDTO gamesBaseRequestDTO = CreateMemberRequestDTO.builder()
|
||||||
.account(gameAccount)
|
.account(gameAccount)
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(gameSecretKey.getCode())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(gameSecretKey.getKey())
|
||||||
|
.currency(gameSecretKey.getCurrency())
|
||||||
.build();
|
.build();
|
||||||
Boolean result = iGamesService.createMember(gamesBaseRequestDTO);
|
Boolean result = iGamesService.createMember(gamesBaseRequestDTO);
|
||||||
Assert.isTrue(result, "建立游戏账号失败");
|
Assert.isTrue(result, "建立游戏账号失败");
|
||||||
|
|
@ -139,7 +147,10 @@ public class ApiMemberController extends BaseController {
|
||||||
|
|
||||||
|
|
||||||
TenantSecretKey tenantSecretKey = keyConfig.get();
|
TenantSecretKey tenantSecretKey = keyConfig.get();
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(memberInfoApiRequest.getPlatformCode(), memberInfoApiRequest.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(memberInfoApiRequest.getPlatformCode())
|
||||||
|
.systemCurrency(memberInfoApiRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(StringUtils.addSuffix(memberInfoApiRequest.getAccount(), memberInfoApiRequest.getCurrencyCode() + tenantSecretKey.getTenantSn()));
|
Member member = memberService.selectMemberByGameAccount(StringUtils.addSuffix(memberInfoApiRequest.getAccount(), memberInfoApiRequest.getCurrencyCode() + tenantSecretKey.getTenantSn()));
|
||||||
|
|
@ -149,7 +160,7 @@ public class ApiMemberController extends BaseController {
|
||||||
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
||||||
.accounts(member.getGameAccount())
|
.accounts(member.getGameAccount())
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(gameSecretKey.getCode())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
.currency(gameSecretKey.getCurrency())
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(gameSecretKey.getKey())
|
||||||
.build();
|
.build();
|
||||||
MemberInfoResponseDTO memberInfo = iGamesService.getMemberInfo(gamesBaseRequestDTO);
|
MemberInfoResponseDTO memberInfo = iGamesService.getMemberInfo(gamesBaseRequestDTO);
|
||||||
|
|
@ -173,8 +184,8 @@ public class ApiMemberController extends BaseController {
|
||||||
ApiException.notNull(member, ErrorCode.ACCOUNT_NOT_EXIST.getCode());
|
ApiException.notNull(member, ErrorCode.ACCOUNT_NOT_EXIST.getCode());
|
||||||
|
|
||||||
|
|
||||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().systemCurrency(memberInfoAllApiRequest.getCurrencyCode()).build());
|
List<GameSecretKeyCurrencyDTO> gameSecretKeys = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTOList(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.systemCurrency(memberInfoAllApiRequest.getCurrencyCode()).build());
|
||||||
|
|
||||||
// 创建线程池
|
// 创建线程池
|
||||||
Map<String, BigDecimal> balanceMap = new LinkedHashMap<>();
|
Map<String, BigDecimal> balanceMap = new LinkedHashMap<>();
|
||||||
|
|
@ -184,14 +195,14 @@ public class ApiMemberController extends BaseController {
|
||||||
List<Future<MemberInfoAllResponse>> futures = new ArrayList<>();
|
List<Future<MemberInfoAllResponse>> futures = new ArrayList<>();
|
||||||
|
|
||||||
// 提交异步任务到线程池
|
// 提交异步任务到线程池
|
||||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
for (GameSecretKeyCurrencyDTO gameSecretKey : gameSecretKeys) {
|
||||||
futures.add(threadPoolTaskExecutor.submit(() -> {
|
futures.add(threadPoolTaskExecutor.submit(() -> {
|
||||||
try {
|
try {
|
||||||
IGamesService iGamesService = gamesService.get(gameSecretKey.getPlatform() + Constants.SERVICE);
|
IGamesService iGamesService = gamesService.get(gameSecretKey.getPlatformCode() + Constants.SERVICE);
|
||||||
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
||||||
.accounts(member.getGameAccount())
|
.accounts(member.getGameAccount())
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(gameSecretKey.getCode())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
.currency(gameSecretKey.getCurrency())
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(gameSecretKey.getKey())
|
||||||
.build();
|
.build();
|
||||||
//查询余额
|
//查询余额
|
||||||
|
|
@ -200,7 +211,7 @@ public class ApiMemberController extends BaseController {
|
||||||
.account(member.getGameAccount())
|
.account(member.getGameAccount())
|
||||||
.balance(memberInfo.getBalance())
|
.balance(memberInfo.getBalance())
|
||||||
.status(memberInfo.getStatus())
|
.status(memberInfo.getStatus())
|
||||||
.platformCode(gameSecretKey.getPlatform())
|
.platformCode(gameSecretKey.getPlatformCode())
|
||||||
.build();
|
.build();
|
||||||
} finally {
|
} finally {
|
||||||
latch.countDown(); // 任务完成后减少计数
|
latch.countDown(); // 任务完成后减少计数
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -19,7 +20,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GameBettingDetailsResponse implements Serializable
|
public class GameBettingDetailsResponse implements Serializable
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = -988976119749917266L;
|
private static final long serialVersionUID = -988976119749917266L;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -19,7 +20,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GameExchangeBalanceResponse implements Serializable
|
public class GameExchangeBalanceResponse implements Serializable
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
@ -17,7 +18,7 @@ import java.io.Serializable;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class GameFreeRecordResponse implements Serializable
|
public class GameFreeRecordResponse implements Serializable
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -18,7 +19,7 @@ import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GameResponse implements Serializable {
|
public class GameResponse implements Serializable {
|
||||||
private static final long serialVersionUID = 7932597077733961820L;
|
private static final long serialVersionUID = 7932597077733961820L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -17,7 +18,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class MemberInfoAllResponse implements Serializable
|
public class MemberInfoAllResponse implements Serializable
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -17,7 +18,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class MemberInfoResponse implements Serializable
|
public class MemberInfoResponse implements Serializable
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 平台利润成本管理对象 ff_tenant_agent_platform
|
* 平台利润成本管理对象 ff_tenant_agent_platform
|
||||||
|
|
@ -17,7 +18,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantAgentPlatform extends BaseEntity
|
public class TenantAgentPlatform extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户游戏配额对象 ff_tenant_game_quota
|
* 租户游戏配额对象 ff_tenant_game_quota
|
||||||
|
|
@ -21,7 +22,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantGameQuota extends BaseEntity
|
public class TenantGameQuota extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户游戏额度流水对象 ff_tenant_game_quota_flow
|
* 租户游戏额度流水对象 ff_tenant_game_quota_flow
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantGameQuotaFlow extends BaseEntity
|
public class TenantGameQuotaFlow extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 币种汇率对象 ff_tenant_quota_exchange
|
* 币种汇率对象 ff_tenant_quota_exchange
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantQuotaExchange extends BaseEntity
|
public class TenantQuotaExchange extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -21,7 +22,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class BalanceChangesDTO implements Serializable {
|
public class BalanceChangesDTO implements Serializable {
|
||||||
private static final long serialVersionUID = -7479292236485670076L;
|
private static final long serialVersionUID = -7479292236485670076L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -18,7 +19,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class BalanceRealChangesDTO implements Serializable {
|
public class BalanceRealChangesDTO implements Serializable {
|
||||||
private static final long serialVersionUID = -4864053711644163092L;
|
private static final long serialVersionUID = -4864053711644163092L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -19,7 +20,7 @@ import java.math.BigDecimal;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GameBalanceExchange implements Serializable {
|
public class GameBalanceExchange implements Serializable {
|
||||||
private final static long serialVersionUID = 3452954102791311247L;
|
private final static long serialVersionUID = 3452954102791311247L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,8 @@ import com.ff.base.system.service.ITenantSecretKeyService;
|
||||||
import com.ff.game.api.IGamesService;
|
import com.ff.game.api.IGamesService;
|
||||||
import com.ff.game.api.request.MemberInfoRequestDTO;
|
import com.ff.game.api.request.MemberInfoRequestDTO;
|
||||||
import com.ff.game.domain.GameSecretKey;
|
import com.ff.game.domain.GameSecretKey;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.service.IGameSecretKeyCurrencyService;
|
||||||
import com.ff.game.service.IGameSecretKeyService;
|
import com.ff.game.service.IGameSecretKeyService;
|
||||||
import com.ff.member.domain.Member;
|
import com.ff.member.domain.Member;
|
||||||
import com.ff.member.service.IMemberService;
|
import com.ff.member.service.IMemberService;
|
||||||
|
|
@ -78,6 +80,11 @@ public class TenantGameQuotaServiceImpl implements ITenantGameQuotaService {
|
||||||
@Resource
|
@Resource
|
||||||
private ITenantPlatformService tenantPlatformService;
|
private ITenantPlatformService tenantPlatformService;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询租户游戏配额
|
* 查询租户游戏配额
|
||||||
*
|
*
|
||||||
|
|
@ -282,7 +289,10 @@ public class TenantGameQuotaServiceImpl implements ITenantGameQuotaService {
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal gameBalanceExchange(GameBalanceExchange gameBalanceExchange) {
|
public BigDecimal gameBalanceExchange(GameBalanceExchange gameBalanceExchange) {
|
||||||
// 获取平台接口密钥
|
// 获取平台接口密钥
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.findSecretKeyByPlatformAndSystemCurrency(gameBalanceExchange.getPlatformCode(), gameBalanceExchange.getCurrencyCode());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(gameBalanceExchange.getPlatformCode())
|
||||||
|
.currency(gameBalanceExchange.getCurrencyCode()).build());
|
||||||
|
|
||||||
// 检查平台密钥是否存在,否则抛出异常
|
// 检查平台密钥是否存在,否则抛出异常
|
||||||
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
ApiException.notNull(gameSecretKey, ErrorCode.CURRENCY_NOT_EXIST.getCode());
|
||||||
|
|
||||||
|
|
@ -329,7 +339,7 @@ public class TenantGameQuotaServiceImpl implements ITenantGameQuotaService {
|
||||||
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
||||||
.accounts(member.getGameAccount())
|
.accounts(member.getGameAccount())
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(gameSecretKey.getCode())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
.currency(gameSecretKey.getCurrency())
|
||||||
.agentKey(gameSecretKey.getKey())
|
.agentKey(gameSecretKey.getKey())
|
||||||
.build();
|
.build();
|
||||||
balanceRequestAmount = iGamesService.getMemberInfo(gamesBaseRequestDTO).getBalance();
|
balanceRequestAmount = iGamesService.getMemberInfo(gamesBaseRequestDTO).getBalance();
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class JILIBetRecordDataResponseDTO {
|
||||||
* 游戏id
|
* 游戏id
|
||||||
*/
|
*/
|
||||||
@JsonProperty("GameId")
|
@JsonProperty("GameId")
|
||||||
private int gameId;
|
private String gameId;
|
||||||
/**
|
/**
|
||||||
* 下注时间
|
* 下注时间
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ public class JILIGamesDataDTO {
|
||||||
* 游戏id
|
* 游戏id
|
||||||
*/
|
*/
|
||||||
@JsonProperty("GameId")
|
@JsonProperty("GameId")
|
||||||
private int gameId;
|
private String gameId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*自己系统游戏id
|
*自己系统游戏id
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ import com.ff.game.api.jili.client.JILIClient;
|
||||||
import com.ff.game.api.jili.dto.*;
|
import com.ff.game.api.jili.dto.*;
|
||||||
import com.ff.game.api.request.*;
|
import com.ff.game.api.request.*;
|
||||||
import com.ff.game.domain.*;
|
import com.ff.game.domain.*;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
import com.ff.game.service.*;
|
import com.ff.game.service.*;
|
||||||
import com.ff.member.domain.Member;
|
import com.ff.member.domain.Member;
|
||||||
import com.ff.member.service.IMemberService;
|
import com.ff.member.service.IMemberService;
|
||||||
|
|
@ -84,7 +85,11 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
@Resource
|
@Resource
|
||||||
private IGameBettingDetailsService gameBettingDetailsService;
|
private IGameBettingDetailsService gameBettingDetailsService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameNameService gameNameService;
|
||||||
/**
|
/**
|
||||||
* 获得就是成功
|
* 获得就是成功
|
||||||
*
|
*
|
||||||
|
|
@ -262,6 +267,24 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
}
|
}
|
||||||
gamesDataDTO.setSystemGameId(game.getId());
|
gamesDataDTO.setSystemGameId(game.getId());
|
||||||
|
|
||||||
|
List<GameName> gameNames = gameNameService.selectGameNameList(GameName.builder().gameId(game.getId()).gameName(game.getGameName()).build());
|
||||||
|
if (CollectionUtils.isEmpty(gameNames)){
|
||||||
|
gameNameService.insertGameName(GameName.builder()
|
||||||
|
.gameId(game.getId())
|
||||||
|
.gameName(game.getGameName())
|
||||||
|
.langCode("zh-CN")
|
||||||
|
.createBy(Constants.SYSTEM)
|
||||||
|
.build());
|
||||||
|
|
||||||
|
gameNameService.insertGameName(GameName.builder()
|
||||||
|
.gameId(game.getId())
|
||||||
|
.gameName(gamesDataDTO.getName().getEnUS())
|
||||||
|
.langCode("en-US")
|
||||||
|
.createBy(Constants.SYSTEM)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -285,7 +308,10 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
||||||
String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.JILI.getInfo());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.code(exchangeTransferMoneyRequestDTO.getAgentId())
|
||||||
|
.currency(exchangeTransferMoneyRequestDTO.getCurrency()).build());
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
String transactionId = GamePlatforms.JILI.getCode() + IdUtils.simpleUUID();
|
String transactionId = GamePlatforms.JILI.getCode() + IdUtils.simpleUUID();
|
||||||
|
|
||||||
|
|
@ -306,7 +332,7 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
.quota(exchangeTransferMoneyRequestDTO.getQuota())
|
.quota(exchangeTransferMoneyRequestDTO.getQuota())
|
||||||
.balance(exchangeTransferMoneyRequestDTO.getAmount())
|
.balance(exchangeTransferMoneyRequestDTO.getAmount())
|
||||||
.exchangeType(exchangeTransferMoneyRequestDTO.getTransferType())
|
.exchangeType(exchangeTransferMoneyRequestDTO.getTransferType())
|
||||||
.currencyCode(systemByCode)
|
.currencyCode(gameSecretKey.getSystemCurrency())
|
||||||
.memberId(member.getId())
|
.memberId(member.getId())
|
||||||
.transactionId(transactionId)
|
.transactionId(transactionId)
|
||||||
.platformCode(GamePlatforms.JILI.getCode())
|
.platformCode(GamePlatforms.JILI.getCode())
|
||||||
|
|
@ -421,6 +447,9 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
|
|
||||||
String freeSpinValidity = DateUtils.formatDateToGMT4(new Date(createFreeSpinRequest.getFreeSpinValidity()));
|
String freeSpinValidity = DateUtils.formatDateToGMT4(new Date(createFreeSpinRequest.getFreeSpinValidity()));
|
||||||
|
|
||||||
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.code(createFreeSpinRequest.getAgentId())
|
||||||
|
.currency(createFreeSpinRequest.getCurrency()).build());
|
||||||
|
|
||||||
List<Long> gameIds = createFreeSpinRequest.getGameIds();
|
List<Long> gameIds = createFreeSpinRequest.getGameIds();
|
||||||
GameUniqueDTO gameUniqueDTO = new GameUniqueDTO();
|
GameUniqueDTO gameUniqueDTO = new GameUniqueDTO();
|
||||||
|
|
@ -468,8 +497,10 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
member = new Member();
|
member = new Member();
|
||||||
}
|
}
|
||||||
for (Game game : gameList) {
|
for (Game game : gameList) {
|
||||||
|
|
||||||
|
|
||||||
GameFreeRecord gameFreeRecord = GameFreeRecord.builder()
|
GameFreeRecord gameFreeRecord = GameFreeRecord.builder()
|
||||||
.currencyCode(gameSecretKeyService.findSystemByCode(createFreeSpinRequest.getAgentId(), GamePlatforms.JILI.getInfo()))
|
.currencyCode(gameSecretKey.getSystemCurrency())
|
||||||
.referenceId(referenceId)
|
.referenceId(referenceId)
|
||||||
.platformCode(GamePlatforms.JILI.getInfo())
|
.platformCode(GamePlatforms.JILI.getInfo())
|
||||||
.memberId(member.getId())
|
.memberId(member.getId())
|
||||||
|
|
@ -694,13 +725,17 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
|
|
||||||
//转化类
|
//转化类
|
||||||
JILIBetRecordDataResponseDTO jiliBetRecordDataResponseDTO = (JILIBetRecordDataResponseDTO) gamesDataBuildDTO.getData();
|
JILIBetRecordDataResponseDTO jiliBetRecordDataResponseDTO = (JILIBetRecordDataResponseDTO) gamesDataBuildDTO.getData();
|
||||||
String systemByCode = gameSecretKeyService.findSystemByCode(jiliBetRecordDataResponseDTO.getAgentId(), GamePlatforms.JILI.getInfo());
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.code(jiliBetRecordDataResponseDTO.getAgentId())
|
||||||
|
.platformCode(GamePlatforms.JILI.getInfo()).build());
|
||||||
|
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(jiliBetRecordDataResponseDTO.getAccount());
|
Member member = memberService.selectMemberByGameAccount(jiliBetRecordDataResponseDTO.getAccount());
|
||||||
if (ObjectUtils.isEmpty(member)) {
|
if (ObjectUtils.isEmpty(member)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
List<JILIGamesDataDTO> gamesDatas = redisCache.getCacheList(CacheConstants.JILI_GAMES);
|
List<JILIGamesDataDTO> gamesDatas = redisCache.getCacheList(CacheConstants.JILI_GAMES);
|
||||||
Map<Integer, JILIGamesDataDTO> dataDTOMap = gamesDatas.stream().collect(Collectors.toMap(JILIGamesDataDTO::getGameId, e -> e));
|
Map<String, JILIGamesDataDTO> dataDTOMap = gamesDatas.stream().collect(Collectors.toMap(JILIGamesDataDTO::getGameId, e -> e));
|
||||||
JILIGamesDataDTO gamesDataDTO = dataDTOMap.get(jiliBetRecordDataResponseDTO.getGameId());
|
JILIGamesDataDTO gamesDataDTO = dataDTOMap.get(jiliBetRecordDataResponseDTO.getGameId());
|
||||||
BigDecimal payoffAmount = BigDecimal.ZERO;
|
BigDecimal payoffAmount = BigDecimal.ZERO;
|
||||||
if (GameStatus.WIN.getCode().equals(jiliBetRecordDataResponseDTO.getStatus())) {
|
if (GameStatus.WIN.getCode().equals(jiliBetRecordDataResponseDTO.getStatus())) {
|
||||||
|
|
@ -713,7 +748,7 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
GameBettingDetails gameBettingDetails = GameBettingDetails.builder()
|
GameBettingDetails gameBettingDetails = GameBettingDetails.builder()
|
||||||
.tenantKey(member.getTenantKey())
|
.tenantKey(member.getTenantKey())
|
||||||
//保存我们的币种id
|
//保存我们的币种id
|
||||||
.currencyCode(systemByCode)
|
.currencyCode(gameSecretKey.getSystemCurrency())
|
||||||
.memberId(member.getId())
|
.memberId(member.getId())
|
||||||
.gameCode(jiliBetRecordDataResponseDTO.getGameId())
|
.gameCode(jiliBetRecordDataResponseDTO.getGameId())
|
||||||
.gameType(JILIGameType.findSystemByCode(jiliBetRecordDataResponseDTO.getGameCategoryId()))
|
.gameType(JILIGameType.findSystemByCode(jiliBetRecordDataResponseDTO.getGameCategoryId()))
|
||||||
|
|
@ -732,6 +767,7 @@ public class GamesJILIServiceImpl implements IGamesService {
|
||||||
.settlementTime(jiliBetRecordDataResponseDTO.getSettlementTime())
|
.settlementTime(jiliBetRecordDataResponseDTO.getSettlementTime())
|
||||||
.turnover(jiliBetRecordDataResponseDTO.getTurnover())
|
.turnover(jiliBetRecordDataResponseDTO.getTurnover())
|
||||||
.orderNo(String.valueOf(jiliBetRecordDataResponseDTO.getRoundIndex()))
|
.orderNo(String.valueOf(jiliBetRecordDataResponseDTO.getRoundIndex()))
|
||||||
|
.settlementStatus(SettlementStatusEnum.COMPLETED.getCode())
|
||||||
.build();
|
.build();
|
||||||
gameBettingDetails.setCreateBy(Constants.SYSTEM);
|
gameBettingDetails.setCreateBy(Constants.SYSTEM);
|
||||||
gameBettingDetails.setCreateTime(DateUtils.getNowDate());
|
gameBettingDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
|
|
|
||||||
|
|
@ -85,4 +85,15 @@ public interface NGClient {
|
||||||
*/
|
*/
|
||||||
@Post(url = "/server/transferStatus")
|
@Post(url = "/server/transferStatus")
|
||||||
ApiNGResponseDTO<ApiExchangeTransferStatusResponseDTO> exchangeTransferStatus(@JSONBody Map<String, Object> parameters, @Header Map<String, String> headerMap);
|
ApiNGResponseDTO<ApiExchangeTransferStatusResponseDTO> exchangeTransferStatus(@JSONBody Map<String, Object> parameters, @Header Map<String, String> headerMap);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按时间获取投注记录
|
||||||
|
*
|
||||||
|
* @param parameters 范围
|
||||||
|
* @param headerMap 标题映射
|
||||||
|
* @return {@link ApiNGResponseDTO }<{@link ApiGameBetRecordPageResponseDTO }>
|
||||||
|
*/
|
||||||
|
@Post(url = "server/recordAll")
|
||||||
|
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> getBetRecordByTime(@JSONBody Map<String, Object> parameters, @Header Map<String, String> headerMap);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,129 @@
|
||||||
|
package com.ff.game.api.ng.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* api游戏下注记录页面响应dto
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/12
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ApiGameBetRecordPageResponseDTO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据总计
|
||||||
|
*/
|
||||||
|
private int total;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前页码
|
||||||
|
*/
|
||||||
|
private int pageNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每页条数
|
||||||
|
*/
|
||||||
|
private int pageSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 投注记录列表
|
||||||
|
*/
|
||||||
|
private List<GameBetRecord> list;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏投注记录
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public static class GameBetRecord {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 玩家账号
|
||||||
|
*/
|
||||||
|
private String playerId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台类型
|
||||||
|
*/
|
||||||
|
private String platType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏货币
|
||||||
|
*/
|
||||||
|
private String currency;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏类型:
|
||||||
|
* 1:视讯、2:老虎机、3:彩票、4:体育、5:电竞、6:捕猎、7:棋牌
|
||||||
|
*/
|
||||||
|
private int gameType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏名称
|
||||||
|
*/
|
||||||
|
private String gameName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 局号
|
||||||
|
*/
|
||||||
|
private String round;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 桌号
|
||||||
|
*/
|
||||||
|
private String table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 座号
|
||||||
|
*/
|
||||||
|
private String seat;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 投注金额
|
||||||
|
*/
|
||||||
|
private BigDecimal betAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有效投注金额
|
||||||
|
*/
|
||||||
|
private BigDecimal validAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 输赢金额
|
||||||
|
*/
|
||||||
|
private BigDecimal settledAmount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 投注内容,部分游戏字段内容较长,建议数据库字段类型为 text
|
||||||
|
*/
|
||||||
|
private String betContent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单状态:
|
||||||
|
* 0:未完成、1:已完成、2:已取消、3:已撤单
|
||||||
|
*/
|
||||||
|
private int status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏订单号
|
||||||
|
*/
|
||||||
|
private Long gameOrderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单创建时间 (UTC +8)
|
||||||
|
*/
|
||||||
|
private Date betTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单更新时间 (UTC +8)
|
||||||
|
*/
|
||||||
|
private Date lastUpdateTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package com.ff.game.api.ng.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import com.ff.base.config.RedisConfig;
|
||||||
import com.ff.base.constant.CacheConstants;
|
import com.ff.base.constant.CacheConstants;
|
||||||
import com.ff.base.constant.Constants;
|
import com.ff.base.constant.Constants;
|
||||||
import com.ff.base.core.redis.RedisCache;
|
import com.ff.base.core.redis.RedisCache;
|
||||||
|
|
@ -10,6 +11,7 @@ import com.ff.base.exception.base.ApiException;
|
||||||
import com.ff.base.exception.base.BaseException;
|
import com.ff.base.exception.base.BaseException;
|
||||||
import com.ff.base.system.service.ISysConfigService;
|
import com.ff.base.system.service.ISysConfigService;
|
||||||
import com.ff.base.utils.DateUtils;
|
import com.ff.base.utils.DateUtils;
|
||||||
|
import com.ff.base.utils.JsonUtil;
|
||||||
import com.ff.base.utils.SleepUtil;
|
import com.ff.base.utils.SleepUtil;
|
||||||
import com.ff.base.utils.StringUtils;
|
import com.ff.base.utils.StringUtils;
|
||||||
import com.ff.base.utils.sign.Md5Utils;
|
import com.ff.base.utils.sign.Md5Utils;
|
||||||
|
|
@ -20,11 +22,17 @@ import com.ff.game.api.jili.dto.*;
|
||||||
import com.ff.game.api.ng.client.NGClient;
|
import com.ff.game.api.ng.client.NGClient;
|
||||||
import com.ff.game.api.ng.dto.*;
|
import com.ff.game.api.ng.dto.*;
|
||||||
import com.ff.game.api.request.*;
|
import com.ff.game.api.request.*;
|
||||||
|
import com.ff.game.api.xk.dto.XKBetRecordResponseDTO;
|
||||||
|
import com.ff.game.api.xk.dto.XKGamesDTO;
|
||||||
import com.ff.game.domain.*;
|
import com.ff.game.domain.*;
|
||||||
|
import com.ff.game.dto.*;
|
||||||
import com.ff.game.service.*;
|
import com.ff.game.service.*;
|
||||||
import com.ff.member.domain.Member;
|
import com.ff.member.domain.Member;
|
||||||
import com.ff.member.service.IMemberService;
|
import com.ff.member.service.IMemberService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
@ -34,8 +42,11 @@ import org.springframework.util.ObjectUtils;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -87,6 +98,20 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Resource
|
@Resource
|
||||||
private IGameBettingDetailsService gameBettingDetailsService;
|
private IGameBettingDetailsService gameBettingDetailsService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameNameService gameNameService;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyLangService gameSecretKeyLangService;
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
@Qualifier("threadPoolTaskExecutor")
|
||||||
|
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得就是成功
|
* 获得就是成功
|
||||||
|
|
@ -139,11 +164,10 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Override
|
@Override
|
||||||
public Boolean createMember(CreateMemberRequestDTO createMemberRequestDTO) {
|
public Boolean createMember(CreateMemberRequestDTO createMemberRequestDTO) {
|
||||||
log.info("GamesNGServiceImpl [createMember] 请求参数 {}", createMemberRequestDTO);
|
log.info("GamesNGServiceImpl [createMember] 请求参数 {}", createMemberRequestDTO);
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.selectGameSecretKeyById(createMemberRequestDTO.getGameSecretKeyId());
|
|
||||||
Map<String, Object> paramsMap = new HashMap<>();
|
Map<String, Object> paramsMap = new HashMap<>();
|
||||||
paramsMap.put("playerId", createMemberRequestDTO.getAccount());
|
paramsMap.put("playerId", createMemberRequestDTO.getAccount());
|
||||||
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
||||||
paramsMap.put("currency", gameSecretKey.getCurrency());
|
paramsMap.put("currency", createMemberRequestDTO.getCurrency());
|
||||||
Map<String, String> headerMap = this.getKey(createMemberRequestDTO);
|
Map<String, String> headerMap = this.getKey(createMemberRequestDTO);
|
||||||
ApiNGResponseDTO apiNGResponseDTO = ngClient.createMember(paramsMap, headerMap);
|
ApiNGResponseDTO apiNGResponseDTO = ngClient.createMember(paramsMap, headerMap);
|
||||||
int errorCode = apiNGResponseDTO.getCode();
|
int errorCode = apiNGResponseDTO.getCode();
|
||||||
|
|
@ -167,11 +191,10 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Override
|
@Override
|
||||||
public MemberInfoResponseDTO getMemberInfo(MemberInfoRequestDTO memberInfoRequestDTO) {
|
public MemberInfoResponseDTO getMemberInfo(MemberInfoRequestDTO memberInfoRequestDTO) {
|
||||||
log.info("GamesNGServiceImpl [getMemberInfo] 请求参数 {}", memberInfoRequestDTO);
|
log.info("GamesNGServiceImpl [getMemberInfo] 请求参数 {}", memberInfoRequestDTO);
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.selectGameSecretKeyById(memberInfoRequestDTO.getGameSecretKeyId());
|
|
||||||
Map<String, Object> paramsMap = new HashMap<>();
|
Map<String, Object> paramsMap = new HashMap<>();
|
||||||
paramsMap.put("playerId", memberInfoRequestDTO.getAccounts());
|
paramsMap.put("playerId", memberInfoRequestDTO.getAccounts());
|
||||||
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
||||||
paramsMap.put("currency", gameSecretKey.getCurrency());
|
paramsMap.put("currency", memberInfoRequestDTO.getCurrency());
|
||||||
Map<String, String> headerMap = this.getKey(memberInfoRequestDTO);
|
Map<String, String> headerMap = this.getKey(memberInfoRequestDTO);
|
||||||
//这个接口请求稍微重复一次就报错
|
//这个接口请求稍微重复一次就报错
|
||||||
SleepUtil.sleep(500);
|
SleepUtil.sleep(500);
|
||||||
|
|
@ -193,13 +216,12 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Override
|
@Override
|
||||||
public String loginWithoutRedirect(GamesLogin gamesLogin) {
|
public String loginWithoutRedirect(GamesLogin gamesLogin) {
|
||||||
log.info("GamesNGServiceImpl [loginWithoutRedirect] 请求参数 {}", gamesLogin);
|
log.info("GamesNGServiceImpl [loginWithoutRedirect] 请求参数 {}", gamesLogin);
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.selectGameSecretKeyById(gamesLogin.getGameSecretKeyId());
|
|
||||||
Map<String, Object> paramsMap = new HashMap<>();
|
Map<String, Object> paramsMap = new HashMap<>();
|
||||||
paramsMap.put("playerId", gamesLogin.getAccount());
|
paramsMap.put("playerId", gamesLogin.getAccount());
|
||||||
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
||||||
paramsMap.put("currency", gameSecretKey.getCurrency());
|
paramsMap.put("currency", gamesLogin.getCurrency());
|
||||||
paramsMap.put("gameType", gamesLogin.getGameType());
|
paramsMap.put("gameType", gamesLogin.getGameType());
|
||||||
paramsMap.put("lang", gameSecretKey.getLang());
|
paramsMap.put("lang", gamesLogin.getLang());
|
||||||
paramsMap.put("gameCode", gamesLogin.getGameId());
|
paramsMap.put("gameCode", gamesLogin.getGameId());
|
||||||
paramsMap.put("returnUrl", gamesLogin.getHomeUrl());
|
paramsMap.put("returnUrl", gamesLogin.getHomeUrl());
|
||||||
paramsMap.put("ingress", PlatformHomeType.WEB.getValue().equals(gamesLogin.getPlatform()) ? IngressType.PC_WEB.getValue() : IngressType.MOBILE_WEB.getValue());
|
paramsMap.put("ingress", PlatformHomeType.WEB.getValue().equals(gamesLogin.getPlatform()) ? IngressType.PC_WEB.getValue() : IngressType.MOBILE_WEB.getValue());
|
||||||
|
|
@ -267,9 +289,36 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
game = games.get(0);
|
game = games.get(0);
|
||||||
}
|
}
|
||||||
apiGameInfoResponseDTO.setSystemGameId(game.getId());
|
apiGameInfoResponseDTO.setSystemGameId(game.getId());
|
||||||
|
Map<String, String> gameName = apiGameInfoResponseDTO.getGameName();
|
||||||
|
for (String key : gameName.keySet()) {
|
||||||
|
String name = gameName.get(key);
|
||||||
|
List<GameName> gameNames = gameNameService.selectGameNameList(GameName.builder().gameId(game.getId()).gameName(name).build());
|
||||||
|
if (CollectionUtils.isEmpty(gameNames)) {
|
||||||
|
if ("zh-hans".equals(key)) {
|
||||||
|
gameNameService.insertGameName(GameName.builder()
|
||||||
|
.gameId(game.getId())
|
||||||
|
.gameName(name)
|
||||||
|
.langCode("zh-CN")
|
||||||
|
.createBy(Constants.SYSTEM)
|
||||||
|
.build());
|
||||||
|
} else if (!"zh-hant".equals(key)) {
|
||||||
|
GameSecretKeyLangDTO gameSecretKeyLangDTO = gameSecretKeyLangService.findGameSecretKeyLangDTO(GameSecretKeyLangDTO.builder()
|
||||||
|
.platformCode(GamePlatforms.PG.getCode())
|
||||||
|
.lang(key)
|
||||||
|
.build());
|
||||||
|
gameNameService.insertGameName(GameName.builder()
|
||||||
|
.gameId(game.getId())
|
||||||
|
.gameName(name)
|
||||||
|
.langCode(gameSecretKeyLangDTO.getSystemLangCode())
|
||||||
|
.createBy(Constants.SYSTEM)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
redisCache.deleteObject(CacheConstants.PG_GAMES);
|
redisCache.deleteObject(CacheConstants.PG_GAMES);
|
||||||
redisCache.setCacheList(CacheConstants.PG_GAMES, gameList.getData());
|
redisCache.setCacheList(CacheConstants.PG_GAMES, gameList.getData());
|
||||||
redisCache.expire(CacheConstants.PG_GAMES, 5L, TimeUnit.HOURS);
|
redisCache.expire(CacheConstants.PG_GAMES, 5L, TimeUnit.HOURS);
|
||||||
|
|
@ -289,7 +338,13 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Transactional
|
@Transactional
|
||||||
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
||||||
log.info("GamesNGServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
log.info("GamesNGServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
||||||
GameSecretKey gameSecretKey = gameSecretKeyService.selectGameSecretKeyById(exchangeTransferMoneyRequestDTO.getGameSecretKeyId());
|
|
||||||
|
GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(GamePlatforms.PG.getCode())
|
||||||
|
.code(exchangeTransferMoneyRequestDTO.getAgentId())
|
||||||
|
.currency(exchangeTransferMoneyRequestDTO.getCurrency())
|
||||||
|
.build());
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
String transactionId = gameExchangeMoneyService.getTransactionId(GamePlatforms.PG.getCode(), 32);
|
String transactionId = gameExchangeMoneyService.getTransactionId(GamePlatforms.PG.getCode(), 32);
|
||||||
List<GameExchangeMoney> gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList(
|
List<GameExchangeMoney> gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList(
|
||||||
|
|
@ -308,7 +363,7 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
.quota(exchangeTransferMoneyRequestDTO.getQuota())
|
.quota(exchangeTransferMoneyRequestDTO.getQuota())
|
||||||
.balance(exchangeTransferMoneyRequestDTO.getAmount())
|
.balance(exchangeTransferMoneyRequestDTO.getAmount())
|
||||||
.exchangeType(exchangeTransferMoneyRequestDTO.getTransferType())
|
.exchangeType(exchangeTransferMoneyRequestDTO.getTransferType())
|
||||||
.currencyCode(gameSecretKey.getSystemCurrency())
|
.currencyCode(currencyDTO.getSystemCurrency())
|
||||||
.memberId(member.getId())
|
.memberId(member.getId())
|
||||||
.transactionId(transactionId)
|
.transactionId(transactionId)
|
||||||
.platformCode(GamePlatforms.PG.getCode())
|
.platformCode(GamePlatforms.PG.getCode())
|
||||||
|
|
@ -316,13 +371,13 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
exchangeMoney.setCreateBy(Constants.SYSTEM);
|
exchangeMoney.setCreateBy(Constants.SYSTEM);
|
||||||
|
|
||||||
//获取余额
|
//获取余额
|
||||||
String type = TransferType.ALL.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType()) ? NGTransferType.TRANSFER_IN.getValue() : NGTransferType.TRANSFER_OUT.getValue();
|
String type = TransferType.ALL.getCode().equals(exchangeTransferMoneyRequestDTO.getTransferType()) ? NGTransferType.TRANSFER_OUT.getValue() : NGTransferType.TRANSFER_IN.getValue();
|
||||||
//获取当前游戏币
|
//获取当前游戏币
|
||||||
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
MemberInfoRequestDTO gamesBaseRequestDTO = MemberInfoRequestDTO.builder()
|
||||||
.accounts(member.getGameAccount())
|
.accounts(member.getGameAccount())
|
||||||
.agentId(gameSecretKey.getCode())
|
.agentId(exchangeTransferMoneyRequestDTO.getAgentId())
|
||||||
.gameSecretKeyId(gameSecretKey.getId())
|
.agentKey(exchangeTransferMoneyRequestDTO.getAgentKey())
|
||||||
.agentKey(gameSecretKey.getKey())
|
.currency(currencyDTO.getCurrency())
|
||||||
.build();
|
.build();
|
||||||
MemberInfoResponseDTO memberInfo = this.getMemberInfo(gamesBaseRequestDTO);
|
MemberInfoResponseDTO memberInfo = this.getMemberInfo(gamesBaseRequestDTO);
|
||||||
//判断是不是转出
|
//判断是不是转出
|
||||||
|
|
@ -330,15 +385,16 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
exchangeTransferMoneyRequestDTO.setAmount(memberInfo.getBalance());
|
exchangeTransferMoneyRequestDTO.setAmount(memberInfo.getBalance());
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.print("aa" + transactionId.length());
|
|
||||||
Map<String, Object> paramsMap = new HashMap<>();
|
Map<String, Object> paramsMap = new HashMap<>();
|
||||||
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
paramsMap.put("platType", NGPlatforms.PG.getCode());
|
||||||
paramsMap.put("playerId", exchangeTransferMoneyRequestDTO.getAccount());
|
paramsMap.put("playerId", exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
paramsMap.put("currency", gameSecretKey.getCurrency());
|
paramsMap.put("currency", currencyDTO.getCurrency());
|
||||||
paramsMap.put("type", type);
|
paramsMap.put("type", type);
|
||||||
paramsMap.put("amount", String.valueOf(exchangeTransferMoneyRequestDTO.getAmount()));
|
paramsMap.put("amount", String.valueOf(exchangeTransferMoneyRequestDTO.getAmount()));
|
||||||
paramsMap.put("orderId", transactionId);
|
paramsMap.put("orderId", transactionId);
|
||||||
|
|
||||||
|
|
||||||
Map<String, String> key = this.getKey(exchangeTransferMoneyRequestDTO);
|
Map<String, String> key = this.getKey(exchangeTransferMoneyRequestDTO);
|
||||||
ApiNGResponseDTO apiNGResponseDTO = ngClient.exchangeTransferByAgentId(paramsMap, key);
|
ApiNGResponseDTO apiNGResponseDTO = ngClient.exchangeTransferByAgentId(paramsMap, key);
|
||||||
if (this.getIsSuccess(apiNGResponseDTO.getCode())) {
|
if (this.getIsSuccess(apiNGResponseDTO.getCode())) {
|
||||||
|
|
@ -346,13 +402,12 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
exchangeMoney.setBalance(exchangeTransferMoneyRequestDTO.getAmount());
|
exchangeMoney.setBalance(exchangeTransferMoneyRequestDTO.getAmount());
|
||||||
exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue());
|
exchangeMoney.setStatus(StatusType.IN_PROGRESS.getValue());
|
||||||
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
gameExchangeMoneyService.insertGameExchangeMoney(exchangeMoney);
|
||||||
ExchangeTransferStatusRequestDTO exchangeTransferStatusRequestDTO=new ExchangeTransferStatusRequestDTO();
|
ExchangeTransferStatusRequestDTO exchangeTransferStatusRequestDTO = new ExchangeTransferStatusRequestDTO();
|
||||||
exchangeTransferStatusRequestDTO.setAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
exchangeTransferStatusRequestDTO.setAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
exchangeTransferStatusRequestDTO.setCurrency(gameSecretKey.getCurrency());
|
exchangeTransferStatusRequestDTO.setCurrency(currencyDTO.getCurrency());
|
||||||
exchangeTransferStatusRequestDTO.setOrderId(transactionId);
|
exchangeTransferStatusRequestDTO.setOrderId(transactionId);
|
||||||
exchangeTransferStatusRequestDTO.setAgentId(exchangeTransferMoneyRequestDTO.getAgentId());
|
exchangeTransferStatusRequestDTO.setAgentId(exchangeTransferMoneyRequestDTO.getAgentId());
|
||||||
exchangeTransferStatusRequestDTO.setAgentKey(exchangeTransferMoneyRequestDTO.getAgentKey());
|
exchangeTransferStatusRequestDTO.setAgentKey(exchangeTransferMoneyRequestDTO.getAgentKey());
|
||||||
exchangeTransferStatusRequestDTO.setGameSecretKeyId(exchangeTransferMoneyRequestDTO.getGameSecretKeyId());
|
|
||||||
this.exchangeTransferStatus(exchangeTransferStatusRequestDTO);
|
this.exchangeTransferStatus(exchangeTransferStatusRequestDTO);
|
||||||
} else {
|
} else {
|
||||||
log.error("GamesPGServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{},错误信息{}", apiNGResponseDTO.getCode(), apiNGResponseDTO.getMsg());
|
log.error("GamesPGServiceImpl [exchangeTransferByAgentId] 金额转移失败,错误代码{},错误信息{}", apiNGResponseDTO.getCode(), apiNGResponseDTO.getMsg());
|
||||||
|
|
@ -389,7 +444,7 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
for (GameExchangeMoney exchangeMoney : gameExchangeMonies) {
|
for (GameExchangeMoney exchangeMoney : gameExchangeMonies) {
|
||||||
//更新数据
|
//更新数据
|
||||||
exchangeMoney.setBalance(apiNGResponseDTOData.getAmount().abs());
|
exchangeMoney.setBalance(apiNGResponseDTOData.getAmount().abs());
|
||||||
exchangeMoney.setCoinBefore(NumberUtil.add(apiNGResponseDTOData.getAmount(), apiNGResponseDTOData.getAfterBalance()));
|
exchangeMoney.setCoinBefore(NumberUtil.sub(apiNGResponseDTOData.getAfterBalance(), apiNGResponseDTOData.getAmount()));
|
||||||
exchangeMoney.setCoinAfter(apiNGResponseDTOData.getAfterBalance());
|
exchangeMoney.setCoinAfter(apiNGResponseDTOData.getAfterBalance());
|
||||||
exchangeMoney.setCurrencyBefore(exchangeMoney.getCoinBefore());
|
exchangeMoney.setCurrencyBefore(exchangeMoney.getCoinBefore());
|
||||||
exchangeMoney.setCurrencyAfter(exchangeMoney.getCoinAfter());
|
exchangeMoney.setCurrencyAfter(exchangeMoney.getCoinAfter());
|
||||||
|
|
@ -415,7 +470,87 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Override
|
@Override
|
||||||
public Boolean getBetRecordByTime(BetRecordByTimeDTO betRecordByTimeDTO) {
|
public Boolean getBetRecordByTime(BetRecordByTimeDTO betRecordByTimeDTO) {
|
||||||
|
|
||||||
return null;
|
GameSecretKeyCurrencyDTO gameSecretKeyDTO = new GameSecretKeyCurrencyDTO();
|
||||||
|
gameSecretKeyDTO.setPlatformCodes(NGPlatforms.getAllPlatforms());
|
||||||
|
List<GameSecretKeyCurrencyDTO> currencyDTOList = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTOList(gameSecretKeyDTO);
|
||||||
|
List<String> currencys = currencyDTOList.stream()
|
||||||
|
.map(GameSecretKeyCurrencyDTO::getCurrency)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
Set<String> cacheSet = redisCache.getCacheSet(CacheConstants.PG_GAMES_BET_CURRENCY);
|
||||||
|
if (CollectionUtils.isEmpty(cacheSet)) {
|
||||||
|
cacheSet = new HashSet<>();
|
||||||
|
}
|
||||||
|
//如果长度一致则清空缓存循环币种
|
||||||
|
if (cacheSet.size() >= currencys.size()) {
|
||||||
|
redisCache.deleteObject(CacheConstants.PG_GAMES_BET_CURRENCY);
|
||||||
|
}
|
||||||
|
//去掉重复的
|
||||||
|
currencys.removeAll(cacheSet);
|
||||||
|
|
||||||
|
String firstCurrency = currencys.get(0);
|
||||||
|
|
||||||
|
GameSecretKeyCurrencyDTO currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(GamePlatforms.PG.getCode())
|
||||||
|
.currency(firstCurrency)
|
||||||
|
.build());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
currencyDTO.setCurrency("CNY");
|
||||||
|
|
||||||
|
betRecordByTimeDTO.setAgentId(currencyDTO.getCode());
|
||||||
|
betRecordByTimeDTO.setAgentKey(currencyDTO.getKey());
|
||||||
|
int pageNo = 1;
|
||||||
|
int pageSize = 1;
|
||||||
|
Map<String, Object> paramsMap = new HashMap<>();
|
||||||
|
paramsMap.put("currency", currencyDTO.getCurrency());
|
||||||
|
paramsMap.put("pageNo", pageNo);
|
||||||
|
paramsMap.put("pageSize", pageSize);
|
||||||
|
Map<String, String> key = this.getKey(betRecordByTimeDTO);
|
||||||
|
|
||||||
|
|
||||||
|
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> betRecordByTime = ngClient.getBetRecordByTime(paramsMap, key);
|
||||||
|
|
||||||
|
if (this.getIsSuccess(betRecordByTime.getCode())) {
|
||||||
|
cacheSet.add(firstCurrency);
|
||||||
|
redisCache.setCacheSet(CacheConstants.PG_GAMES_BET_CURRENCY, cacheSet);
|
||||||
|
|
||||||
|
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> result = betRecordByTime;
|
||||||
|
AtomicInteger pageNoAtomic = new AtomicInteger(pageNo);
|
||||||
|
|
||||||
|
threadPoolTaskExecutor.execute(() -> {
|
||||||
|
|
||||||
|
ApiGameBetRecordPageResponseDTO data = result.getData();
|
||||||
|
//数据组装
|
||||||
|
this.batchInsert(data);
|
||||||
|
|
||||||
|
//总页数
|
||||||
|
// 计算总页数,确保不会遗漏
|
||||||
|
int totalPage = (int) Math.ceil((double) data.getTotal() / pageSize);
|
||||||
|
|
||||||
|
// 获取下一页数据
|
||||||
|
while (pageNoAtomic.get() < totalPage && data.getTotal() > 0) {
|
||||||
|
pageNoAtomic.incrementAndGet();
|
||||||
|
//请求参数
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
paramMap.put("currency", currencyDTO.getCurrency());
|
||||||
|
paramMap.put("pageNo", pageNo);
|
||||||
|
paramMap.put("pageSize", pageSize);
|
||||||
|
//每次翻页请求必须间隔 10 秒钟
|
||||||
|
SleepUtil.sleep(10000);
|
||||||
|
ApiNGResponseDTO<ApiGameBetRecordPageResponseDTO> betRecordByTimePage = ngClient.getBetRecordByTime(paramsMap, key);
|
||||||
|
data = betRecordByTimePage.getData();
|
||||||
|
//数据组装
|
||||||
|
this.batchInsert(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -502,6 +637,99 @@ public class GamesPGServiceImpl implements IGamesService {
|
||||||
@Override
|
@Override
|
||||||
public GameBettingDetails dataBuild(GamesDataBuildDTO gamesDataBuildDTO) {
|
public GameBettingDetails dataBuild(GamesDataBuildDTO gamesDataBuildDTO) {
|
||||||
|
|
||||||
return null;
|
//转化类
|
||||||
|
ApiGameBetRecordPageResponseDTO.GameBetRecord resultBean = (ApiGameBetRecordPageResponseDTO.GameBetRecord) gamesDataBuildDTO.getData();
|
||||||
|
|
||||||
|
NGPlatforms ngPlatforms = NGPlatforms.getByCode(resultBean.getPlatType());
|
||||||
|
if (ObjectUtils.isEmpty(ngPlatforms)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
String platform = ngPlatforms.getPlatform();
|
||||||
|
List<Game> games = gameService.selectGameDTOList(GameDTO.builder().platformCode(platform).build());
|
||||||
|
if (CollectionUtils.isEmpty(games)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Game gamesDataDTO = games.get(0);
|
||||||
|
GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCodes(NGPlatforms.getAllPlatforms())
|
||||||
|
.currency(resultBean.getCurrency())
|
||||||
|
.build());
|
||||||
|
|
||||||
|
Member member = memberService.selectMemberByGameAccount(resultBean.getPlayerId());
|
||||||
|
if (ObjectUtils.isEmpty(member)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
GameDTO gameDTO = new GameDTO();
|
||||||
|
gameDTO.setPlatformCodes(NGPlatforms.getAllPlatforms());
|
||||||
|
|
||||||
|
|
||||||
|
//数据构造
|
||||||
|
GameBettingDetails gameBettingDetails = GameBettingDetails.builder()
|
||||||
|
.tenantKey(member.getTenantKey())
|
||||||
|
//保存我们的币种id
|
||||||
|
.currencyCode(currencyDTO.getSystemCurrency())
|
||||||
|
.memberId(member.getId())
|
||||||
|
.gameCode(gamesDataDTO.getGameCode())
|
||||||
|
.gameType(NGGameType.findSystemByCode(resultBean.getGameType()))
|
||||||
|
.platformCode(NGPlatforms.getByCode(resultBean.getPlatType()).getPlatform())
|
||||||
|
.gameId(gamesDataDTO.getId())
|
||||||
|
.gameName(gamesDataDTO.getGameName())
|
||||||
|
.gameStatus(resultBean.getStatus())
|
||||||
|
.gameStatusType(1)
|
||||||
|
.gameCurrencyCode(resultBean.getCurrency())
|
||||||
|
.account(resultBean.getPlayerId())
|
||||||
|
.wagersId(resultBean.getGameOrderId())
|
||||||
|
.wagersTime(resultBean.getBetTime().getTime())
|
||||||
|
.betAmount(resultBean.getBetAmount().abs())
|
||||||
|
.payoffTime(resultBean.getLastUpdateTime().getTime())
|
||||||
|
.payoffAmount(resultBean.getSettledAmount())
|
||||||
|
.settlementTime(resultBean.getLastUpdateTime().getTime())
|
||||||
|
.turnover(resultBean.getValidAmount())
|
||||||
|
.orderNo(String.valueOf(resultBean.getRound()))
|
||||||
|
.settlementStatus(NGSettlementStatusEnum.fromStatus(resultBean.getStatus()).getCode())
|
||||||
|
.round(resultBean.getRound())
|
||||||
|
.table(resultBean.getTable())
|
||||||
|
.seat(resultBean.getSeat())
|
||||||
|
.betContent(resultBean.getBetContent())
|
||||||
|
.build();
|
||||||
|
gameBettingDetails.setCreateBy(Constants.SYSTEM);
|
||||||
|
gameBettingDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return gameBettingDetails;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入
|
||||||
|
*
|
||||||
|
* @param data 数据
|
||||||
|
*/
|
||||||
|
private void batchInsert(ApiGameBetRecordPageResponseDTO data) {
|
||||||
|
List<GameBettingDetails> gameBettingDetails = new ArrayList<>();
|
||||||
|
List<Long> wagersIds = new ArrayList<>();
|
||||||
|
//数据转化
|
||||||
|
for (ApiGameBetRecordPageResponseDTO.GameBetRecord bean : data.getList()) {
|
||||||
|
GameBettingDetails bettingDetails = this.dataBuild(GamesDataBuildDTO.builder().data(bean).build());
|
||||||
|
if (!ObjectUtils.isEmpty(bettingDetails)) {
|
||||||
|
bettingDetails.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
gameBettingDetails.add(bettingDetails);
|
||||||
|
}
|
||||||
|
wagersIds.add(bean.getGameOrderId());
|
||||||
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(gameBettingDetails)) {
|
||||||
|
//查询重复数据id
|
||||||
|
List<Long> removeWagersIds = gameBettingDetailsService.selectGameBettingDetailsByWagersId(wagersIds);
|
||||||
|
//用steam流清除list中与wagersIds集合相同的数据
|
||||||
|
gameBettingDetails = gameBettingDetails.stream()
|
||||||
|
.filter(detail -> !removeWagersIds.contains(detail.getWagersId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (!CollectionUtils.isEmpty(gameBettingDetails)) {
|
||||||
|
List<Long> wagersId = gameBettingDetails.stream().map(GameBettingDetails::getWagersId).collect(Collectors.toList());
|
||||||
|
gameBettingDetailsService.deleteGameBettingDetailsByWagersId(wagersId);
|
||||||
|
gameBettingDetailsService.batchInsert(gameBettingDetails);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,4 +37,6 @@ public class BetRecordByTimeDTO extends GamesBaseRequestDTO {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,12 @@ public class GamesBaseRequestDTO implements Serializable {
|
||||||
private String query;
|
private String query;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 游戏密钥id
|
* 货币
|
||||||
*/
|
*/
|
||||||
private Long gameSecretKeyId;
|
private String currency;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 游戏数据构建dto
|
* 游戏数据构建dto
|
||||||
|
|
@ -13,7 +14,7 @@ import lombok.NoArgsConstructor;
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
@Data
|
@Data
|
||||||
public class GamesDataBuildDTO
|
public class GamesDataBuildDTO
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
|
@ -17,7 +18,7 @@ import java.math.BigDecimal;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class MemberInfoResponseDTO {
|
public class MemberInfoResponseDTO {
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ public class XKBetRecordResponseDTO {
|
||||||
public static class ResultBean {
|
public static class ResultBean {
|
||||||
private String account;
|
private String account;
|
||||||
private Long wagersId;
|
private Long wagersId;
|
||||||
private Integer gameId;
|
private String gameId;
|
||||||
private Long wagersTime;
|
private Long wagersTime;
|
||||||
private BigDecimal betAmount;
|
private BigDecimal betAmount;
|
||||||
private Long payoffTime;
|
private Long payoffTime;
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ public class XKGamesDTO {
|
||||||
/**
|
/**
|
||||||
* 游戏id
|
* 游戏id
|
||||||
*/
|
*/
|
||||||
private int gameId;
|
private String gameId;
|
||||||
/**
|
/**
|
||||||
* 名称
|
* 名称
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import com.ff.game.api.request.*;
|
||||||
import com.ff.game.api.xk.client.XKClient;
|
import com.ff.game.api.xk.client.XKClient;
|
||||||
import com.ff.game.api.xk.dto.*;
|
import com.ff.game.api.xk.dto.*;
|
||||||
import com.ff.game.domain.*;
|
import com.ff.game.domain.*;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
import com.ff.game.service.*;
|
import com.ff.game.service.*;
|
||||||
import com.ff.member.domain.Member;
|
import com.ff.member.domain.Member;
|
||||||
import com.ff.member.service.IMemberService;
|
import com.ff.member.service.IMemberService;
|
||||||
|
|
@ -74,6 +75,9 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
@Resource
|
@Resource
|
||||||
private IGameSecretKeyService gameSecretKeyService;
|
private IGameSecretKeyService gameSecretKeyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private XKClient xkClient;
|
private XKClient xkClient;
|
||||||
|
|
||||||
|
|
@ -84,6 +88,9 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
@Resource
|
@Resource
|
||||||
private IGameBettingDetailsService gameBettingDetailsService;
|
private IGameBettingDetailsService gameBettingDetailsService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameNameService gameNameService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得就是成功
|
* 获得就是成功
|
||||||
|
|
@ -273,7 +280,15 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
game = games.get(0);
|
game = games.get(0);
|
||||||
}
|
}
|
||||||
gamesDataDTO.setSystemGameId(game.getId());
|
gamesDataDTO.setSystemGameId(game.getId());
|
||||||
|
List<GameName> gameNames = gameNameService.selectGameNameList(GameName.builder().gameId(game.getId()).gameName(game.getGameName()).build());
|
||||||
|
if (CollectionUtils.isEmpty(gameNames)){
|
||||||
|
gameNameService.insertGameName(GameName.builder()
|
||||||
|
.gameId(game.getId())
|
||||||
|
.gameName(game.getGameName())
|
||||||
|
.langCode("zh-CN")
|
||||||
|
.createBy(Constants.SYSTEM)
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -298,7 +313,11 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
@Transactional
|
@Transactional
|
||||||
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
|
||||||
log.info("GamesXKServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
log.info("GamesXKServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO);
|
||||||
String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.XK.getInfo());
|
GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(GamePlatforms.XK.getInfo())
|
||||||
|
.code(exchangeTransferMoneyRequestDTO.getAgentId())
|
||||||
|
.build());
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount());
|
||||||
String transactionId = GamePlatforms.XK.getCode() + IdUtils.simpleUUID();
|
String transactionId = GamePlatforms.XK.getCode() + IdUtils.simpleUUID();
|
||||||
List<GameExchangeMoney> gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList(
|
List<GameExchangeMoney> gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList(
|
||||||
|
|
@ -317,7 +336,7 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
.quota(exchangeTransferMoneyRequestDTO.getQuota())
|
.quota(exchangeTransferMoneyRequestDTO.getQuota())
|
||||||
.balance(exchangeTransferMoneyRequestDTO.getAmount())
|
.balance(exchangeTransferMoneyRequestDTO.getAmount())
|
||||||
.exchangeType(exchangeTransferMoneyRequestDTO.getTransferType())
|
.exchangeType(exchangeTransferMoneyRequestDTO.getTransferType())
|
||||||
.currencyCode(systemByCode)
|
.currencyCode(currencyDTO.getSystemCurrency())
|
||||||
.memberId(member.getId())
|
.memberId(member.getId())
|
||||||
.transactionId(transactionId)
|
.transactionId(transactionId)
|
||||||
.platformCode(GamePlatforms.XK.getCode())
|
.platformCode(GamePlatforms.XK.getCode())
|
||||||
|
|
@ -549,13 +568,18 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
public GameBettingDetails dataBuild(GamesDataBuildDTO gamesDataBuildDTO) {
|
public GameBettingDetails dataBuild(GamesDataBuildDTO gamesDataBuildDTO) {
|
||||||
//转化类
|
//转化类
|
||||||
XKBetRecordResponseDTO.DataBean.ResultBean resultBean = (XKBetRecordResponseDTO.DataBean.ResultBean) gamesDataBuildDTO.getData();
|
XKBetRecordResponseDTO.DataBean.ResultBean resultBean = (XKBetRecordResponseDTO.DataBean.ResultBean) gamesDataBuildDTO.getData();
|
||||||
String systemByCode = gameSecretKeyService.findSystemByCode(resultBean.getAgentId(), GamePlatforms.XK.getInfo());
|
|
||||||
|
GameSecretKeyCurrency currencyDTO = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(GamePlatforms.XK.getInfo())
|
||||||
|
.code(resultBean.getAgentId())
|
||||||
|
.build());
|
||||||
|
|
||||||
Member member = memberService.selectMemberByGameAccount(resultBean.getAccount());
|
Member member = memberService.selectMemberByGameAccount(resultBean.getAccount());
|
||||||
if (ObjectUtils.isEmpty(member)) {
|
if (ObjectUtils.isEmpty(member)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
List<XKGamesDTO.DataBean> gamesDatas = redisCache.getCacheList(CacheConstants.XK_GAMES);
|
List<XKGamesDTO.DataBean> gamesDatas = redisCache.getCacheList(CacheConstants.XK_GAMES);
|
||||||
Map<Integer, XKGamesDTO.DataBean> dataDTOMap = gamesDatas.stream().collect(Collectors.toMap(XKGamesDTO.DataBean::getGameId, e -> e));
|
Map<String, XKGamesDTO.DataBean> dataDTOMap = gamesDatas.stream().collect(Collectors.toMap(XKGamesDTO.DataBean::getGameId, e -> e));
|
||||||
XKGamesDTO.DataBean gamesDataDTO = dataDTOMap.get(resultBean.getGameId());
|
XKGamesDTO.DataBean gamesDataDTO = dataDTOMap.get(resultBean.getGameId());
|
||||||
BigDecimal payoffAmount = BigDecimal.ZERO;
|
BigDecimal payoffAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
|
@ -568,7 +592,7 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
GameBettingDetails gameBettingDetails = GameBettingDetails.builder()
|
GameBettingDetails gameBettingDetails = GameBettingDetails.builder()
|
||||||
.tenantKey(member.getTenantKey())
|
.tenantKey(member.getTenantKey())
|
||||||
//保存我们的币种id
|
//保存我们的币种id
|
||||||
.currencyCode(systemByCode)
|
.currencyCode(currencyDTO.getSystemCurrency())
|
||||||
.memberId(member.getId())
|
.memberId(member.getId())
|
||||||
.gameCode(resultBean.getGameId())
|
.gameCode(resultBean.getGameId())
|
||||||
.gameType(XKGameType.findSystemByCode(resultBean.getGameCategoryId()))
|
.gameType(XKGameType.findSystemByCode(resultBean.getGameCategoryId()))
|
||||||
|
|
@ -587,6 +611,7 @@ public class GamesXKServiceImpl implements IGamesService {
|
||||||
.settlementTime(resultBean.getSettlementTime())
|
.settlementTime(resultBean.getSettlementTime())
|
||||||
.turnover(resultBean.getTurnover())
|
.turnover(resultBean.getTurnover())
|
||||||
.orderNo(String.valueOf(resultBean.getRoundIndex()))
|
.orderNo(String.valueOf(resultBean.getRoundIndex()))
|
||||||
|
.settlementStatus(SettlementStatusEnum.COMPLETED.getCode())
|
||||||
.build();
|
.build();
|
||||||
gameBettingDetails.setCreateBy(Constants.SYSTEM);
|
gameBettingDetails.setCreateBy(Constants.SYSTEM);
|
||||||
gameBettingDetails.setCreateTime(DateUtils.getNowDate());
|
gameBettingDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 平台子游戏管理对象 ff_game
|
* 平台子游戏管理对象 ff_game
|
||||||
|
|
@ -18,7 +19,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class Game extends BaseEntity
|
public class Game extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员投注细目对象 ff_game_betting_details
|
* 会员投注细目对象 ff_game_betting_details
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GameBettingDetails extends BaseEntity
|
public class GameBettingDetails extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
@ -47,7 +48,7 @@ public class GameBettingDetails extends BaseEntity
|
||||||
|
|
||||||
/** 游戏id */
|
/** 游戏id */
|
||||||
@Excel(name = "游戏id ")
|
@Excel(name = "游戏id ")
|
||||||
private Integer gameCode;
|
private String gameCode;
|
||||||
|
|
||||||
/** 游戏id */
|
/** 游戏id */
|
||||||
@Excel(name = "游戏id")
|
@Excel(name = "游戏id")
|
||||||
|
|
@ -70,7 +71,17 @@ public class GameBettingDetails extends BaseEntity
|
||||||
@Excel(name = "注单状态 1: 赢 2: 输 3: 平局")
|
@Excel(name = "注单状态 1: 赢 2: 输 3: 平局")
|
||||||
private Integer gameStatus;
|
private Integer gameStatus;
|
||||||
|
|
||||||
/** 注单类型 */
|
/** 注单类型
|
||||||
|
* 1 一般下注
|
||||||
|
9 舞龙争霸和梅杜莎的
|
||||||
|
11 道具卡
|
||||||
|
12 游戏内购
|
||||||
|
17 满额必开 (下注)
|
||||||
|
18 满额必开 (开奖)
|
||||||
|
19 免费游戏
|
||||||
|
28 旋转奖金
|
||||||
|
|
||||||
|
*/
|
||||||
@Excel(name = "注单类型")
|
@Excel(name = "注单类型")
|
||||||
private Integer gameStatusType;
|
private Integer gameStatusType;
|
||||||
|
|
||||||
|
|
@ -82,6 +93,27 @@ public class GameBettingDetails extends BaseEntity
|
||||||
@Excel(name = "游戏账号")
|
@Excel(name = "游戏账号")
|
||||||
private String account;
|
private String account;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 局号
|
||||||
|
*/
|
||||||
|
private String round;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 桌号
|
||||||
|
*/
|
||||||
|
private String table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 座号
|
||||||
|
*/
|
||||||
|
private String seat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 投注内容,部分游戏字段内容较长,建议数据库字段类型为 text
|
||||||
|
*/
|
||||||
|
private String betContent;
|
||||||
|
|
||||||
/** 游戏注单唯一值 */
|
/** 游戏注单唯一值 */
|
||||||
@Excel(name = "游戏注单唯一值")
|
@Excel(name = "游戏注单唯一值")
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
|
@ -119,7 +151,7 @@ public class GameBettingDetails extends BaseEntity
|
||||||
@Excel(name = "订单id")
|
@Excel(name = "订单id")
|
||||||
private String orderNo;
|
private String orderNo;
|
||||||
|
|
||||||
/** 结算状态 1 未结算 2已结算 3 已撤单 */
|
/** 结算状态 1 未结算 2已结算 3 已撤单 4 已取消 */
|
||||||
@Excel(name = "结算状态 1 未结算 2已结算 3 已撤单")
|
@Excel(name = "结算状态 1 未结算 2已结算 3 已撤单")
|
||||||
private Integer settlementStatus;
|
private Integer settlementStatus;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员金额转移记录对象 ff_game_exchange_money
|
* 会员金额转移记录对象 ff_game_exchange_money
|
||||||
|
|
@ -20,7 +21,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GameExchangeMoney extends BaseEntity
|
public class GameExchangeMoney extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ import lombok.experimental.SuperBuilder;
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class GameFreeRecord extends BaseEntity
|
public class GameFreeRecord extends BaseEntity
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.ff.game.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.ff.base.annotation.Excel;
|
||||||
|
import com.ff.base.core.domain.BaseEntity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台子游戏名称管理对象 ff_game_name
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class GameName extends BaseEntity {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $column.columnComment
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏id
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
@Excel(name = "游戏id", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Long gameId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏名称
|
||||||
|
*/
|
||||||
|
@Excel(name = "游戏名称")
|
||||||
|
private String gameName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 语言代码
|
||||||
|
*/
|
||||||
|
@Excel(name = "语言代码")
|
||||||
|
private String langCode;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 平台管理对象 ff_game_platform
|
* 平台管理对象 ff_game_platform
|
||||||
|
|
@ -18,7 +19,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class GamePlatform extends BaseEntity
|
public class GamePlatform extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,27 @@
|
||||||
package com.ff.game.domain;
|
package com.ff.game.domain;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
|
||||||
import com.ff.base.annotation.Excel;
|
import com.ff.base.annotation.Excel;
|
||||||
import com.ff.base.core.domain.BaseEntity;
|
import com.ff.base.core.domain.BaseEntity;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 游戏平台密钥管理对象 ff_game_secret_key
|
* 游戏平台密钥管理对象 ff_game_secret_key
|
||||||
*
|
*
|
||||||
* @author shi
|
* @author shi
|
||||||
* @date 2025-02-10
|
* @date 2025-03-13
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
|
||||||
public class GameSecretKey extends BaseEntity
|
public class GameSecretKey extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键id */
|
/** $column.columnComment */
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 平台 */
|
/** 平台 */
|
||||||
|
|
@ -40,26 +37,4 @@ public class GameSecretKey extends BaseEntity
|
||||||
private String key;
|
private String key;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 货币
|
|
||||||
*/
|
|
||||||
private String currency;
|
|
||||||
|
|
||||||
/** 系统币种 */
|
|
||||||
@Excel(name = "系统币种")
|
|
||||||
private String systemCurrency;
|
|
||||||
|
|
||||||
/** 语言 */
|
|
||||||
@Excel(name = "语言")
|
|
||||||
private String lang;
|
|
||||||
|
|
||||||
/** 系统语种id */
|
|
||||||
@Excel(name = "系统语种id")
|
|
||||||
private String systemLangCode;
|
|
||||||
|
|
||||||
/** 信息 */
|
|
||||||
@Excel(name = "信息")
|
|
||||||
private String info;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.ff.game.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.ff.base.annotation.Excel;
|
||||||
|
import com.ff.base.core.domain.BaseEntity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台币种管理对象 ff_game_secret_key_currency
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class GameSecretKeyCurrency extends BaseEntity {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* $column.columnComment
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台
|
||||||
|
*/
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
@Excel(name = "平台", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Long gameSecretKeyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 币种
|
||||||
|
*/
|
||||||
|
@Excel(name = "币种")
|
||||||
|
private String currency;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统代码
|
||||||
|
*/
|
||||||
|
@Excel(name = "系统代码")
|
||||||
|
private String systemCurrency;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.ff.game.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
import com.ff.base.annotation.Excel;
|
||||||
|
import com.ff.base.core.domain.BaseEntity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台语言管理对象 ff_game_secret_key_lang
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
public class GameSecretKeyLang extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** $column.columnComment */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 平台 */
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
|
@Excel(name = "平台", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Long gameSecretKeyId;
|
||||||
|
|
||||||
|
/** 语言 */
|
||||||
|
@Excel(name = "语言")
|
||||||
|
private String lang;
|
||||||
|
|
||||||
|
/** 系统语种id */
|
||||||
|
@Excel(name = "系统语种id")
|
||||||
|
private String systemLangCode;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.ff.game.dto;
|
||||||
|
|
||||||
|
import com.ff.game.domain.Game;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏dto
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/12
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
public class GameDTO extends Game {
|
||||||
|
/**
|
||||||
|
* 平台集合
|
||||||
|
*/
|
||||||
|
private List<String> platformCodes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台代码
|
||||||
|
*/
|
||||||
|
private String platformCode;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.ff.game.dto;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameName;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
public class GameNameDTO extends GameName {
|
||||||
|
/**
|
||||||
|
* 平台代码
|
||||||
|
*/
|
||||||
|
private String platformCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认名称
|
||||||
|
*/
|
||||||
|
private String defaultName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏代码
|
||||||
|
*/
|
||||||
|
private String gameCode;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.ff.game.dto;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameSecretKeyCurrency;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏密钥货币dto
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class GameSecretKeyCurrencyDTO extends GameSecretKeyCurrency {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台
|
||||||
|
*/
|
||||||
|
private String platformCode;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台代码
|
||||||
|
*/
|
||||||
|
private List<String> platformCodes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API code
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏密钥id
|
||||||
|
*/
|
||||||
|
private Long gameSecretKeyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 密钥
|
||||||
|
*/
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.ff.game.dto;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameSecretKey;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏密钥dto
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/12
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class GameSecretKeyDTO extends GameSecretKey {
|
||||||
|
/**
|
||||||
|
* 平台
|
||||||
|
*/
|
||||||
|
private List<String> platforms;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.ff.game.dto;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameSecretKeyLang;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏密钥lang dto
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025/03/13
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
public class GameSecretKeyLangDTO extends GameSecretKeyLang {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台
|
||||||
|
*/
|
||||||
|
private String platformCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* API code
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏密钥id
|
||||||
|
*/
|
||||||
|
private Long gameSecretKeyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 密钥
|
||||||
|
*/
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,7 @@ package com.ff.game.mapper;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ff.game.domain.GameBettingDetails;
|
import com.ff.game.domain.GameBettingDetails;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.security.core.parameters.P;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员投注细目Mapper接口
|
* 会员投注细目Mapper接口
|
||||||
|
|
@ -77,4 +78,13 @@ public interface GameBettingDetailsMapper
|
||||||
* @return int
|
* @return int
|
||||||
*/
|
*/
|
||||||
int batchInsert(List<GameBettingDetails> bettingDetails);
|
int batchInsert(List<GameBettingDetails> bettingDetails);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按投注id删除游戏投注详细信息
|
||||||
|
*
|
||||||
|
* @param wagersIds 投注id
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
int deleteGameBettingDetailsByWagersId(@Param("wagersIds") List<Long> wagersIds);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||||
import com.ff.api.response.GameResponse;
|
import com.ff.api.response.GameResponse;
|
||||||
import com.ff.game.api.request.GameUniqueDTO;
|
import com.ff.game.api.request.GameUniqueDTO;
|
||||||
import com.ff.game.domain.Game;
|
import com.ff.game.domain.Game;
|
||||||
|
import com.ff.game.dto.GameDTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 平台子游戏管理Mapper接口
|
* 平台子游戏管理Mapper接口
|
||||||
|
|
@ -87,4 +88,13 @@ public interface GameMapper
|
||||||
*/
|
*/
|
||||||
List<GameResponse> selectGameResponseList();
|
List<GameResponse> selectGameResponseList();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择游戏数据列表
|
||||||
|
*
|
||||||
|
* @param gameDTO 游戏dto
|
||||||
|
* @return {@link List }<{@link Game }>
|
||||||
|
*/
|
||||||
|
List<Game> selectGameDTOList(GameDTO gameDTO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
package com.ff.game.mapper;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameName;
|
||||||
|
import com.ff.game.dto.GameDTO;
|
||||||
|
import com.ff.game.dto.GameNameDTO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台子游戏名称管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
public interface GameNameMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param id 平台子游戏名称管理主键
|
||||||
|
* @return 平台子游戏名称管理
|
||||||
|
*/
|
||||||
|
GameName selectGameNameById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询平台子游戏名称管理列表
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 平台子游戏名称管理集合
|
||||||
|
*/
|
||||||
|
List<GameName> selectGameNameList(GameName gameName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int insertGameName(GameName gameName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int updateGameName(GameName gameName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param id 平台子游戏名称管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameNameById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameNameByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择游戏名称数据列表
|
||||||
|
*
|
||||||
|
* @param gameNameDTO 游戏dto
|
||||||
|
* @return {@link List }<{@link GameDTO }>
|
||||||
|
*/
|
||||||
|
List<GameDTO> selectGameNameDTOList(GameNameDTO gameNameDTO);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
package com.ff.game.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.ff.game.domain.GameSecretKeyCurrency;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台币种管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
public interface GameSecretKeyCurrencyMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台币种管理主键
|
||||||
|
* @return 游戏平台币种管理
|
||||||
|
*/
|
||||||
|
GameSecretKeyCurrency selectGameSecretKeyCurrencyById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台币种管理列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 游戏平台币种管理集合
|
||||||
|
*/
|
||||||
|
List<GameSecretKeyCurrency> selectGameSecretKeyCurrencyList(GameSecretKeyCurrency gameSecretKeyCurrency);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int insertGameSecretKeyCurrency(GameSecretKeyCurrency gameSecretKeyCurrency);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int updateGameSecretKeyCurrency(GameSecretKeyCurrency gameSecretKeyCurrency);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台币种管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyCurrencyById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyCurrencyByIds(Long[] ids);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按游戏找到密钥货币dto
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrencyDTO 游戏密钥货币dto
|
||||||
|
* @return {@link GameSecretKeyCurrencyDTO }
|
||||||
|
*/
|
||||||
|
GameSecretKeyCurrencyDTO findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按游戏查找密钥货币数据列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrencyDTO 游戏密钥货币dto
|
||||||
|
* @return {@link List }<{@link GameSecretKeyCurrencyDTO }>
|
||||||
|
*/
|
||||||
|
List<GameSecretKeyCurrencyDTO> findByGameSecretKeyCurrencyDTOList(GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,71 @@
|
||||||
|
package com.ff.game.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import com.ff.game.domain.GameSecretKeyLang;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.dto.GameSecretKeyLangDTO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台语言管理Mapper接口
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
public interface GameSecretKeyLangMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台语言管理主键
|
||||||
|
* @return 游戏平台语言管理
|
||||||
|
*/
|
||||||
|
GameSecretKeyLang selectGameSecretKeyLangById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台语言管理列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 游戏平台语言管理集合
|
||||||
|
*/
|
||||||
|
List<GameSecretKeyLang> selectGameSecretKeyLangList(GameSecretKeyLang gameSecretKeyLang);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int insertGameSecretKeyLang(GameSecretKeyLang gameSecretKeyLang);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int updateGameSecretKeyLang(GameSecretKeyLang gameSecretKeyLang);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台语言管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyLangById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的数据主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyLangByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查找游戏密钥货币dto
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLangDTO 游戏密钥货币dto
|
||||||
|
* @return {@link GameSecretKeyLangDTO }
|
||||||
|
*/
|
||||||
|
GameSecretKeyLangDTO findGameSecretKeyLangDTO(GameSecretKeyLangDTO gameSecretKeyLangDTO);
|
||||||
|
}
|
||||||
|
|
@ -1,16 +1,13 @@
|
||||||
package com.ff.game.mapper;
|
package com.ff.game.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.ff.base.system.domain.TenantSecretKey;
|
|
||||||
import com.ff.game.domain.GameSecretKey;
|
import com.ff.game.domain.GameSecretKey;
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 游戏平台密钥管理Mapper接口
|
* 游戏平台密钥管理Mapper接口
|
||||||
*
|
*
|
||||||
* @author shi
|
* @author shi
|
||||||
* @date 2025-02-10
|
* @date 2025-03-13
|
||||||
*/
|
*/
|
||||||
public interface GameSecretKeyMapper
|
public interface GameSecretKeyMapper
|
||||||
{
|
{
|
||||||
|
|
@ -61,30 +58,4 @@ public interface GameSecretKeyMapper
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int deleteGameSecretKeyByIds(Long[] ids);
|
int deleteGameSecretKeyByIds(Long[] ids);
|
||||||
|
|
||||||
/**
|
|
||||||
* 按代码查找系统
|
|
||||||
*
|
|
||||||
* @param code 代码
|
|
||||||
* @return {@link String }
|
|
||||||
*/
|
|
||||||
String findSystemByCode(@Param("code") String code, @Param("platform")String platform);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过平台和系统代码查找密钥
|
|
||||||
*
|
|
||||||
* @param platform 平台
|
|
||||||
* @param systemCode 系统代码
|
|
||||||
* @return {@link TenantSecretKey }
|
|
||||||
*/
|
|
||||||
GameSecretKey findSecretKeyByPlatformAndSystemCurrency(@Param("platform") String platform, @Param("systemCurrency") String systemCode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 按平台和系统查找lang代码
|
|
||||||
*
|
|
||||||
* @param platform 平台
|
|
||||||
* @param systemLangCode 系统语言代码
|
|
||||||
* @return {@link GameSecretKey }
|
|
||||||
*/
|
|
||||||
GameSecretKey findByPlatformAndSystemLangCode(@Param("platform") String platform, @Param("systemLangCode") String systemLangCode);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ public interface IGameBettingDetailsService
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员投注细目列表
|
* 查询会员投注细目列表
|
||||||
*
|
*
|
||||||
|
|
@ -80,4 +81,12 @@ public interface IGameBettingDetailsService
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int deleteGameBettingDetailsById(Long id);
|
int deleteGameBettingDetailsById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按投注id删除游戏投注详细信息
|
||||||
|
*
|
||||||
|
* @param wagersId 投注id
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
int deleteGameBettingDetailsByWagersId(List<Long> wagersId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
package com.ff.game.service;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameName;
|
||||||
|
import com.ff.game.dto.GameDTO;
|
||||||
|
import com.ff.game.dto.GameNameDTO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台子游戏名称管理Service接口
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
public interface IGameNameService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param id 平台子游戏名称管理主键
|
||||||
|
* @return 平台子游戏名称管理
|
||||||
|
*/
|
||||||
|
GameName selectGameNameById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询平台子游戏名称管理列表
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 平台子游戏名称管理集合
|
||||||
|
*/
|
||||||
|
List<GameName> selectGameNameList(GameName gameName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int insertGameName(GameName gameName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int updateGameName(GameName gameName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的平台子游戏名称管理主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameNameByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除平台子游戏名称管理信息
|
||||||
|
*
|
||||||
|
* @param id 平台子游戏名称管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameNameById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择游戏名称数据列表
|
||||||
|
*
|
||||||
|
* @param gameNameDTO 游戏dto
|
||||||
|
* @return {@link List }<{@link GameDTO }>
|
||||||
|
*/
|
||||||
|
List<GameDTO> selectGameNameDTOList(GameNameDTO gameNameDTO);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,86 @@
|
||||||
|
package com.ff.game.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameName;
|
||||||
|
import com.ff.game.domain.GameSecretKey;
|
||||||
|
import com.ff.game.domain.GameSecretKeyCurrency;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.dto.GameSecretKeyDTO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台币种管理Service接口
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
public interface IGameSecretKeyCurrencyService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台币种管理主键
|
||||||
|
* @return 游戏平台币种管理
|
||||||
|
*/
|
||||||
|
GameSecretKeyCurrency selectGameSecretKeyCurrencyById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台币种管理列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 游戏平台币种管理集合
|
||||||
|
*/
|
||||||
|
List<GameSecretKeyCurrency> selectGameSecretKeyCurrencyList(GameSecretKeyCurrency gameSecretKeyCurrency);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int insertGameSecretKeyCurrency(GameSecretKeyCurrency gameSecretKeyCurrency);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int updateGameSecretKeyCurrency(GameSecretKeyCurrency gameSecretKeyCurrency);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的游戏平台币种管理主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyCurrencyByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除游戏平台币种管理信息
|
||||||
|
*
|
||||||
|
* @param id 游戏平台币种管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyCurrencyById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按游戏找到密钥货币dto
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrencyDTO 游戏密钥货币dto
|
||||||
|
* @return {@link GameSecretKeyCurrencyDTO }
|
||||||
|
*/
|
||||||
|
GameSecretKeyCurrencyDTO findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按游戏查找密钥货币数据列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrencyDTO 游戏密钥货币dto
|
||||||
|
* @return {@link List }<{@link GameSecretKeyCurrencyDTO }>
|
||||||
|
*/
|
||||||
|
List<GameSecretKeyCurrencyDTO> findByGameSecretKeyCurrencyDTOList(GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
package com.ff.game.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ff.game.domain.GameSecretKeyLang;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.dto.GameSecretKeyDTO;
|
||||||
|
import com.ff.game.dto.GameSecretKeyLangDTO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台语言管理Service接口
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
public interface IGameSecretKeyLangService {
|
||||||
|
/**
|
||||||
|
* 查询游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台语言管理主键
|
||||||
|
* @return 游戏平台语言管理
|
||||||
|
*/
|
||||||
|
GameSecretKeyLang selectGameSecretKeyLangById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台语言管理列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 游戏平台语言管理集合
|
||||||
|
*/
|
||||||
|
List<GameSecretKeyLang> selectGameSecretKeyLangList(GameSecretKeyLang gameSecretKeyLang);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int insertGameSecretKeyLang(GameSecretKeyLang gameSecretKeyLang);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int updateGameSecretKeyLang(GameSecretKeyLang gameSecretKeyLang);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的游戏平台语言管理主键集合
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyLangByIds(Long[] ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除游戏平台语言管理信息
|
||||||
|
*
|
||||||
|
* @param id 游戏平台语言管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteGameSecretKeyLangById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查找游戏密钥货币dto
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLangDTO 游戏密钥货币dto
|
||||||
|
* @return {@link GameSecretKeyLangDTO }
|
||||||
|
*/
|
||||||
|
GameSecretKeyLangDTO findGameSecretKeyLangDTO(GameSecretKeyLangDTO gameSecretKeyLangDTO);
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
package com.ff.game.service;
|
package com.ff.game.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.ff.game.domain.GameSecretKey;
|
import com.ff.game.domain.GameSecretKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 游戏平台密钥管理Service接口
|
* 游戏平台密钥管理Service接口
|
||||||
*
|
*
|
||||||
* @author shi
|
* @author shi
|
||||||
* @date 2025-02-10
|
* @date 2025-03-13
|
||||||
*/
|
*/
|
||||||
public interface IGameSecretKeyService
|
public interface IGameSecretKeyService
|
||||||
{
|
{
|
||||||
|
|
@ -59,35 +58,4 @@ public interface IGameSecretKeyService
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
int deleteGameSecretKeyById(Long id);
|
int deleteGameSecretKeyById(Long id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 按代码查找系统
|
|
||||||
*
|
|
||||||
* @param code 代码
|
|
||||||
* @param platform 平台
|
|
||||||
* @return {@link String }
|
|
||||||
*/
|
|
||||||
String findSystemByCode( String code,String platform);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过平台和系统代码查找密钥
|
|
||||||
*
|
|
||||||
* @param platform 平台
|
|
||||||
* @param systemCode 系统代码
|
|
||||||
* @return {@link GameSecretKey }
|
|
||||||
*/
|
|
||||||
GameSecretKey findSecretKeyByPlatformAndSystemCurrency(String platform, String systemCode);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 按平台和系统查找lang代码
|
|
||||||
*
|
|
||||||
* @param platform 平台
|
|
||||||
* @param systemLangCode 系统语言代码
|
|
||||||
* @return {@link GameSecretKey }
|
|
||||||
*/
|
|
||||||
GameSecretKey findByPlatformAndSystemLangCode( String platform,String systemLangCode);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import java.util.List;
|
||||||
import com.ff.api.response.GameResponse;
|
import com.ff.api.response.GameResponse;
|
||||||
import com.ff.game.api.request.GameUniqueDTO;
|
import com.ff.game.api.request.GameUniqueDTO;
|
||||||
import com.ff.game.domain.Game;
|
import com.ff.game.domain.Game;
|
||||||
|
import com.ff.game.dto.GameDTO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 平台子游戏管理Service接口
|
* 平台子游戏管理Service接口
|
||||||
|
|
@ -30,6 +31,15 @@ public interface IGameService
|
||||||
*/
|
*/
|
||||||
List<Game> selectGameList(Game game);
|
List<Game> selectGameList(Game game);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择游戏数据列表
|
||||||
|
*
|
||||||
|
* @param gameDTO 游戏dto
|
||||||
|
* @return {@link List }<{@link Game }>
|
||||||
|
*/
|
||||||
|
List<Game> selectGameDTOList(GameDTO gameDTO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增平台子游戏管理
|
* 新增平台子游戏管理
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -119,4 +119,15 @@ public class GameBettingDetailsServiceImpl implements IGameBettingDetailsService
|
||||||
{
|
{
|
||||||
return gameBettingDetailsMapper.deleteGameBettingDetailsById(id);
|
return gameBettingDetailsMapper.deleteGameBettingDetailsById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按投注id删除游戏投注详细信息
|
||||||
|
*
|
||||||
|
* @param wagersId 投注id
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameBettingDetailsByWagersId(List<Long> wagersId) {
|
||||||
|
return gameBettingDetailsMapper.deleteGameBettingDetailsByWagersId(wagersId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,113 @@
|
||||||
|
package com.ff.game.service.impl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import com.ff.base.utils.DateUtils;
|
||||||
|
import com.ff.game.domain.GameName;
|
||||||
|
import com.ff.game.dto.GameDTO;
|
||||||
|
import com.ff.game.dto.GameNameDTO;
|
||||||
|
import com.ff.game.mapper.GameNameMapper;
|
||||||
|
import com.ff.game.service.IGameNameService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 平台子游戏名称管理Service业务层处理
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GameNameServiceImpl implements IGameNameService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private GameNameMapper gameNameMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param id 平台子游戏名称管理主键
|
||||||
|
* @return 平台子游戏名称管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public GameName selectGameNameById(Long id)
|
||||||
|
{
|
||||||
|
return gameNameMapper.selectGameNameById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询平台子游戏名称管理列表
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 平台子游戏名称管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<GameName> selectGameNameList(GameName gameName)
|
||||||
|
{
|
||||||
|
return gameNameMapper.selectGameNameList(gameName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertGameName(GameName gameName)
|
||||||
|
{
|
||||||
|
gameName.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
gameName.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return gameNameMapper.insertGameName(gameName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param gameName 平台子游戏名称管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateGameName(GameName gameName)
|
||||||
|
{
|
||||||
|
gameName.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return gameNameMapper.updateGameName(gameName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除平台子游戏名称管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的平台子游戏名称管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameNameByIds(Long[] ids)
|
||||||
|
{
|
||||||
|
return gameNameMapper.deleteGameNameByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除平台子游戏名称管理信息
|
||||||
|
*
|
||||||
|
* @param id 平台子游戏名称管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameNameById(Long id)
|
||||||
|
{
|
||||||
|
return gameNameMapper.deleteGameNameById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择游戏名称数据列表
|
||||||
|
*
|
||||||
|
* @param gameNameDTO 游戏dto
|
||||||
|
* @return {@link List }<{@link GameDTO }>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<GameDTO> selectGameNameDTOList(GameNameDTO gameNameDTO) {
|
||||||
|
return gameNameMapper.selectGameNameDTOList(gameNameDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
package com.ff.game.service.impl;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import com.ff.base.utils.DateUtils;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ff.game.mapper.GameSecretKeyCurrencyMapper;
|
||||||
|
import com.ff.game.domain.GameSecretKeyCurrency;
|
||||||
|
import com.ff.game.service.IGameSecretKeyCurrencyService;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台币种管理Service业务层处理
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GameSecretKeyCurrencyServiceImpl implements IGameSecretKeyCurrencyService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private GameSecretKeyCurrencyMapper gameSecretKeyCurrencyMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台币种管理主键
|
||||||
|
* @return 游戏平台币种管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public GameSecretKeyCurrency selectGameSecretKeyCurrencyById(Long id)
|
||||||
|
{
|
||||||
|
return gameSecretKeyCurrencyMapper.selectGameSecretKeyCurrencyById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台币种管理列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 游戏平台币种管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<GameSecretKeyCurrency> selectGameSecretKeyCurrencyList(GameSecretKeyCurrency gameSecretKeyCurrency)
|
||||||
|
{
|
||||||
|
return gameSecretKeyCurrencyMapper.selectGameSecretKeyCurrencyList(gameSecretKeyCurrency);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertGameSecretKeyCurrency(GameSecretKeyCurrency gameSecretKeyCurrency)
|
||||||
|
{
|
||||||
|
gameSecretKeyCurrency.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
gameSecretKeyCurrency.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return gameSecretKeyCurrencyMapper.insertGameSecretKeyCurrency(gameSecretKeyCurrency);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrency 游戏平台币种管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateGameSecretKeyCurrency(GameSecretKeyCurrency gameSecretKeyCurrency)
|
||||||
|
{
|
||||||
|
gameSecretKeyCurrency.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return gameSecretKeyCurrencyMapper.updateGameSecretKeyCurrency(gameSecretKeyCurrency);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除游戏平台币种管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的游戏平台币种管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameSecretKeyCurrencyByIds(Long[] ids)
|
||||||
|
{
|
||||||
|
return gameSecretKeyCurrencyMapper.deleteGameSecretKeyCurrencyByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除游戏平台币种管理信息
|
||||||
|
*
|
||||||
|
* @param id 游戏平台币种管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameSecretKeyCurrencyById(Long id)
|
||||||
|
{
|
||||||
|
return gameSecretKeyCurrencyMapper.deleteGameSecretKeyCurrencyById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按游戏找到密钥货币dto
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrencyDTO 游戏密钥货币dto
|
||||||
|
* @return {@link GameSecretKeyCurrency }
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public GameSecretKeyCurrencyDTO findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO) {
|
||||||
|
return gameSecretKeyCurrencyMapper.findByGameSecretKeyCurrencyDTO(gameSecretKeyCurrencyDTO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 按游戏查找密钥货币数据列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyCurrencyDTO 游戏密钥货币dto
|
||||||
|
* @return {@link List }<{@link GameSecretKeyCurrencyDTO }>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<GameSecretKeyCurrencyDTO> findByGameSecretKeyCurrencyDTOList(GameSecretKeyCurrencyDTO gameSecretKeyCurrencyDTO) {
|
||||||
|
return gameSecretKeyCurrencyMapper.findByGameSecretKeyCurrencyDTOList(gameSecretKeyCurrencyDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,106 @@
|
||||||
|
package com.ff.game.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ff.base.utils.DateUtils;
|
||||||
|
import com.ff.game.dto.GameSecretKeyCurrencyDTO;
|
||||||
|
import com.ff.game.dto.GameSecretKeyLangDTO;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ff.game.mapper.GameSecretKeyLangMapper;
|
||||||
|
import com.ff.game.domain.GameSecretKeyLang;
|
||||||
|
import com.ff.game.service.IGameSecretKeyLangService;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 游戏平台语言管理Service业务层处理
|
||||||
|
*
|
||||||
|
* @author shi
|
||||||
|
* @date 2025-03-13
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class GameSecretKeyLangServiceImpl implements IGameSecretKeyLangService {
|
||||||
|
@Autowired
|
||||||
|
private GameSecretKeyLangMapper gameSecretKeyLangMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param id 游戏平台语言管理主键
|
||||||
|
* @return 游戏平台语言管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public GameSecretKeyLang selectGameSecretKeyLangById(Long id) {
|
||||||
|
return gameSecretKeyLangMapper.selectGameSecretKeyLangById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询游戏平台语言管理列表
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 游戏平台语言管理
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<GameSecretKeyLang> selectGameSecretKeyLangList(GameSecretKeyLang gameSecretKeyLang) {
|
||||||
|
return gameSecretKeyLangMapper.selectGameSecretKeyLangList(gameSecretKeyLang);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insertGameSecretKeyLang(GameSecretKeyLang gameSecretKeyLang) {
|
||||||
|
gameSecretKeyLang.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
gameSecretKeyLang.setCreateTime(DateUtils.getNowDate());
|
||||||
|
return gameSecretKeyLangMapper.insertGameSecretKeyLang(gameSecretKeyLang);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLang 游戏平台语言管理
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int updateGameSecretKeyLang(GameSecretKeyLang gameSecretKeyLang) {
|
||||||
|
gameSecretKeyLang.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
return gameSecretKeyLangMapper.updateGameSecretKeyLang(gameSecretKeyLang);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除游戏平台语言管理
|
||||||
|
*
|
||||||
|
* @param ids 需要删除的游戏平台语言管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameSecretKeyLangByIds(Long[] ids) {
|
||||||
|
return gameSecretKeyLangMapper.deleteGameSecretKeyLangByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除游戏平台语言管理信息
|
||||||
|
*
|
||||||
|
* @param id 游戏平台语言管理主键
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int deleteGameSecretKeyLangById(Long id) {
|
||||||
|
return gameSecretKeyLangMapper.deleteGameSecretKeyLangById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查找游戏密钥货币dto
|
||||||
|
*
|
||||||
|
* @param gameSecretKeyLangDTO 游戏密钥货币dto
|
||||||
|
* @return {@link GameSecretKeyLangDTO }
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public GameSecretKeyLangDTO findGameSecretKeyLangDTO(GameSecretKeyLangDTO gameSecretKeyLangDTO) {
|
||||||
|
return gameSecretKeyLangMapper.findGameSecretKeyLangDTO(gameSecretKeyLangDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
package com.ff.game.service.impl;
|
package com.ff.game.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
|
||||||
import com.ff.base.utils.DateUtils;
|
import com.ff.base.utils.DateUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ff.game.mapper.GameSecretKeyMapper;
|
import com.ff.game.mapper.GameSecretKeyMapper;
|
||||||
import com.ff.game.domain.GameSecretKey;
|
import com.ff.game.domain.GameSecretKey;
|
||||||
import com.ff.game.service.IGameSecretKeyService;
|
import com.ff.game.service.IGameSecretKeyService;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 游戏平台密钥管理Service业务层处理
|
* 游戏平台密钥管理Service业务层处理
|
||||||
*
|
*
|
||||||
* @author shi
|
* @author shi
|
||||||
* @date 2025-02-10
|
* @date 2025-03-13
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class GameSecretKeyServiceImpl implements IGameSecretKeyService
|
public class GameSecretKeyServiceImpl implements IGameSecretKeyService
|
||||||
|
|
@ -96,41 +96,4 @@ public class GameSecretKeyServiceImpl implements IGameSecretKeyService
|
||||||
{
|
{
|
||||||
return gameSecretKeyMapper.deleteGameSecretKeyById(id);
|
return gameSecretKeyMapper.deleteGameSecretKeyById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 按代码查找系统
|
|
||||||
*
|
|
||||||
* @param code 代码
|
|
||||||
* @param platform 平台
|
|
||||||
* @return {@link String }
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public String findSystemByCode(String code,String platform) {
|
|
||||||
return gameSecretKeyMapper.findSystemByCode(code,platform);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过平台和系统代码查找密钥
|
|
||||||
*
|
|
||||||
* @param platform 平台
|
|
||||||
* @param systemCode 系统代码
|
|
||||||
* @return {@link GameSecretKey }
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public GameSecretKey findSecretKeyByPlatformAndSystemCurrency(String platform, String systemCode) {
|
|
||||||
return gameSecretKeyMapper.findSecretKeyByPlatformAndSystemCurrency(platform,systemCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 按平台和系统查找lang代码
|
|
||||||
*
|
|
||||||
* @param platform 平台
|
|
||||||
* @param systemLangCode 系统语言代码
|
|
||||||
* @return {@link GameSecretKey }
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public GameSecretKey findByPlatformAndSystemLangCode(String platform, String systemLangCode) {
|
|
||||||
return gameSecretKeyMapper.findByPlatformAndSystemLangCode(platform,systemLangCode);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import com.ff.api.response.GameResponse;
|
||||||
import com.ff.base.constant.ConfigConstants;
|
import com.ff.base.constant.ConfigConstants;
|
||||||
import com.ff.base.utils.DateUtils;
|
import com.ff.base.utils.DateUtils;
|
||||||
import com.ff.game.api.request.GameUniqueDTO;
|
import com.ff.game.api.request.GameUniqueDTO;
|
||||||
|
import com.ff.game.dto.GameDTO;
|
||||||
import com.ff.member.service.IMemberService;
|
import com.ff.member.service.IMemberService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
@ -56,6 +57,17 @@ public class GameServiceImpl implements IGameService
|
||||||
return gameMapper.selectGameList(game);
|
return gameMapper.selectGameList(game);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择游戏数据列表
|
||||||
|
*
|
||||||
|
* @param gameDTO 游戏dto
|
||||||
|
* @return {@link List }<{@link Game }>
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<Game> selectGameDTOList(GameDTO gameDTO) {
|
||||||
|
return gameMapper.selectGameDTOList(gameDTO);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增平台子游戏管理
|
* 新增平台子游戏管理
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员对象 ff_member
|
* 会员对象 ff_member
|
||||||
|
|
@ -18,7 +19,7 @@ import lombok.NoArgsConstructor;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class Member extends BaseEntity
|
public class Member extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -3,22 +3,39 @@ package com.ff.quartz.task;
|
||||||
import com.ff.base.constant.Constants;
|
import com.ff.base.constant.Constants;
|
||||||
import com.ff.base.datasource.DynamicDataSourceContextHolder;
|
import com.ff.base.datasource.DynamicDataSourceContextHolder;
|
||||||
import com.ff.base.enums.GamePlatforms;
|
import com.ff.base.enums.GamePlatforms;
|
||||||
|
import com.ff.base.enums.NGPlatforms;
|
||||||
|
import com.ff.base.enums.StatusType;
|
||||||
import com.ff.base.utils.DateUtils;
|
import com.ff.base.utils.DateUtils;
|
||||||
import com.ff.game.api.IGamesService;
|
import com.ff.game.api.IGamesService;
|
||||||
|
import com.ff.game.api.ng.client.NGClient;
|
||||||
|
import com.ff.game.api.ng.dto.ApiExchangeTransferStatusResponseDTO;
|
||||||
|
import com.ff.game.api.ng.dto.ApiNGResponseDTO;
|
||||||
import com.ff.game.api.request.BetRecordByTimeDTO;
|
import com.ff.game.api.request.BetRecordByTimeDTO;
|
||||||
|
import com.ff.game.api.request.ExchangeTransferStatusRequestDTO;
|
||||||
import com.ff.game.api.request.GamesBaseRequestDTO;
|
import com.ff.game.api.request.GamesBaseRequestDTO;
|
||||||
import com.ff.game.api.request.GetFreeSpinDashflowRequestDTO;
|
import com.ff.game.api.request.GetFreeSpinDashflowRequestDTO;
|
||||||
|
import com.ff.game.domain.GameExchangeMoney;
|
||||||
import com.ff.game.domain.GameSecretKey;
|
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.IGameSecretKeyService;
|
||||||
|
import com.ff.member.domain.Member;
|
||||||
|
import com.ff.member.service.IMemberService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationEventPublisher;
|
import org.springframework.context.ApplicationEventPublisher;
|
||||||
|
import org.springframework.scheduling.annotation.AsyncConfigurationSelector;
|
||||||
|
import org.springframework.security.core.parameters.P;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
import javax.xml.crypto.dsig.keyinfo.PGPData;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -40,6 +57,21 @@ public class GameTask {
|
||||||
@Resource
|
@Resource
|
||||||
private IGameSecretKeyService gameSecretKeyService;
|
private IGameSecretKeyService gameSecretKeyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGamePlatformService gamePlatformService;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private NGClient ngClient;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameExchangeMoneyService gameExchangeMoneyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IGameSecretKeyCurrencyService gameSecretKeyCurrencyService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IMemberService memberService;
|
||||||
/**
|
/**
|
||||||
* 插入游戏投注详细信息
|
* 插入游戏投注详细信息
|
||||||
*/
|
*/
|
||||||
|
|
@ -50,13 +82,14 @@ public class GameTask {
|
||||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), backTime);
|
||||||
Long endTime = DateUtils.getNowDate();
|
Long endTime = DateUtils.getNowDate();
|
||||||
|
|
||||||
Map<Object, DataSource> resolvedDataSources = DynamicDataSourceContextHolder.getAllDataSource();
|
|
||||||
for (Map.Entry<Object, DataSource> entry : resolvedDataSources.entrySet()) {
|
|
||||||
Object key = entry.getKey();
|
|
||||||
// 设置数据源类型
|
|
||||||
DynamicDataSourceContextHolder.setDataSourceType(key.toString());
|
|
||||||
for (String gameKey : gamesService.keySet()) {
|
for (String gameKey : gamesService.keySet()) {
|
||||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(gameKey.replace(Constants.SERVICE, "")).build());
|
String platformCode = gameKey.replace(Constants.SERVICE, "");
|
||||||
|
if (NGPlatforms.exists(platformCode)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(platformCode).build());
|
||||||
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
for (GameSecretKey gameSecretKey : gameSecretKeys) {
|
||||||
try {
|
try {
|
||||||
gamesService.get(gameKey).getGameList(GamesBaseRequestDTO.builder()
|
gamesService.get(gameKey).getGameList(GamesBaseRequestDTO.builder()
|
||||||
|
|
@ -78,18 +111,32 @@ public class GameTask {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插入游戏ngbetting详细信息
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void insertGameNGBettingDetails() {
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
BetRecordByTimeDTO betRecordByTimeDTO = new BetRecordByTimeDTO();
|
||||||
|
gamesService.get(NGPlatforms.PG.getPlatform() + Constants.SERVICE).getBetRecordByTime(betRecordByTimeDTO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("查询 NG 投注记录失败,错误信息 {}", e);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插入免费游戏局数情况
|
* 插入免费游戏局数情况
|
||||||
*/
|
*/
|
||||||
public void insertFreeSpinDashflow() {
|
public void insertFreeSpinDashflow() {
|
||||||
Map<Object, DataSource> resolvedDataSources = DynamicDataSourceContextHolder.getAllDataSource();
|
|
||||||
for (Map.Entry<Object, DataSource> entry : resolvedDataSources.entrySet()) {
|
|
||||||
Object key = entry.getKey();
|
|
||||||
// 设置数据源类型
|
|
||||||
DynamicDataSourceContextHolder.setDataSourceType(key.toString());
|
|
||||||
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), -70);
|
Long startTime = DateUtils.addOrSubtractMinutes(DateUtils.getNowDate(), -70);
|
||||||
for (String gameKey : gamesService.keySet()) {
|
for (String gameKey : gamesService.keySet()) {
|
||||||
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(gameKey.replace(Constants.SERVICE, "")).build());
|
List<GameSecretKey> gameSecretKeys = gameSecretKeyService.selectGameSecretKeyList(GameSecretKey.builder().platform(gameKey.replace(Constants.SERVICE, "")).build());
|
||||||
|
|
@ -105,9 +152,34 @@ public class GameTask {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void updateGameExchangeMoney() {
|
||||||
|
List<GameExchangeMoney> gameExchangeMoneyList = gameExchangeMoneyService.selectGameExchangeMoneyList(GameExchangeMoney.builder().status(StatusType.IN_PROGRESS.getValue()).build());
|
||||||
|
for (GameExchangeMoney exchangeMoney : gameExchangeMoneyList) {
|
||||||
|
try {
|
||||||
|
GameSecretKeyCurrencyDTO gameSecretKey = gameSecretKeyCurrencyService.findByGameSecretKeyCurrencyDTO(GameSecretKeyCurrencyDTO.builder()
|
||||||
|
.platformCode(exchangeMoney.getPlatformCode())
|
||||||
|
.systemCurrency(exchangeMoney.getCurrencyCode()).build());
|
||||||
|
Member member = memberService.selectMemberById(exchangeMoney.getMemberId());
|
||||||
|
|
||||||
|
ExchangeTransferStatusRequestDTO exchangeTransferStatusRequestDTO = new ExchangeTransferStatusRequestDTO();
|
||||||
|
exchangeTransferStatusRequestDTO.setAccount(member.getGameAccount());
|
||||||
|
exchangeTransferStatusRequestDTO.setCurrency(gameSecretKey.getCurrency());
|
||||||
|
exchangeTransferStatusRequestDTO.setOrderId(exchangeMoney.getTransactionId());
|
||||||
|
exchangeTransferStatusRequestDTO.setAgentId(gameSecretKey.getCode());
|
||||||
|
exchangeTransferStatusRequestDTO.setAgentKey(gameSecretKey.getKey());
|
||||||
|
gamesService.get(exchangeMoney.getPlatformCode()+Constants.SERVICE).exchangeTransferStatus(exchangeTransferStatusRequestDTO);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("查询 更新交易记录失败,错误信息 {}", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -19,7 +20,7 @@ import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Builder
|
@SuperBuilder
|
||||||
public class TenantDTO implements java.io.Serializable{
|
public class TenantDTO implements java.io.Serializable{
|
||||||
private static final long serialVersionUID = 4132444654065053186L;
|
private static final long serialVersionUID = 4132444654065053186L;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="gameStatusType" column="game_status_type" />
|
<result property="gameStatusType" column="game_status_type" />
|
||||||
<result property="gameCurrencyCode" column="game_currency_code" />
|
<result property="gameCurrencyCode" column="game_currency_code" />
|
||||||
<result property="account" column="account" />
|
<result property="account" column="account" />
|
||||||
|
<result property="round" column="round" />
|
||||||
|
<result property="table" column="table" />
|
||||||
|
<result property="seat" column="seat" />
|
||||||
|
<result property="betContent" column="bet_content" />
|
||||||
|
|
||||||
<result property="wagersId" column="wagers_id" />
|
<result property="wagersId" column="wagers_id" />
|
||||||
<result property="wagersTime" column="wagers_time" />
|
<result property="wagersTime" column="wagers_time" />
|
||||||
<result property="betAmount" column="bet_amount" />
|
<result property="betAmount" column="bet_amount" />
|
||||||
|
|
@ -34,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectGameBettingDetailsVo">
|
<sql id="selectGameBettingDetailsVo">
|
||||||
select id,tenant_key, currency_code, member_id, game_code, game_id, game_type, platform_code, game_name, game_status, game_status_type, game_currency_code, account, wagers_id, wagers_time, bet_amount, payoff_time, payoff_amount, settlement_time, turnover, order_no, settlement_status, create_by, create_time, update_by, update_time from ff_game_betting_details
|
select id,tenant_key, currency_code, member_id, game_code, game_id, game_type, platform_code, game_name, game_status, game_status_type, game_currency_code, account, round, `table`, seat, bet_content, wagers_id, wagers_time, bet_amount, payoff_time, payoff_amount, settlement_time, turnover, order_no, settlement_status, create_by, create_time, update_by, update_time from ff_game_betting_details
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectGameBettingDetailsList" parameterType="GameBettingDetails" resultMap="GameBettingDetailsResult">
|
<select id="selectGameBettingDetailsList" parameterType="GameBettingDetails" resultMap="GameBettingDetailsResult">
|
||||||
|
|
@ -84,6 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<foreach item="wagersId" collection="wagersIds" open="(" separator="," close=")">
|
<foreach item="wagersId" collection="wagersIds" open="(" separator="," close=")">
|
||||||
#{wagersId}
|
#{wagersId}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
and settlement_status !=1
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -103,6 +109,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="gameStatusType != null">game_status_type,</if>
|
<if test="gameStatusType != null">game_status_type,</if>
|
||||||
<if test="gameCurrencyCode != null">game_currency_code,</if>
|
<if test="gameCurrencyCode != null">game_currency_code,</if>
|
||||||
<if test="account != null">account,</if>
|
<if test="account != null">account,</if>
|
||||||
|
<if test="round != null">round,</if>
|
||||||
|
<if test="table != null">table,</if>
|
||||||
|
<if test="seat != null">seat,</if>
|
||||||
|
<if test="betContent != null">bet_content,</if>
|
||||||
<if test="wagersId != null">wagers_id,</if>
|
<if test="wagersId != null">wagers_id,</if>
|
||||||
<if test="wagersTime != null">wagers_time,</if>
|
<if test="wagersTime != null">wagers_time,</if>
|
||||||
<if test="betAmount != null">bet_amount,</if>
|
<if test="betAmount != null">bet_amount,</if>
|
||||||
|
|
@ -130,6 +140,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="gameStatusType != null">#{gameStatusType},</if>
|
<if test="gameStatusType != null">#{gameStatusType},</if>
|
||||||
<if test="gameCurrencyCode != null">#{gameCurrencyCode},</if>
|
<if test="gameCurrencyCode != null">#{gameCurrencyCode},</if>
|
||||||
<if test="account != null">#{account},</if>
|
<if test="account != null">#{account},</if>
|
||||||
|
<if test="round != null">#{round},</if>
|
||||||
|
<if test="table != null">#{table},</if>
|
||||||
|
<if test="seat != null">#{seat},</if>
|
||||||
|
<if test="betContent != null">#{betContent},</if>
|
||||||
<if test="wagersId != null">#{wagersId},</if>
|
<if test="wagersId != null">#{wagersId},</if>
|
||||||
<if test="wagersTime != null">#{wagersTime},</if>
|
<if test="wagersTime != null">#{wagersTime},</if>
|
||||||
<if test="betAmount != null">#{betAmount},</if>
|
<if test="betAmount != null">#{betAmount},</if>
|
||||||
|
|
@ -161,6 +175,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="gameStatusType != null">game_status_type = #{gameStatusType},</if>
|
<if test="gameStatusType != null">game_status_type = #{gameStatusType},</if>
|
||||||
<if test="gameCurrencyCode != null">game_currency_code = #{gameCurrencyCode},</if>
|
<if test="gameCurrencyCode != null">game_currency_code = #{gameCurrencyCode},</if>
|
||||||
<if test="account != null">account = #{account},</if>
|
<if test="account != null">account = #{account},</if>
|
||||||
|
<if test="round != null">round = #{round},</if>
|
||||||
|
<if test="table != null">table = #{table},</if>
|
||||||
|
<if test="seat != null">seat = #{seat},</if>
|
||||||
|
<if test="betContent != null">bet_content = #{betContent},</if>
|
||||||
<if test="wagersId != null">wagers_id = #{wagersId},</if>
|
<if test="wagersId != null">wagers_id = #{wagersId},</if>
|
||||||
<if test="wagersTime != null">wagers_time = #{wagersTime},</if>
|
<if test="wagersTime != null">wagers_time = #{wagersTime},</if>
|
||||||
<if test="betAmount != null">bet_amount = #{betAmount},</if>
|
<if test="betAmount != null">bet_amount = #{betAmount},</if>
|
||||||
|
|
@ -188,15 +206,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
<delete id="deleteGameBettingDetailsByWagersId" >
|
||||||
|
delete from ff_game_betting_details where wagers_id in
|
||||||
|
<foreach item="wagersId" collection="wagersIds" open="(" separator="," close=")">
|
||||||
|
#{wagersId}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<insert id="batchInsert" parameterType="list" useGeneratedKeys="true" keyProperty="id">
|
<insert id="batchInsert" parameterType="list" useGeneratedKeys="true" keyProperty="id">
|
||||||
insert into ff_game_betting_details
|
insert into ff_game_betting_details
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">id,
|
<trim prefix="(" suffix=")" suffixOverrides=",">id,
|
||||||
tenant_key, game_id, currency_code, member_id, game_code, game_type, platform_code,
|
tenant_key, game_id, currency_code, member_id, game_code, game_type, platform_code,
|
||||||
game_name, game_status, game_status_type, game_currency_code, account,
|
game_name, game_status, game_status_type, game_currency_code, `account`,
|
||||||
wagers_id, wagers_time, bet_amount, payoff_time, payoff_amount,
|
wagers_id, wagers_time, bet_amount, payoff_time, payoff_amount,
|
||||||
settlement_time, turnover, order_no, create_by, create_time
|
settlement_time, turnover, order_no, create_by, create_time, settlement_status,
|
||||||
</trim>
|
update_by, update_time, round, `table`, seat, bet_content
|
||||||
|
</trim>
|
||||||
values
|
values
|
||||||
<foreach collection="list" item="item" separator=",">
|
<foreach collection="list" item="item" separator=",">
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">#{item.id},
|
<trim prefix="(" suffix=")" suffixOverrides=",">#{item.id},
|
||||||
|
|
@ -221,7 +251,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
#{item.turnover},
|
#{item.turnover},
|
||||||
#{item.orderNo},
|
#{item.orderNo},
|
||||||
#{item.createBy},
|
#{item.createBy},
|
||||||
#{item.createTime}
|
#{item.createTime},
|
||||||
|
#{item.settlementStatus},
|
||||||
|
#{item.updateBy},
|
||||||
|
#{item.updateTime},
|
||||||
|
#{item.round},
|
||||||
|
#{item.table},
|
||||||
|
#{item.seat},
|
||||||
|
#{item.betContent}
|
||||||
</trim>
|
</trim>
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
|
||||||
|
|
@ -26,10 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectGameByGameCode" resultMap="GameResult">
|
|
||||||
<include refid="selectGameVo"/>
|
|
||||||
where game_code = #{gameCode} and platform_id = #{platformId}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectGameList" parameterType="Game" resultMap="GameResult">
|
<select id="selectGameList" parameterType="Game" resultMap="GameResult">
|
||||||
<include refid="selectGameVo"/>
|
<include refid="selectGameVo"/>
|
||||||
|
|
@ -45,6 +42,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="stopStatus != null "> and stop_status = #{stopStatus}</if>
|
<if test="stopStatus != null "> and stop_status = #{stopStatus}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectGameDTOList" parameterType="com.ff.game.dto.GameDTO" resultMap="GameResult">
|
||||||
|
select g.id,
|
||||||
|
g.sort_no,
|
||||||
|
g.platform_id,
|
||||||
|
g.game_code,
|
||||||
|
g.ingress,
|
||||||
|
g.game_source_type,
|
||||||
|
g.game_name,
|
||||||
|
g.freespin,
|
||||||
|
g.demo_status,
|
||||||
|
g.stop_status,
|
||||||
|
g.create_by,
|
||||||
|
g.create_time,
|
||||||
|
g.update_by,
|
||||||
|
g.update_time
|
||||||
|
from ff_game g
|
||||||
|
inner join ff_game_platform p on g.platform_id = p.id
|
||||||
|
|
||||||
|
|
||||||
|
<where>
|
||||||
|
<if test="sortNo != null "> and g.sort_no = #{sortNo}</if>
|
||||||
|
<if test="platformId != null "> and g.platform_id = #{platformId}</if>
|
||||||
|
<if test="gameCode != null "> and g.game_code = #{gameCode}</if>
|
||||||
|
<if test="ingress != null "> and g.ingress = #{ingress}</if>
|
||||||
|
<if test="gameSourceType != null "> and g.game_source_type = #{gameSourceType}</if>
|
||||||
|
<if test="gameName != null and gameName != ''"> and game_name like concat('%', #{gameName}, '%')</if>
|
||||||
|
<if test="freespin != null "> and g.freespin = #{freespin}</if>
|
||||||
|
<if test="demoStatus != null "> and g.demo_status = #{demoStatus}</if>
|
||||||
|
<if test="stopStatus != null "> and g.stop_status = #{stopStatus}</if>
|
||||||
|
<if test="platformCodes != null and platformCodes.size()>0"> and p.platform_code in
|
||||||
|
<foreach collection="platforms" item="item" index="index" open="(" close=")" separator=",">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="platformCode != null and platformCode != ''"> and p.platform_code = #{platformCode}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="selectGameById" parameterType="Long" resultMap="GameResult">
|
<select id="selectGameById" parameterType="Long" resultMap="GameResult">
|
||||||
<include refid="selectGameVo"/>
|
<include refid="selectGameVo"/>
|
||||||
|
|
@ -153,6 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="selectGameUniqueList" parameterType="com.ff.game.api.request.GameUniqueDTO" resultMap="GameResult">
|
<select id="selectGameUniqueList" parameterType="com.ff.game.api.request.GameUniqueDTO" resultMap="GameResult">
|
||||||
<include refid="selectGameVo"/>
|
<include refid="selectGameVo"/>
|
||||||
<where>
|
<where>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,124 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ff.game.mapper.GameNameMapper">
|
||||||
|
|
||||||
|
<resultMap type="GameName" id="GameNameResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="gameId" column="game_id" />
|
||||||
|
<result property="gameName" column="game_name" />
|
||||||
|
<result property="langCode" column="lang_code" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="com.ff.game.dto.GameNameDTO" id="GameNameDTOResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="gameId" column="game_id" />
|
||||||
|
<result property="gameName" column="game_name" />
|
||||||
|
<result property="langCode" column="lang_code" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
<result property="defaultName" column="default_name" />
|
||||||
|
<result property="gameCode" column="game_code" />
|
||||||
|
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
<sql id="selectGameNameVo">
|
||||||
|
select id, game_id, game_name, lang_code, create_by, create_time, update_by, update_time from ff_game_name
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectGameNameList" parameterType="GameName" resultMap="GameNameResult">
|
||||||
|
<include refid="selectGameNameVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="gameId != null "> and game_id = #{gameId}</if>
|
||||||
|
<if test="gameName != null and gameName != ''"> and game_name = #{gameName}</if>
|
||||||
|
<if test="langCode != null and langCode != ''"> and lang_code = #{langCode}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectGameNameDTOList" parameterType="com.ff.game.dto.GameNameDTO" resultMap="GameNameDTOResult">
|
||||||
|
select gn.id,
|
||||||
|
gn.game_id,
|
||||||
|
gn.game_name,
|
||||||
|
gn.lang_code,
|
||||||
|
gn.create_by,
|
||||||
|
gn.create_time,
|
||||||
|
gn.update_by,
|
||||||
|
g.game_code,
|
||||||
|
gn.update_time,
|
||||||
|
g.game_name as default_name
|
||||||
|
from ff_game_name gn
|
||||||
|
inner join ff_game g on g.id = gn.game_id
|
||||||
|
inner join ff_game_platform gp on gp.id = g.platform_id
|
||||||
|
|
||||||
|
<where>
|
||||||
|
<if test="platformCode != null and platformCode != ''"> and gp.platform_code = #{platformCode}</if>
|
||||||
|
<if test="gameId != null "> and gn.game_id = #{gameId}</if>
|
||||||
|
<if test="gameName != null and gameName != ''"> and gn.game_name = #{gameName}</if>
|
||||||
|
<if test="langCode != null and langCode != ''"> and gn.lang_code =#{langCode}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectGameNameById" parameterType="Long" resultMap="GameNameResult">
|
||||||
|
<include refid="selectGameNameVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertGameName" parameterType="GameName">
|
||||||
|
insert into ff_game_name
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">id,</if>
|
||||||
|
<if test="gameId != null">game_id,</if>
|
||||||
|
<if test="gameName != null">game_name,</if>
|
||||||
|
<if test="langCode != null">lang_code,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">#{id},</if>
|
||||||
|
<if test="gameId != null">#{gameId},</if>
|
||||||
|
<if test="gameName != null">#{gameName},</if>
|
||||||
|
<if test="langCode != null">#{langCode},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateGameName" parameterType="GameName">
|
||||||
|
update ff_game_name
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="gameId != null">game_id = #{gameId},</if>
|
||||||
|
<if test="gameName != null">game_name = #{gameName},</if>
|
||||||
|
<if test="langCode != null">lang_code = #{langCode},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteGameNameById" parameterType="Long">
|
||||||
|
delete from ff_game_name where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteGameNameByIds" parameterType="String">
|
||||||
|
delete from ff_game_name where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -0,0 +1,135 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ff.game.mapper.GameSecretKeyCurrencyMapper">
|
||||||
|
|
||||||
|
<resultMap type="GameSecretKeyCurrency" id="GameSecretKeyCurrencyResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="gameSecretKeyId" column="game_secret_key_id" />
|
||||||
|
<result property="currency" column="currency" />
|
||||||
|
<result property="systemCurrency" column="system_currency" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="com.ff.game.dto.GameSecretKeyCurrencyDTO" id="GameSecretKeyCurrencyDTOResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="gameSecretKeyId" column="game_secret_key_id" />
|
||||||
|
<result property="currency" column="currency" />
|
||||||
|
<result property="systemCurrency" column="system_currency" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="code" column="code" />
|
||||||
|
<result property="key" column="key" />
|
||||||
|
<result property="platformCode" column="platform_code" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectGameSecretKeyCurrencyVo">
|
||||||
|
select id, game_secret_key_id, currency, system_currency, create_by, create_time, update_by, update_time from ff_game_secret_key_currency
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectGameSecretKeyCurrencyList" parameterType="GameSecretKeyCurrency" resultMap="GameSecretKeyCurrencyResult">
|
||||||
|
<include refid="selectGameSecretKeyCurrencyVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="gameSecretKeyId != null "> and game_secret_key_id = #{gameSecretKeyId}</if>
|
||||||
|
<if test="currency != null and currency != ''"> and currency = #{currency}</if>
|
||||||
|
<if test="systemCurrency != null and systemCurrency != ''"> and system_currency = #{systemCurrency}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectGameSecretKeyCurrencyById" parameterType="Long" resultMap="GameSecretKeyCurrencyResult">
|
||||||
|
<include refid="selectGameSecretKeyCurrencyVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertGameSecretKeyCurrency" parameterType="GameSecretKeyCurrency">
|
||||||
|
insert into ff_game_secret_key_currency
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">id,</if>
|
||||||
|
<if test="gameSecretKeyId != null">game_secret_key_id,</if>
|
||||||
|
<if test="currency != null">currency,</if>
|
||||||
|
<if test="systemCurrency != null and systemCurrency != ''">system_currency,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">#{id},</if>
|
||||||
|
<if test="gameSecretKeyId != null">#{gameSecretKeyId},</if>
|
||||||
|
<if test="currency != null">#{currency},</if>
|
||||||
|
<if test="systemCurrency != null and systemCurrency != ''">#{systemCurrency},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateGameSecretKeyCurrency" parameterType="GameSecretKeyCurrency">
|
||||||
|
update ff_game_secret_key_currency
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="gameSecretKeyId != null">game_secret_key_id = #{gameSecretKeyId},</if>
|
||||||
|
<if test="currency != null">currency = #{currency},</if>
|
||||||
|
<if test="systemCurrency != null and systemCurrency != ''">system_currency = #{systemCurrency},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteGameSecretKeyCurrencyById" parameterType="Long">
|
||||||
|
delete from ff_game_secret_key_currency where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteGameSecretKeyCurrencyByIds" parameterType="String">
|
||||||
|
delete from ff_game_secret_key_currency where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="findByGameSecretKeyCurrencyDTO" parameterType="com.ff.game.dto.GameSecretKeyCurrencyDTO" resultMap="GameSecretKeyCurrencyDTOResult">
|
||||||
|
select gskc.currency, gskc.system_currency,gskc.game_secret_key_id,gsk.code ,gsk.`key`,gsk.platform as platform_code
|
||||||
|
from ff_game_secret_key gsk
|
||||||
|
inner join ff_game_secret_key_currency gskc on gsk.id = gskc.game_secret_key_id
|
||||||
|
<where>
|
||||||
|
<if test="currency != null and currency != ''"> and gskc.currency = #{currency}</if>
|
||||||
|
<if test="systemCurrency != null and systemCurrency != ''"> and gskc.system_currency = #{systemCurrency}</if>
|
||||||
|
<if test="platformCode != null and platformCode != ''"> and gsk.platform = #{platformCode}</if>
|
||||||
|
<if test="code != null and code != ''"> and gsk.code = #{code}</if>
|
||||||
|
<if test="platformCodes != null and platformCodes.size() > 0">
|
||||||
|
and gsk.platform
|
||||||
|
<foreach collection="platformCodes" item="platformCode" open=" in (" separator="," close=")">
|
||||||
|
#{platformCode}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="findByGameSecretKeyCurrencyDTOList" parameterType="com.ff.game.dto.GameSecretKeyCurrencyDTO" resultMap="GameSecretKeyCurrencyDTOResult">
|
||||||
|
select gskc.currency, gskc.system_currency,gskc.game_secret_key_id,gsk.code ,gsk.`key`,gsk.platform as platform_code
|
||||||
|
from ff_game_secret_key gsk
|
||||||
|
inner join ff_game_secret_key_currency gskc on gsk.id = gskc.game_secret_key_id
|
||||||
|
<where>
|
||||||
|
<if test="currency != null and currency != ''"> and gskc.currency = #{currency}</if>
|
||||||
|
<if test="systemCurrency != null and systemCurrency != ''"> and gskc.system_currency = #{systemCurrency}</if>
|
||||||
|
<if test="platformCode != null and platformCode != ''"> and gsk.platform = #{platformCode}</if>
|
||||||
|
<if test="code != null and code != ''"> and gsk.code = #{code}</if>
|
||||||
|
<if test="platformCodes != null and platformCodes.size() > 0">
|
||||||
|
and gsk.platform
|
||||||
|
<foreach collection="platformCodes" item="platformCode" open=" in (" separator="," close=")">
|
||||||
|
#{platformCode}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ff.game.mapper.GameSecretKeyLangMapper">
|
||||||
|
|
||||||
|
<resultMap type="GameSecretKeyLang" id="GameSecretKeyLangResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="gameSecretKeyId" column="game_secret_key_id" />
|
||||||
|
<result property="lang" column="lang" />
|
||||||
|
<result property="systemLangCode" column="system_lang_code" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap type="com.ff.game.dto.GameSecretKeyLangDTO" id="GameSecretKeyLangDTOResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="gameSecretKeyId" column="game_secret_key_id" />
|
||||||
|
<result property="lang" column="lang" />
|
||||||
|
<result property="systemLangCode" column="system_lang_code" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="code" column="code" />
|
||||||
|
<result property="key" column="key" />
|
||||||
|
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
<sql id="selectGameSecretKeyLangVo">
|
||||||
|
select id, game_secret_key_id, lang, system_lang_code, create_by, create_time, update_by, update_time from ff_game_secret_key_lang
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectGameSecretKeyLangList" parameterType="GameSecretKeyLang" resultMap="GameSecretKeyLangResult">
|
||||||
|
<include refid="selectGameSecretKeyLangVo"/>
|
||||||
|
<where>
|
||||||
|
<if test="gameSecretKeyId != null "> and game_secret_key_id = #{gameSecretKeyId}</if>
|
||||||
|
<if test="lang != null and lang != ''"> and lang = #{lang}</if>
|
||||||
|
<if test="systemLangCode != null and systemLangCode != ''"> and system_lang_code = #{systemLangCode}</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectGameSecretKeyLangById" parameterType="Long" resultMap="GameSecretKeyLangResult">
|
||||||
|
<include refid="selectGameSecretKeyLangVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertGameSecretKeyLang" parameterType="GameSecretKeyLang">
|
||||||
|
insert into ff_game_secret_key_lang
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">id,</if>
|
||||||
|
<if test="gameSecretKeyId != null">game_secret_key_id,</if>
|
||||||
|
<if test="lang != null and lang != ''">lang,</if>
|
||||||
|
<if test="systemLangCode != null">system_lang_code,</if>
|
||||||
|
<if test="createBy != null">create_by,</if>
|
||||||
|
<if test="createTime != null">create_time,</if>
|
||||||
|
<if test="updateBy != null">update_by,</if>
|
||||||
|
<if test="updateTime != null">update_time,</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">#{id},</if>
|
||||||
|
<if test="gameSecretKeyId != null">#{gameSecretKeyId},</if>
|
||||||
|
<if test="lang != null and lang != ''">#{lang},</if>
|
||||||
|
<if test="systemLangCode != null">#{systemLangCode},</if>
|
||||||
|
<if test="createBy != null">#{createBy},</if>
|
||||||
|
<if test="createTime != null">#{createTime},</if>
|
||||||
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<update id="updateGameSecretKeyLang" parameterType="GameSecretKeyLang">
|
||||||
|
update ff_game_secret_key_lang
|
||||||
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
<if test="gameSecretKeyId != null">game_secret_key_id = #{gameSecretKeyId},</if>
|
||||||
|
<if test="lang != null and lang != ''">lang = #{lang},</if>
|
||||||
|
<if test="systemLangCode != null">system_lang_code = #{systemLangCode},</if>
|
||||||
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<delete id="deleteGameSecretKeyLangById" parameterType="Long">
|
||||||
|
delete from ff_game_secret_key_lang where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteGameSecretKeyLangByIds" parameterType="String">
|
||||||
|
delete from ff_game_secret_key_lang where id in
|
||||||
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="findGameSecretKeyLangDTO" parameterType="com.ff.game.dto.GameSecretKeyLangDTO" resultMap="GameSecretKeyLangDTOResult">
|
||||||
|
select gskl.lang, gskl.system_lang_code,gsk.code ,gsk.`key`,gskl.game_secret_key_id
|
||||||
|
from ff_game_secret_key gsk
|
||||||
|
inner join ff_game_secret_key_lang gskl on gsk.id = gskl.game_secret_key_id
|
||||||
|
<where>
|
||||||
|
<if test="lang != null and lang != ''"> and gskl.lang = #{lang}</if>
|
||||||
|
<if test="systemLangCode != null and systemLangCode != ''"> and gskl.system_lang_code = #{systemLangCode}</if>
|
||||||
|
<if test="platformCode != null and platformCode != ''"> and gsk.platform = #{platformCode}</if>
|
||||||
|
<if test="code != null and code != ''"> and gsk.code = #{code}</if>
|
||||||
|
</where>
|
||||||
|
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
@ -9,11 +9,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="platform" column="platform" />
|
<result property="platform" column="platform" />
|
||||||
<result property="code" column="code" />
|
<result property="code" column="code" />
|
||||||
<result property="key" column="key" />
|
<result property="key" column="key" />
|
||||||
<result property="currency" column="currency" />
|
|
||||||
<result property="systemCurrency" column="system_currency" />
|
|
||||||
<result property="lang" column="lang" />
|
|
||||||
<result property="systemLangCode" column="system_lang_code" />
|
|
||||||
<result property="info" column="info" />
|
|
||||||
<result property="createBy" column="create_by" />
|
<result property="createBy" column="create_by" />
|
||||||
<result property="createTime" column="create_time" />
|
<result property="createTime" column="create_time" />
|
||||||
<result property="updateBy" column="update_by" />
|
<result property="updateBy" column="update_by" />
|
||||||
|
|
@ -21,20 +16,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectGameSecretKeyVo">
|
<sql id="selectGameSecretKeyVo">
|
||||||
select id, platform, code,currency, `key`, system_currency, lang, system_lang_code, info, create_by, create_time, update_by, update_time from ff_game_secret_key
|
select id, platform, code, `key`, create_by, create_time, update_by, update_time from ff_game_secret_key
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectGameSecretKeyList" parameterType="GameSecretKey" resultMap="GameSecretKeyResult">
|
<select id="selectGameSecretKeyList" parameterType="GameSecretKey" resultMap="GameSecretKeyResult">
|
||||||
<include refid="selectGameSecretKeyVo"/>
|
<include refid="selectGameSecretKeyVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="platform != null and platform != ''"> and platform = #{platform}</if>
|
<if test="platform != null and platform != ''"> and platform = #{platform}</if>
|
||||||
<if test="code != null and code != ''"> and code = #{code}</if>
|
<if test="code != null and code != ''"> and code = #{code}</if>
|
||||||
<if test="key != null and key != ''"> and `key` = #{key}</if>
|
<if test="key != null and key != ''"> and key = #{key}</if>
|
||||||
<if test="currency != null and currency != ''"> and currency = #{currency}</if>
|
|
||||||
<if test="systemCurrency != null and systemCurrency != ''"> and system_currency = #{systemCurrency}</if>
|
|
||||||
<if test="lang != null and lang != ''"> and lang = #{lang}</if>
|
|
||||||
<if test="systemLangCode != null and systemLangCode != ''"> and system_lang_code = #{systemLangCode}</if>
|
|
||||||
<if test="info != null and info != ''"> and info = #{info}</if>
|
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -43,31 +33,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertGameSecretKey" parameterType="GameSecretKey" useGeneratedKeys="true" keyProperty="id">
|
<insert id="insertGameSecretKey" parameterType="GameSecretKey">
|
||||||
insert into ff_game_secret_key
|
insert into ff_game_secret_key
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=","><if test="id != null">id,</if>
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">id,</if>
|
||||||
<if test="platform != null and platform != ''">platform,</if>
|
<if test="platform != null and platform != ''">platform,</if>
|
||||||
<if test="code != null and code != ''">code,</if>
|
<if test="code != null and code != ''">code,</if>
|
||||||
<if test="currency != null and currency != ''">currency,</if>
|
<if test="key != null and key != ''">key,</if>
|
||||||
<if test="key != null and key != ''">`key`,</if>
|
|
||||||
<if test="systemCurrency != null and systemCurrency != ''">system_currency,</if>
|
|
||||||
<if test="lang != null and lang != ''">lang,</if>
|
|
||||||
<if test="systemLangCode != null">system_lang_code,</if>
|
|
||||||
<if test="info != null and info != ''">info,</if>
|
|
||||||
<if test="createBy != null">create_by,</if>
|
<if test="createBy != null">create_by,</if>
|
||||||
<if test="createTime != null">create_time,</if>
|
<if test="createTime != null">create_time,</if>
|
||||||
<if test="updateBy != null">update_by,</if>
|
<if test="updateBy != null">update_by,</if>
|
||||||
<if test="updateTime != null">update_time,</if>
|
<if test="updateTime != null">update_time,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null">#{id},</if>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="id != null">#{id},</if>
|
||||||
<if test="platform != null and platform != ''">#{platform},</if>
|
<if test="platform != null and platform != ''">#{platform},</if>
|
||||||
<if test="code != null and code != ''">#{code},</if>
|
<if test="code != null and code != ''">#{code},</if>
|
||||||
<if test="currency != null and currency != ''">#{currency},</if>
|
|
||||||
<if test="key != null and key != ''">#{key},</if>
|
<if test="key != null and key != ''">#{key},</if>
|
||||||
<if test="systemCurrency != null and systemCurrency != ''">#{systemCurrency},</if>
|
|
||||||
<if test="lang != null and lang != ''">#{lang},</if>
|
|
||||||
<if test="systemLangCode != null">#{systemLangCode},</if>
|
|
||||||
<if test="info != null and info != ''">#{info},</if>
|
|
||||||
<if test="createBy != null">#{createBy},</if>
|
<if test="createBy != null">#{createBy},</if>
|
||||||
<if test="createTime != null">#{createTime},</if>
|
<if test="createTime != null">#{createTime},</if>
|
||||||
<if test="updateBy != null">#{updateBy},</if>
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
|
|
@ -80,12 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="platform != null and platform != ''">platform = #{platform},</if>
|
<if test="platform != null and platform != ''">platform = #{platform},</if>
|
||||||
<if test="code != null and code != ''">code = #{code},</if>
|
<if test="code != null and code != ''">code = #{code},</if>
|
||||||
<if test="key != null and key != ''">`key` = #{key},</if>
|
<if test="key != null and key != ''">key = #{key},</if>
|
||||||
<if test="currency != null and currency != ''">currency = #{currency},</if>
|
|
||||||
<if test="systemCurrency != null and systemCurrency != ''">system_currency = #{systemCurrency},</if>
|
|
||||||
<if test="lang != null and lang != ''">lang = #{lang},</if>
|
|
||||||
<if test="systemLangCode != null">system_lang_code = #{systemLangCode},</if>
|
|
||||||
<if test="info != null and info != ''">info = #{info},</if>
|
|
||||||
<if test="createBy != null">create_by = #{createBy},</if>
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
<if test="createTime != null">create_time = #{createTime},</if>
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
|
|
@ -104,20 +81,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<select id="findSystemByCode" resultType="string">
|
|
||||||
SELECT system_currency
|
|
||||||
FROM ff_game_secret_key
|
|
||||||
WHERE code = #{code} and platform = #{platform}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="findSecretKeyByPlatformAndSystemCurrency" resultType="com.ff.game.domain.GameSecretKey">
|
|
||||||
<include refid="selectGameSecretKeyVo"/>
|
|
||||||
where platform = #{platform} and system_currency = #{systemCurrency}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="findByPlatformAndSystemLangCode" resultType="com.ff.game.domain.GameSecretKey">
|
|
||||||
<include refid="selectGameSecretKeyVo"/>
|
|
||||||
where platform = #{platform} and system_lang_code = #{systemLangCode}
|
|
||||||
</select>
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue