Browse Source

fix : 小程序自动回复消息1234

bilingfeng 1 year ago
parent
commit
33d7af5338

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -23,7 +23,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 < (新链路小程序登自动回复消息0123´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 < (新链路小程序登自动回复消息01234´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 7 - 7
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/KfAppletMsgServiceImpl.java

@@ -474,17 +474,17 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
             return;
         }
         //不存在角色信息, 不做更新
-        if (gameUserRole == null) {
+        if (user == null && Strings.isBlank(kfAppletMsgDTO.getSessionFrom())) {
             return;
         }
         //存在, 更新玩家信息
         kfSessionUserService.update(new LambdaUpdateWrapper<KfSessionUser>()
-                .set(KfSessionUser::getUserId, user.getId())
-                .set(KfSessionUser::getLastRoleId, gameUserRole.getRoleId())
-                .set(KfSessionUser::getLastRoleName, gameUserRole.getRoleName())
-                .set(KfSessionUser::getServerId, gameUserRole.getServerId())
-                .set(KfSessionUser::getServerName, gameUserRole.getServerName())
-                .set(KfSessionUser::getSessionFrom, kfAppletMsgDTO.getSessionFrom())
+                .set(user != null, KfSessionUser::getUserId, user == null ? null : user.getId())
+                .set(gameUserRole != null, KfSessionUser::getLastRoleId, gameUserRole == null ? null : gameUserRole.getRoleId())
+                .set(gameUserRole != null, KfSessionUser::getLastRoleName, gameUserRole == null ? null : gameUserRole.getRoleName())
+                .set(gameUserRole != null, KfSessionUser::getServerId, gameUserRole == null ? null : gameUserRole.getServerId())
+                .set(gameUserRole != null, KfSessionUser::getServerName, gameUserRole == null ? null : gameUserRole.getServerName())
+                .set(Strings.isNotBlank(kfAppletMsgDTO.getSessionFrom()), KfSessionUser::getSessionFrom, kfAppletMsgDTO.getSessionFrom())
                 .set(KfSessionUser::getUpdateTime, LocalDateTime.now())
                 .eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
                 .eq(KfSessionUser::getGameId, gameApplet.getGameId())