From c91fa586723d2a6f487716f01f1145f349964540 Mon Sep 17 00:00:00 2001 From: shi Date: Fri, 14 Mar 2025 17:40:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E6=B7=BB=E5=8A=A0=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E5=85=91=E6=8D=A2=E4=BD=99=E9=A2=9D=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 exchangeState 方法处理游戏兑换余额状态请求 - 添加 GameExchangeStateRequest 类用于请求参数 - 更新 GameExchangeBalanceResponse 类,修改状态字段含义 - 在 ErrorCode 枚举中添加 ORDER_NOT_EXIST 错误码 --- .../java/com/ff/base/enums/ErrorCode.java | 1 + .../ff/api/controller/ApiGameController.java | 24 +++++++++++++++++++ .../api/request/GameExchangeStateRequest.java | 21 ++++++++++++++++ .../response/GameExchangeBalanceResponse.java | 3 ++- 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 ff-game/src/main/java/com/ff/api/request/GameExchangeStateRequest.java diff --git a/ff-base/src/main/java/com/ff/base/enums/ErrorCode.java b/ff-base/src/main/java/com/ff/base/enums/ErrorCode.java index 26f4173..943cbe6 100644 --- a/ff-base/src/main/java/com/ff/base/enums/ErrorCode.java +++ b/ff-base/src/main/java/com/ff/base/enums/ErrorCode.java @@ -23,6 +23,7 @@ public enum ErrorCode { FREQUENT_INTERFACE_REQUESTS (1007, "接口请求频繁"), BALANCE_TRANSFER_FAILED (1008, "余额转移失败"), LANG_NOT_EXIST(1009, "游戏平台不支持的语言"), + ORDER_NOT_EXIST(1010, "订单不存在") ; // 获取错误码 diff --git a/ff-game/src/main/java/com/ff/api/controller/ApiGameController.java b/ff-game/src/main/java/com/ff/api/controller/ApiGameController.java index 89a8f71..e5fb141 100644 --- a/ff-game/src/main/java/com/ff/api/controller/ApiGameController.java +++ b/ff-game/src/main/java/com/ff/api/controller/ApiGameController.java @@ -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 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); + } + + + /** * 赠送免费局数 * diff --git a/ff-game/src/main/java/com/ff/api/request/GameExchangeStateRequest.java b/ff-game/src/main/java/com/ff/api/request/GameExchangeStateRequest.java new file mode 100644 index 0000000..e58bd5c --- /dev/null +++ b/ff-game/src/main/java/com/ff/api/request/GameExchangeStateRequest.java @@ -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; +} diff --git a/ff-game/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java b/ff-game/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java index 3b27b5a..04bcd80 100644 --- a/ff-game/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java +++ b/ff-game/src/main/java/com/ff/api/response/GameExchangeBalanceResponse.java @@ -62,8 +62,9 @@ public class GameExchangeBalanceResponse implements Serializable /** 转出类型 1游戏商转入到用户全部转出 2 用户转移到游戏商 */ private Integer exchangeType; - /** 状态 1 成功 2失败 */ + /** 状态,0:进行中、1:成功、2:失败 */ private Integer status; + }