feat(api): 添加游戏兑换余额状态接口

- 新增 exchangeState 方法处理游戏兑换余额状态请求
- 添加 GameExchangeStateRequest 类用于请求参数
- 更新 GameExchangeBalanceResponse 类,修改状态字段含义
- 在 ErrorCode 枚举中添加 ORDER_NOT_EXIST 错误码
main-p
shi 2025-03-14 17:40:09 +08:00
parent 707d5cdee9
commit c91fa58672
4 changed files with 48 additions and 1 deletions

View File

@ -23,6 +23,7 @@ public enum ErrorCode {
FREQUENT_INTERFACE_REQUESTS (1007, "接口请求频繁"),
BALANCE_TRANSFER_FAILED (1008, "余额转移失败"),
LANG_NOT_EXIST(1009, "游戏平台不支持的语言"),
ORDER_NOT_EXIST(1010, "订单不存在")
;
// 获取错误码

View File

@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
@ -236,6 +237,29 @@ public class ApiGameController extends BaseController {
}
/**
*
*
* @param gameExchangeStateRequest
* @return {@link AjaxResult }
*/
@PostMapping("/exchange/state")
@Transactional
public AjaxResult exchangeState(@Validated @RequestBody GameExchangeStateRequest gameExchangeStateRequest) {
TenantSecretKey tenantSecretKey = keyConfig.get();
GameExchangeMoney gameExchangeMoney = GameExchangeMoney.builder()
.tenantKey(tenantSecretKey.getTenantKey())
.orderId(gameExchangeStateRequest.getOrderId())
.build();
List<GameExchangeMoney> gameExchangeMonies = gameExchangeMoneyService.selectGameExchangeMoneyList(gameExchangeMoney);
ApiException.isTrue(!CollectionUtils.isEmpty(gameExchangeMonies), ErrorCode.ORDER_NOT_EXIST.getCode());
GameExchangeBalanceResponse gameExchangeBalanceResponse = new GameExchangeBalanceResponse();
BeanUtils.copyProperties(gameExchangeMonies.get(0), gameExchangeBalanceResponse);
return AjaxResult.success(gameExchangeBalanceResponse);
}
/**
*
*

View File

@ -0,0 +1,21 @@
package com.ff.api.request;
import lombok.Data;
import java.io.Serializable;
/**
*
*
* @author shi
* @date 2025/03/14
*/
@Data
public class GameExchangeStateRequest implements Serializable {
private final static long serialVersionUID = 5862750025968209889L;
/**
*
*/
private String orderId;
}

View File

@ -62,8 +62,9 @@ public class GameExchangeBalanceResponse implements Serializable
/** 转出类型 1游戏商转入到用户全部转出 2 用户转移到游戏商 */
private Integer exchangeType;
/** 状态 1 成功 2失败 */
/** 状态0:进行中、1:成功、2:失败 */
private Integer status;
}