refactor(game): 重构游戏转账接口返回值

- 修改 IGamesService 接口中 exchangeTransferByAgentId 方法返回类型从 String改为 Long
- 在 ApiGameController 中增加 GameExchangeBalanceResponse 类用于封装转账记录信息
- 更新 GamesJILIServiceImpl 和 GamesX
main-p
shi 2025-02-13 16:52:54 +08:00
parent 758bed4501
commit 4f39ae7038
5 changed files with 83 additions and 9 deletions

View File

@ -1,16 +1,19 @@
package com.ff.api.controller; package com.ff.api.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import com.dtflys.forest.annotation.Post; import com.dtflys.forest.annotation.Post;
import com.ff.annotation.CheckHeader; import com.ff.annotation.CheckHeader;
import com.ff.api.request.*; import com.ff.api.request.*;
import com.ff.api.response.GameExchangeBalanceResponse;
import com.ff.base.constant.Constants; import com.ff.base.constant.Constants;
import com.ff.base.core.controller.BaseController; import com.ff.base.core.controller.BaseController;
import com.ff.base.core.domain.AjaxResult; import com.ff.base.core.domain.AjaxResult;
import com.ff.base.core.page.TableDataInfo; import com.ff.base.core.page.TableDataInfo;
import com.ff.base.enums.OperationType; import com.ff.base.enums.OperationType;
import com.ff.base.utils.StringUtils; import com.ff.base.utils.StringUtils;
import com.ff.base.utils.bean.BeanUtils;
import com.ff.common.domain.TenantGameQuotaFlow; import com.ff.common.domain.TenantGameQuotaFlow;
import com.ff.common.domain.TenantSecretKey; import com.ff.common.domain.TenantSecretKey;
import com.ff.common.dto.BalanceChangesDTO; import com.ff.common.dto.BalanceChangesDTO;
@ -83,7 +86,8 @@ public class ApiGameController extends BaseController {
@Resource @Resource
private IGameFreeRecordService gameFreeRecordService; private IGameFreeRecordService gameFreeRecordService;
@Resource
private IGameExchangeMoneyService gameExchangeMoneyService;
/** /**
* *
@ -203,9 +207,11 @@ public class ApiGameController extends BaseController {
.transferType(gameExchangeBalanceRequest.getTransferType()) .transferType(gameExchangeBalanceRequest.getTransferType())
.orderId(gameExchangeBalanceRequest.getOrderId()) .orderId(gameExchangeBalanceRequest.getOrderId())
.build(); .build();
String transferByAgentId = iGamesService.exchangeTransferByAgentId(exchangeTransferMoneyRequestDTO); Long exchangeTransferId = iGamesService.exchangeTransferByAgentId(exchangeTransferMoneyRequestDTO);
GameExchangeMoney gameExchangeMoney = gameExchangeMoneyService.selectGameExchangeMoneyById(exchangeTransferId);
return AjaxResult.success(transferByAgentId); GameExchangeBalanceResponse gameExchangeBalanceResponse=new GameExchangeBalanceResponse();
BeanUtils.copyProperties(gameExchangeMoney,gameExchangeBalanceResponse);
return AjaxResult.success(gameExchangeBalanceResponse);
} }

View File

@ -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;
}

View File

@ -67,7 +67,7 @@ public interface IGamesService {
* @param exchangeTransferMoneyRequestDTO moeny dto * @param exchangeTransferMoneyRequestDTO moeny dto
* @return {@link Long } * @return {@link Long }
*/ */
String exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO); Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO);
/** /**

View File

@ -289,7 +289,7 @@ public class GamesJILIServiceImpl implements IGamesService {
*/ */
@Override @Override
@Transactional @Transactional
public String exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) { public Long exchangeTransferByAgentId(ExchangeTransferMoneyRequestDTO exchangeTransferMoneyRequestDTO) {
String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.JILI.getInfo()); String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.JILI.getInfo());
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();
@ -350,7 +350,7 @@ public class GamesJILIServiceImpl implements IGamesService {
} }
return transactionId; return exchangeMoney.getId();
} }

View File

@ -298,7 +298,7 @@ public class GamesXKServiceImpl implements IGamesService {
*/ */
@Override @Override
@Transactional @Transactional
public String 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()); String systemByCode = gameSecretKeyService.findSystemByCode(exchangeTransferMoneyRequestDTO.getAgentId(), GamePlatforms.XK.getInfo());
Member member = memberService.selectMemberByGameAccount(exchangeTransferMoneyRequestDTO.getAccount()); 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")); throw new BaseException(MessageUtils.message("game.account.balance.transfer.failed"));
} }
return transactionId; return exchangeMoney.getId();
} }