From 3ce519cb00d3fcae83983db62d994f68ecbecfdc Mon Sep 17 00:00:00 2001 From: shi Date: Mon, 17 Feb 2025 15:03:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(game):=20=E6=B7=BB=E5=8A=A0=E7=A7=9F?= =?UTF-8?q?=E6=88=B7key=E5=B9=B6=E4=BC=98=E5=8C=96=E6=B8=B8=E6=88=8F?= =?UTF-8?q?=E6=8A=95=E6=B3=A8=E8=AE=B0=E5=BD=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 GameBettingDetails 模型中添加 tenantKey 字段 - 修改 getBetRecord 接口,根据租户key查询投注记录 - 新增 GameBettingDetailsResponse 类用于响应数据 - 更新 mapper 和 service 实现类,支持租户key --- .../ff/api/controller/ApiGameController.java | 17 +++- .../response/GameBettingDetailsResponse.java | 91 ++++++++++++++++++ .../service/impl/GamesJILIServiceImpl.java | 1 + .../xk/service/impl/GamesXKServiceImpl.java | 1 + .../ff/game/domain/GameBettingDetails.java | 8 ++ .../mapper/game/GameBettingDetailsMapper.xml | 9 +- .../com/ff/base/enums/JILIGameType.class | Bin 4159 -> 4038 bytes .../com/ff/base/enums/XKGameType.class | Bin 4137 -> 4016 bytes 8 files changed, 124 insertions(+), 3 deletions(-) create mode 100644 ff-admin/src/main/java/com/ff/api/response/GameBettingDetailsResponse.java diff --git a/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java b/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java index 533bcd5..8c2f519 100644 --- a/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java +++ b/ff-admin/src/main/java/com/ff/api/controller/ApiGameController.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.NumberUtil; import com.dtflys.forest.annotation.Post; import com.ff.annotation.CheckHeader; import com.ff.api.request.*; +import com.ff.api.response.GameBettingDetailsResponse; import com.ff.api.response.GameExchangeBalanceResponse; import com.ff.api.response.GameResponse; import com.ff.api.response.MemberInfoAllResponse; @@ -298,17 +299,31 @@ public class ApiGameController extends BaseController { */ @PostMapping("/get/bet/record") public TableDataInfo getBetRecord(@Validated @RequestBody GameGetBetRecordRequest gameCreateFreeSpinRequest) { + TenantSecretKey tenantSecretKey = keyConfig.get(); + startPage(); PageHelper.startPage(gameCreateFreeSpinRequest.getPageNo(), gameCreateFreeSpinRequest.getPageSize(), "wagers_time desc"); GameBettingDetails gameBettingDetails = GameBettingDetails.builder() .platformCode(gameCreateFreeSpinRequest.getPlatformCode()) .currencyCode(gameCreateFreeSpinRequest.getCurrencyCode()) + .tenantKey(tenantSecretKey.getTenantKey()) .build(); Map params = gameBettingDetails.getParams(); params.put("beginTime", gameCreateFreeSpinRequest.getBeginTime()); params.put("endTime", gameCreateFreeSpinRequest.getEndTime()); List bettingDetails = gameBettingDetailsService.selectGameBettingDetailsList(gameBettingDetails); - return getDataTable(bettingDetails); + TableDataInfo dataTable = getDataTable(bettingDetails); + List result=new ArrayList<>(); + for (GameBettingDetails row : (List) dataTable.getRows()) { + GameBettingDetailsResponse gameBettingDetailsResponse=new GameBettingDetailsResponse(); + BeanUtils.copyProperties(row, gameBettingDetailsResponse); + Member member = memberService.selectMemberById(row.getMemberId()); + gameBettingDetailsResponse.setAccount(member.getMemberAccount()); + result.add(gameBettingDetailsResponse); + } + dataTable.setRows(result); + + return dataTable; } diff --git a/ff-admin/src/main/java/com/ff/api/response/GameBettingDetailsResponse.java b/ff-admin/src/main/java/com/ff/api/response/GameBettingDetailsResponse.java new file mode 100644 index 0000000..d1342f3 --- /dev/null +++ b/ff-admin/src/main/java/com/ff/api/response/GameBettingDetailsResponse.java @@ -0,0 +1,91 @@ +package com.ff.api.response; + +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 java.io.Serializable; +import java.math.BigDecimal; + +/** + * 会员投注细目对象 ff_game_betting_details + * + * @author shi + * @date 2025-02-10 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class GameBettingDetailsResponse implements Serializable +{ + private static final long serialVersionUID = -988976119749917266L; + + + /** + * 租户key + */ + private String tenantKey; + + + /** 币种编码 */ + private String currencyCode; + + + + /** 游戏id */ + private Long gameId; + + /** 游戏类型 ff_game_type 字典 */ + private Integer gameType; + + /** 游戏平台 */ + private String platformCode; + + /** 游戏名称 */ + private String gameName; + + /** 注单状态 1: 赢 2: 输 3: 平局 */ + private Integer gameStatus; + + /** 注单类型 */ + private Integer gameStatusType; + + /** 游戏币种类型 */ + private String gameCurrencyCode; + + /** 系统账号 */ + private String account; + + /** 游戏注单唯一值 */ + private Long wagersId; + + /** 投注时间 (Unix 时间戳) */ + private Long wagersTime; + + /** 投注金额 */ + private BigDecimal betAmount; + + /** 派彩时间 (Unix 时间戳) */ + private Long payoffTime; + + /** 派彩金额 */ + private BigDecimal payoffAmount; + + /** 对帐时间 (Unix 时间戳) */ + private Long settlementTime; + + /** 有效投注金额 ※注 1 */ + private BigDecimal turnover; + + /** 订单id */ + private String orderNo; + + /** 结算状态 1 未结算 2已结算 3 已撤单 */ + private Integer settlementStatus; + + +} diff --git a/ff-admin/src/main/java/com/ff/game/api/jili/service/impl/GamesJILIServiceImpl.java b/ff-admin/src/main/java/com/ff/game/api/jili/service/impl/GamesJILIServiceImpl.java index 943f4f0..8a43d86 100644 --- a/ff-admin/src/main/java/com/ff/game/api/jili/service/impl/GamesJILIServiceImpl.java +++ b/ff-admin/src/main/java/com/ff/game/api/jili/service/impl/GamesJILIServiceImpl.java @@ -694,6 +694,7 @@ public class GamesJILIServiceImpl implements IGamesService { //数据构造 GameBettingDetails gameBettingDetails = GameBettingDetails.builder() + .tenantKey(member.getTenantKey()) //保存我们的币种id .currencyCode(systemByCode) .memberId(member.getId()) diff --git a/ff-admin/src/main/java/com/ff/game/api/xk/service/impl/GamesXKServiceImpl.java b/ff-admin/src/main/java/com/ff/game/api/xk/service/impl/GamesXKServiceImpl.java index 0e18a76..9c94de0 100644 --- a/ff-admin/src/main/java/com/ff/game/api/xk/service/impl/GamesXKServiceImpl.java +++ b/ff-admin/src/main/java/com/ff/game/api/xk/service/impl/GamesXKServiceImpl.java @@ -542,6 +542,7 @@ public class GamesXKServiceImpl implements IGamesService { } //数据构造 GameBettingDetails gameBettingDetails = GameBettingDetails.builder() + .tenantKey(member.getTenantKey()) //保存我们的币种id .currencyCode(systemByCode) .memberId(member.getId()) diff --git a/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java b/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java index 774a8d3..2bea841 100644 --- a/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java +++ b/ff-admin/src/main/java/com/ff/game/domain/GameBettingDetails.java @@ -25,6 +25,13 @@ public class GameBettingDetails extends BaseEntity /** 主键id */ private Long id; + + /** + * 租户key + */ + private String tenantKey; + + /** 币种编码 */ @Excel(name = "币种编码") private String currencyCode; @@ -89,6 +96,7 @@ public class GameBettingDetails extends BaseEntity @Excel(name = "派彩金额") private BigDecimal payoffAmount; + /** 对帐时间 (Unix 时间戳) */ @Excel(name = "对帐时间 (Unix 时间戳)") private Long settlementTime; diff --git a/ff-admin/src/main/resources/mapper/game/GameBettingDetailsMapper.xml b/ff-admin/src/main/resources/mapper/game/GameBettingDetailsMapper.xml index ccaf787..8c1449d 100644 --- a/ff-admin/src/main/resources/mapper/game/GameBettingDetailsMapper.xml +++ b/ff-admin/src/main/resources/mapper/game/GameBettingDetailsMapper.xml @@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -33,12 +34,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, 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, 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