Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/package' into package

bilingfeng 1 gadu atpakaļ
vecāks
revīzija
ef604076f9

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

@@ -105,7 +105,9 @@ public class TencentMiniGameBackRpcImpl implements ITencentMiniGameBackRpc {
                 .createTime(LocalDateTime.now())
                 .build();
         gameTencentMiniGameUserService.save(userLog);
-        return ResultVO.ok(gameTencentMiniGameUserService.userBack(userLog, false));
+        return ResultVO.ok(true);
+        // 激活现在默认不回传了,等创角的时候一起回传
+        // return ResultVO.ok(gameTencentMiniGameUserService.userBack(userLog, false));
     }
 
     @Override

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

@@ -93,7 +93,9 @@ public class TencentUserActionBackRpcImpl implements ITencentUserActionBackRpc {
                 .createTime(LocalDateTime.now())
                 .build();
         gameTencentUserService.save(gameTencentUser);
-        return ResultVO.ok(gameTencentUserService.userBack(gameTencentUser, false));
+        return ResultVO.ok(true);
+        // 激活现在默认不回传了,等创角的时候一起回传
+        // return ResultVO.ok(gameTencentUserService.userBack(gameTencentUser, false));
     }
 
     @Override

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

@@ -53,7 +53,9 @@ public class TtMiniGameBackRpcImpl implements ITtMiniGameBackRpc {
                 .createTime(LocalDateTime.now())
                 .build();
         gameOceanengineUserLogService.save(userLog);
-        return ResultVO.ok(gameOceanengineUserLogService.callback(userLog, false));
+        return ResultVO.ok(true);
+        // 激活现在默认不回传了,等创角的时候一起回传
+        // return ResultVO.ok(gameOceanengineUserLogService.callback(userLog, false));
     }
 
     @Override

+ 5 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineRoleRegisterLogServiceImpl.java

@@ -118,6 +118,7 @@ public class GameOceanengineRoleRegisterLogServiceImpl extends ServiceImpl<GameO
                 .eq(GameOceanengineUserLog::getAppId, roleRegisterLog.getAppId())
                 .eq(GameOceanengineUserLog::getOpenId, roleRegisterLog.getOpenId())
                 .eq(GameOceanengineUserLog::getAccountId, roleRegisterLog.getAccountId())
+                .orderByDesc(GameOceanengineUserLog::getCreateTime)
                 .last("limit 1")
         );
         if (userLog == null) {
@@ -136,6 +137,10 @@ public class GameOceanengineRoleRegisterLogServiceImpl extends ServiceImpl<GameO
                     .build());
             return BackStatusEnum.FAILED;
         }
+        if (BackStatusEnum.NO.getBackStatus().equals(userLog.getBackStatus())) {
+            // 回传用户激活
+            gameOceanengineUserLogService.callback(userLog, true);
+        }
         MiniGameCallback.MiniGameCallbackRequest request = MiniGameCallback.MiniGameCallbackRequest.builder()
                 .clue_token(userLog.getClueToken())
                 .open_id(roleRegisterLog.getOpenId())

+ 17 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentMiniGameRoleRegisterServiceImpl.java

@@ -13,11 +13,13 @@ import com.zanxiang.game.back.serve.pojo.dto.GameTencentMiniGameUserDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentMiniGameBackLog;
 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.entity.GameTencentUser;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentMiniGameRoleRegisterVO;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentMiniGameUserVO;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentMiniGameRoleRegisterService;
+import com.zanxiang.game.back.serve.service.IGameTencentMiniGameUserService;
 import com.zanxiang.game.module.base.ServerInfo;
 import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
 import com.zanxiang.game.module.base.rpc.IAgentRpc;
@@ -51,6 +53,8 @@ public class GameTencentMiniGameRoleRegisterServiceImpl extends ServiceImpl<Game
     private IGameTencentMiniGameBackLogService gameTencentMiniGameBackLogService;
     @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
     private IAgentRpc agentRpc;
