Selaa lähdekoodia

fix : 角色新手引导回传bug修改

bilingfeng 5 kuukautta sitten
vanhempi
commit
bbba9c92f3

+ 1 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/GameBackApplication.java

@@ -18,7 +18,7 @@ public class GameBackApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(GameBackApplication.class, args);
-        System.out.println("新增沉默唤起回传和完成新手引导回传 ( ´・・)ノ(._.`)  \n" +
+        System.out.println("角色新手引导回传bug修改 ( ´・・)ノ(._.`)  \n" +
                 " ______  __     __     \n" +
                 "/_____/\\/__/\\ /__/\\    \n" +
                 "\\:::__\\/\\ \\::\\\\:.\\ \\   \n" +

+ 13 - 2
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/rpc/impl/TencentMiniGameBackRpcImpl.java

@@ -7,7 +7,10 @@ import com.zanxiang.game.back.base.pojo.dto.TencentRoleRegisterRpcDTO;
 import com.zanxiang.game.back.base.pojo.dto.TencentUserDTO;
 import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
 import com.zanxiang.game.back.base.rpc.ITencentMiniGameBackRpc;
-import com.zanxiang.game.back.serve.pojo.entity.*;
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameOrder;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameRoleRegister;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameUser;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameOrderService;
@@ -140,8 +143,16 @@ public class TencentMiniGameBackRpcImpl implements ITencentMiniGameBackRpc {
                         .eq(GameTencentMiniGameRoleRegister::getId, oldRole.getId())
                 );
             }
+            // 创角已回传
             if (Objects.equals(oldRole.getBackStatus(), BackStatusEnum.SUCCESS.getBackStatus())) {
-                // 创角已回传。不重复传了
+                //判断是否完成新手引导回传, 若没有, 则执行新手引导回传
+                if (!Objects.equals(oldRole.getTutorialFinishBackStatus(), BackStatusEnum.SUCCESS.getBackStatus())) {
+                    //回传策略
+                    GameBackPolicy gameBackPolicy = oldRole.getBackPolicyId() == null ? null : gameBackPolicyService.getById(roleRegisterLog.getBackPolicyId());
+                    //新手引导回传
+                    gameTencentMiniGameRoleRegisterService.tutorialFinishBack(oldRole, gameBackPolicy);
+                }
+                // 创角已回传, 不重复执行回传
                 return ResultVO.ok(true);
             }
         } else {

+ 3 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/IGameTencentMiniGameRoleRegisterService.java

@@ -3,6 +3,7 @@ package com.zanxiang.game.back.serve.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentMiniGameRoleRegisterDTO;
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameRoleRegister;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentMiniGameRoleRegisterVO;
 
@@ -12,6 +13,8 @@ public interface IGameTencentMiniGameRoleRegisterService extends IService<GameTe
 
     boolean roleRegisterBack(GameTencentMiniGameRoleRegister roleRegisterLog);
 
+    void tutorialFinishBack(GameTencentMiniGameRoleRegister roleRegisterLog, GameBackPolicy gameBackPolicy);
+
     IPage<GameTencentMiniGameRoleRegisterVO> listOfPage(GameTencentMiniGameRoleRegisterDTO dto);
 
     boolean doReport(List<Long> userLogIds);

+ 2 - 1
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameRoleRegisterServiceImpl.java

@@ -172,7 +172,8 @@ public class GameTencentMiniGameRoleRegisterServiceImpl extends ServiceImpl<Game
         return gameTencentMiniGameBackLogService.roleRegisterBack(roleRegisterLog);
     }
 
-    private void tutorialFinishBack(GameTencentMiniGameRoleRegister roleRegisterLog, GameBackPolicy gameBackPolicy) {
+    @Override
+    public void tutorialFinishBack(GameTencentMiniGameRoleRegister roleRegisterLog, GameBackPolicy gameBackPolicy) {
         //角色判断完成新手引导回传
         if (super.count(new LambdaQueryWrapper<GameTencentMiniGameRoleRegister>()
                 .eq(GameTencentMiniGameRoleRegister::getGameId, roleRegisterLog.getGameId())