From 4f39ae70384a92eee653175cb6e35fbb3146fcc3 Mon Sep 17 00:00:00 2001 From: shi Date: Thu, 13 Feb 2025 16:52:54 +0800 Subject: [PATCH] =?UTF-8?q?refactor(game):=20=E9=87=8D=E6=9E=84=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E8=BD=AC=E8=B4=A6=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 IGamesService 接口中 exchangeTransferByAgentId 方法返回类型从 String改为 Long - 在 ApiGameController 中增加 GameExchangeBalanceResponse 类用于封装转账记录信息 - 更新 GamesJILIServiceImpl 和 GamesX --- .../ff/api/controller/ApiGameController.java | 14 ++-- .../response/GameExchangeBalanceResponse.java | 68 +++++++++++++++++++ .../java/com/ff/game/api/IGamesService.java | 2 +- .../service/impl/GamesJILIServiceImpl.java | 4 +- .../xk/service/impl/GamesXKServiceImpl.java | 4 +- 5 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 ff-admin/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.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 b90de86..f5b908b 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 @@ -1,16 +1,19 @@ package com.ff.api.controller; +import cn.hutool.core.bean.BeanUtil; 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.GameExchangeBalanceResponse; import com.ff.base.constant.Constants; import com.ff.base.core.controller.BaseController; import com.ff.base.core.domain.AjaxResult; import com.ff.base.core.page.TableDataInfo; import com.ff.base.enums.OperationType; import com.ff.base.utils.StringUtils; +import com.ff.base.utils.bean.BeanUtils; import com.ff.common.domain.TenantGameQuotaFlow; import com.ff.common.domain.TenantSecretKey; import com.ff.common.dto.BalanceChangesDTO; @@ -83,7 +86,8 @@ public class ApiGameController extends BaseController { @Resource private IGameFreeRecordService gameFreeRecordService; - + @Resource + private IGameExchangeMoneyService gameExchangeMoneyService; /** * 登录 @@ -203,9 +207,11 @@ public class ApiGameController extends BaseController { .transferType(gameExchangeBalanceRequest.getTransferType()) .orderId(gameExchangeBalanceRequest.getOrderId()) .build(); - String transferByAgentId = iGamesService.exchangeTransferByAgentId(exchangeTransferMoneyRequestDTO); - - return AjaxResult.success(transferByAgentId); + Long exchangeTransferId = iGamesService.exchangeTransferByAgentId(exchangeTransferMoneyRequestDTO); + GameExchangeMoney gameExchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(exchangeTransferId); + GameExchangeBalanceResponse gameExchangeBalanceResponse=new GameExchangeBalanceResponse(); + BeanUtils.copyProperties(gameExchangeMoney,gameExchangeBalanceResponse); + return AjaxResult.success(gameExchangeBalanceResponse); } diff --git a/ff-admin/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java b/ff-admin/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java new file mode 100644 index 0000000..bf85e3c --- /dev/null +++ b/ff-admin/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java @@ -0,0 +1,68 @@ +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_exchange_money + * + * @author shi + * @date 2025-02-12 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class GameExchangeBalanceResponse implements Serializable +{ + private static final long serialVersionUID = 1L; + + + + /** 租户key */ + private String tenantKey; + + /** 币种编码 */ + private String currencyCode; + + /** 第三方交易id */ + private String transactionId; + + + /** 游戏平台 */ + private String platformCode; + + /** 操作金额 */ + private BigDecimal balance; + + + /** 转账前金额(游戏币) */ + private BigDecimal coinBefore; + + /** 转账后金额(游戏币) */ + private BigDecimal coinAfter; + + /** 转账前金额(指定货币) */ + private BigDecimal currencyBefore; + + /** 转账后金额(指定货币) */ + private BigDecimal currencyAfter; + + /** 系统订单id */ + private String orderId; + + /** 转出类型 1游戏商转入到用户全部转出 2 用户转移到游戏商 */ + private Integer exchangeType; + + /** 状态 1 成功 2失败 */ + private Integer status; + + +} diff --git a/ff-admin/src/main/java/com/ff/game/api/IGamesService.java b/ff-admin/src/main/java/com/ff/game/api/IGamesService.java index 7cb04de..3236933 100644 --- a/ff-admin/src/main/java/com/ff/game/api/IGamesService.java +++ b/ff-admin/src/main/java/com/ff/game/api/IGamesService.java @@ -67,7 +67,7 @@ public interface IGamesService { * @param exchangeTransferMoneyRequestDTO 外汇转账moeny dto * @return {@link Long } */ - String exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO); + Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO); /** 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 14c565e..2c7e1c2 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 @@ -289,7 +289,7 @@ public class GamesJILIServiceImpl implements IGamesService { */ @Override @Transactional - public String exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) { + public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) { String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.JILI.getInfo()); Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount()); String transactionId = GamePlatforms.JILI.getCode() + IdUtils.simpleUUID(); @@ -350,7 +350,7 @@ public class GamesJILIServiceImpl implements IGamesService { } - return transactionId; + return exchangeMoney.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 a75cabd..6df492f 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 @@ -298,7 +298,7 @@ public class GamesXKServiceImpl implements IGamesService { */ @Override @Transactional - public String exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) { + public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) { log.info("GamesXKServiceImpl [exchangeTransferByAgentId] 请求参数 {}", exchangeTransferMoneyRequestDTO); String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.XK.getInfo()); Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount()); @@ -354,7 +354,7 @@ public class GamesXKServiceImpl implements IGamesService { throw new BaseException(MessageUtils.message("game.account.balance.transfer.failed")); } - return transactionId; + return exchangeMoney.getId(); }