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(); }