Преглед изворни кода

fix : 角色信息更新优化

bilingfeng пре 6 дана
родитељ
комит
3aad63760f

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/SDKApplication.java

@@ -25,7 +25,7 @@ public class SDKApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(SDKApplication.class, args);
-        System.out.println("赞象SDK服务启动成功 <游戏仙剑单设备限制只能注册2个账号> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象SDK服务启动成功 <角色信息更新优化> ( ´・・)ノ(._.`) \n" +
                 " ___________ _   __\n" +
                 "/  ___|  _  \\ | / /\n" +
                 "\\ `--.| | | | |/ / \n" +

+ 7 - 18
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/GameUserRoleServiceImpl.java

@@ -176,27 +176,16 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
                 + "_" + param.getRoleId(), 0L, 20L, TimeUnit.SECONDS)) {
             return Boolean.TRUE;
         }
-        //判断是否等级变更
-        boolean updateRoleLevel = param.getRoleLevel() > gameUserRole.getRoleLevel();
-        //玩家信息
-        GameUser gameUser = gameUserService.getOne(new LambdaQueryWrapper<GameUser>()
-                .eq(GameUser::getGameId, userData.getGameId())
-                .eq(GameUser::getUserId, userData.getUserId()));
-        //玩家角色信息更新
-        if (gameUserRole.getServerId() == null) {
-            gameUserRole.setServerId(param.getServerId());
-        }
+        //角色vip等级
         if (param.getRoleVipLevel() != null) {
             gameUserRole.setRoleVipLevel(param.getRoleVipLevel());
         }
-        if (param.getRolePower() != null) {
+        //角色战力和帮派信息
+        if (param.getRolePower() != null && param.getRolePower() > 0L) {
             gameUserRole.setRolePower(param.getRolePower());
-        }
-        if (param.getExtra() != null && Strings.isNotBlank(JsonUtil.toString(param.getExtra()))) {
-            gameUserRole.setExtra(JsonUtil.toString(param.getExtra()));
-        }
-        if (gameUser != null) {
-            gameUserRole.setGameUserId(gameUser.getId());
+            if (param.getExtra() != null && Strings.isNotBlank(JsonUtil.toString(param.getExtra()))) {
+                gameUserRole.setExtra(JsonUtil.toString(param.getExtra()));
+            }
         }
         gameUserRole.setRoleName(param.getRoleName());
         gameUserRole.setRoleLevel(param.getRoleLevel());
@@ -204,7 +193,7 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         gameUserRole.setUpdateTime(LocalDateTime.now());
         boolean result = super.updateById(gameUserRole);
         //等级变更
-        if (updateRoleLevel) {
+        if (param.getRoleLevel() > gameUserRole.getRoleLevel()) {
             //用户创角回传
             callBackService.roleCallBack(gameUserRole);
             //玩家消息推送