+    @Autowired
+    private IGameTencentMiniGameUserService gameTencentMiniGameUserService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -120,6 +124,19 @@ public class GameTencentMiniGameRoleRegisterServiceImpl extends ServiceImpl<Game
     }
 
     private BackStatusEnum doCallback(GameTencentMiniGameRoleRegister roleRegisterLog) {
+        GameTencentMiniGameUser user = gameTencentMiniGameUserService.getOne(new LambdaQueryWrapper<GameTencentMiniGameUser>()
+                .eq(GameTencentMiniGameUser::getGameId, roleRegisterLog.getGameId())
+                .eq(GameTencentMiniGameUser::getWechatAppId, roleRegisterLog.getWechatAppId())
+                .eq(GameTencentMiniGameUser::getWechatOpenid, roleRegisterLog.getWechatOpenid())
+                .eq(GameTencentMiniGameUser::getAdAccountId, roleRegisterLog.getAdAccountId())
+                .orderByDesc(GameTencentMiniGameUser::getCreateTime)
+                .last("limit 1")
+        );
+        if (user != null) {
+            if (BackStatusEnum.NO.getBackStatus().equals(user.getBackStatus())) {
+                gameTencentMiniGameUserService.userBack(user, true);
+            }
+        }
         return gameTencentMiniGameBackLogService.roleRegisterBack(roleRegisterLog);
     }
 

+ 18 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentRoleRegisterServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zanxiang.game.back.serve.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,11 +16,13 @@ import com.zanxiang.game.back.serve.dao.mapper.GameTencentRoleRegisterMapper;
 import com.zanxiang.game.back.serve.pojo.dto.GameTencentRoleRegisterDTO;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentBackLog;
 import com.zanxiang.game.back.serve.pojo.entity.GameTencentRoleRegister;
+import com.zanxiang.game.back.serve.pojo.entity.GameTencentUser;
 import com.zanxiang.game.back.serve.pojo.enums.ActionTypeEnum;
 import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
 import com.zanxiang.game.back.serve.pojo.vo.GameTencentRoleRegisterVO;
 import com.zanxiang.game.back.serve.service.IGameTencentBackLogService;
 import com.zanxiang.game.back.serve.service.IGameTencentRoleRegisterService;
+import com.zanxiang.game.back.serve.service.IGameTencentUserService;
 import com.zanxiang.game.module.base.ServerInfo;
 import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
 import com.zanxiang.game.module.base.rpc.IAgentRpc;
@@ -57,6 +60,8 @@ public class GameTencentRoleRegisterServiceImpl extends ServiceImpl<GameTencentR
     private IGameTencentBackLogService gameTencentBackLogService;
     @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
     private IAgentRpc agentRpc;
+    @Autowired
+    private IGameTencentUserService gameTencentUserService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -125,6 +130,19 @@ public class GameTencentRoleRegisterServiceImpl extends ServiceImpl<GameTencentR
 
 
     private BackStatusEnum doCallback(GameTencentRoleRegister roleRegisterLog) {
+        GameTencentUser user = gameTencentUserService.getOne(new LambdaQueryWrapper<GameTencentUser>()
+                .eq(GameTencentUser::getGameId, roleRegisterLog.getGameId())
+                .eq(GameTencentUser::getWechatAppId, roleRegisterLog.getWechatAppId())
+                .eq(GameTencentUser::getWechatOpenid, roleRegisterLog.getWechatOpenid())
+                .eq(GameTencentUser::getAdAccountId, roleRegisterLog.getAdAccountId())
+                .orderByDesc(GameTencentUser::getCreateTime)
+                .last("limit 1")
+        );
+        if (user != null) {
+            if (BackStatusEnum.NO.getBackStatus().equals(user.getIsBack())) {
+                gameTencentUserService.userBack(user, true);
+            }
+        }
         Map<String, Object> actionParam = new HashMap<>(2);
         actionParam.put("claim_type", 0);
         DataReportOfAppIdRpcDTO dataReportOfAppIdRpcDTO = DataReportOfAppIdRpcDTO.builder()