Quellcode durchsuchen

Merge branch 'dev' of GameCenter/game-center into master

root vor 1 Jahr
Ursprung
Commit
091be54ec8

+ 6 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameOceanengineOrderLogVO.java

@@ -72,4 +72,10 @@ public class GameOceanengineOrderLogVO {
 
     @ApiModelProperty("是否是首单")
     private Boolean isFirstOrder;
+
+    @ApiModelProperty("回传金额")
+    private Long backMoney;
+
+    @ApiModelProperty("回传日志")
+    private String backMsg;
 }

+ 6 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentMiniGameOrderVO.java

@@ -112,4 +112,10 @@ public class GameTencentMiniGameOrderVO {
 
     @ApiModelProperty("是否是首单")
     private Boolean isFirstOrder;
+
+    @ApiModelProperty("回传金额")
+    private Long backMoney;
+
+    @ApiModelProperty("回传日志")
+    private String backMsg;
 }

+ 6 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/vo/GameTencentOrderVO.java

@@ -128,4 +128,10 @@ public class GameTencentOrderVO {
 
     @ApiModelProperty("是否是首单")
     private Boolean isFirstOrder;
+
+    @ApiModelProperty("回传金额")
+    private Long backMoney;
+
+    @ApiModelProperty("回传日志")
+    private String backMsg;
 }

+ 7 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/TencentMiniGameBackRpcImpl.java

@@ -17,6 +17,7 @@ import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.time.LocalDateTime;
+import java.util.Objects;
 
 @Slf4j
 @DubboService
@@ -29,7 +30,12 @@ public class TencentMiniGameBackRpcImpl implements ITencentMiniGameBackRpc {
 
     @Override
     public ResultVO<Boolean> backOrder(TencentOrderDTO dto) {
-        log.error("腾讯小游戏订单回传收到:{}", JsonUtil.toString(dto));
+        if (Objects.equals(OrderStatusEnum.SUCCESS_PAY.getValue(), dto.getOrderStatus())) {
+            log.error("腾讯小游戏订单回传收到:{}。", JsonUtil.toString(dto));
+        } else {
+            log.error("腾讯小游戏订单回传收到:{}。订单未支付,直接过滤", JsonUtil.toString(dto));
+            return ResultVO.ok(true);
+        }
         boolean isFirstOrder = gameTencentMiniGameOrderService.getOne(new LambdaQueryWrapper<GameTencentMiniGameOrder>()
                 .select(GameTencentMiniGameOrder::getOrderId)
                 .eq(GameTencentMiniGameOrder::getGameId, dto.getGameId())

+ 7 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/TencentUserActionBackRpcImpl.java

@@ -19,6 +19,7 @@ import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.time.LocalDateTime;
+import java.util.Objects;
 
 @Slf4j
 @DubboService
@@ -31,7 +32,12 @@ public class TencentUserActionBackRpcImpl implements ITencentUserActionBackRpc {
 
     @Override
     public ResultVO<Boolean> backOrder(TencentOrderDTO dto) {
-        log.error("腾讯H5订单回传收到:{}", JsonUtil.toString(dto));
+        if (Objects.equals(OrderStatusEnum.SUCCESS_PAY.getValue(), dto.getOrderStatus())) {
+            log.error("腾讯H5订单回传收到:{}。", JsonUtil.toString(dto));
+        } else {
+            log.error("腾讯H5订单回传收到:{}。订单未支付,直接过滤", JsonUtil.toString(dto));
+            return ResultVO.ok(true);
+        }
         boolean isFirstOrder = gameTencentOrderService.getOne(new LambdaQueryWrapper<GameTencentOrder>()
                 .select(GameTencentOrder::getOrderId)
                 .eq(GameTencentOrder::getGameId, dto.getGameId())

+ 7 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/TtMiniGameBackRpcImpl.java

@@ -17,6 +17,7 @@ import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.time.LocalDateTime;
+import java.util.Objects;
 
 @Slf4j
 @DubboService
@@ -52,7 +53,12 @@ public class TtMiniGameBackRpcImpl implements ITtMiniGameBackRpc {
 
     @Override
     public ResultVO<Boolean> orderReport(TtOrderRpcDTO dto) {
-        log.error("头条小游戏订单回传收到:{}", JsonUtil.toString(dto));
+        if (Objects.equals(OrderStatusEnum.SUCCESS_PAY.getValue(), dto.getOrderStatus())) {
+            log.error("头条小游戏订单回传收到:{}。", JsonUtil.toString(dto));
+        } else {
+            log.error("头条小游戏订单回传收到:{}。订单未支付,直接过滤", JsonUtil.toString(dto));
+            return ResultVO.ok(true);
+        }
         GameOceanengineOrderLog orderLog = GameOceanengineOrderLog.builder()
                 .appId(dto.getWechatAppId())
                 .openId(dto.getWechatOpenId())

+ 2 - 2
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/utils/BackPolicyUtil.java

@@ -89,7 +89,7 @@ public class BackPolicyUtil {
                 } else if (Objects.equals(backType, GameBackPolicy.POLICY_TYPE_RANDOM_RATE)) {
                     // 随机概率回传
                     boolean isBack = RandomUtils.nextInt(0, 100) < NumberUtil.multiply100(new BigDecimal(backRate)).intValue();
-                    backMsg = "补单-随机概率回传(" + backRate + ")";
+                    backMsg = "补单-随机概率回传(" + NumberUtil.multiply100(new BigDecimal(backRate)) + "%)";
                     if (!isBack) {
                         log.error("订单 id[{}]通过回传策略[{}]判断后,不回传,原因:{}", orderId, gameBackPolicy.getId(), backMsg);
                         return Tuples.tuple(Boolean.FALSE, downLevel(rechargeMoney, gameBackPolicy.getMarkUpDownLevel()), backMsg);
@@ -183,7 +183,7 @@ public class BackPolicyUtil {
         } else if (Objects.equals(backType, GameBackPolicy.POLICY_TYPE_RANDOM_RATE)) {
             // 随机概率回传
             boolean isBack = RandomUtils.nextInt(0, 100) < NumberUtil.multiply100(new BigDecimal(backRate)).intValue();
-            backMsg = backMsg + "补单-随机概率回传(" + backRate + ")";
+            backMsg = backMsg + "随机概率回传(" + NumberUtil.multiply100(new BigDecimal(backRate)) + "%)";
             if (!isBack) {
                 log.error("订单 id[{}]通过回传策略[{}]判断后,不回传,原因:{}", orderId, gameBackPolicy.getId(), backMsg);
                 return Tuples.tuple(Boolean.FALSE, downLevel(rechargeMoney, downLevelString), backMsg);