Browse Source

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

bilingfeng 1 year ago
parent
commit
ee0e9e9331

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

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

@@ -162,8 +162,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
         //客服休息时间, 发送自动回复
         //客服休息时间, 发送自动回复
         this.systemReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom);
         this.systemReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom);
         //小程序自动回复
         //小程序自动回复
-        this.appletReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom,
-                kfAppletMsgDTO.getSessionFrom(), gameApplet.getAppId());
+        this.appletReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom, gameApplet.getAppId());
         //消息报警监测
         //消息报警监测
         this.monitorWordHandle(gameApplet, kfAppletMsgDTO);
         this.monitorWordHandle(gameApplet, kfAppletMsgDTO);
         //保存房间消息
         //保存房间消息
@@ -174,6 +173,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
                     .set(KfSessionUser::getIsWait, Boolean.TRUE)
                     .set(KfSessionUser::getIsWait, Boolean.TRUE)
                     .set(KfSessionUser::getWaitStartTime, LocalDateTime.now())
                     .set(KfSessionUser::getWaitStartTime, LocalDateTime.now())
                     .set(KfSessionUser::getUpdateTime, LocalDateTime.now())
                     .set(KfSessionUser::getUpdateTime, LocalDateTime.now())
+                    .isNull(KfSessionUser::getSessionFrom)
                     .eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
                     .eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
                     .eq(KfSessionUser::getGameId, gameApplet.getGameId())
                     .eq(KfSessionUser::getGameId, gameApplet.getGameId())
             );
             );
@@ -182,9 +182,11 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
         this.pushMessage(this.transform(kfRoom, gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoomMsg, msgContent));
         this.pushMessage(this.transform(kfRoom, gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoomMsg, msgContent));
     }
     }
 
 
-    private void appletReplyHandle(Long gameId, String openId, KfRoom kfRoom, String sessionFrom, String appId) {
+    private void appletReplyHandle(Long gameId, String openId, KfRoom kfRoom, String appId) {
+        //玩家信息
+        KfSessionUser kfSessionUser = kfSessionUserService.getById(openId, gameId);
         //来源类型
         //来源类型
-        KfSessionFromEnum kfSessionFrom = KfSessionFromEnum.getKfSessionFrom(sessionFrom);
+        KfSessionFromEnum kfSessionFrom = KfSessionFromEnum.getKfSessionFrom(kfSessionUser.getSessionFrom());
         if (kfSessionFrom == null) {
         if (kfSessionFrom == null) {
             return;
             return;
         }
         }
@@ -194,14 +196,14 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
             return;
             return;
         }
         }
         //判断是否来源与平台
         //判断是否来源与平台
-        if (Objects.equals(sessionFrom, KfSessionFromEnum.KF_SESSION_FROM_PLATFORM.getValue())) {
+        if (Objects.equals(kfSessionFrom, KfSessionFromEnum.KF_SESSION_FROM_PLATFORM)) {
             //回复默认消息
             //回复默认消息
             if (Strings.isNotBlank(kfAppletReply.getReplyDefault())) {
             if (Strings.isNotBlank(kfAppletReply.getReplyDefault())) {
                 this.sysMsgSend(gameId, openId, kfAppletReply.getReplyDefault(), kfRoom);
                 this.sysMsgSend(gameId, openId, kfAppletReply.getReplyDefault(), kfRoom);
             }
             }
         }
         }
         //判断是否来源于广告
         //判断是否来源于广告
-        if (Objects.equals(sessionFrom, KfSessionFromEnum.KF_SESSION_FROM_AD.getValue())) {
+        if (Objects.equals(kfSessionFrom, KfSessionFromEnum.KF_SESSION_FROM_AD)) {
             //存在文本消息发送
             //存在文本消息发送
             if (Strings.isNotBlank(kfAppletReply.getReplyText())) {
             if (Strings.isNotBlank(kfAppletReply.getReplyText())) {
                 this.sysMsgSend(gameId, openId, kfAppletReply.getReplyText(), kfRoom);
                 this.sysMsgSend(gameId, openId, kfAppletReply.getReplyText(), kfRoom);
@@ -482,6 +484,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
                 .set(KfSessionUser::getLastRoleName, gameUserRole.getRoleName())
                 .set(KfSessionUser::getLastRoleName, gameUserRole.getRoleName())
                 .set(KfSessionUser::getServerId, gameUserRole.getServerId())
                 .set(KfSessionUser::getServerId, gameUserRole.getServerId())
                 .set(KfSessionUser::getServerName, gameUserRole.getServerName())
                 .set(KfSessionUser::getServerName, gameUserRole.getServerName())
+                .set(KfSessionUser::getSessionFrom, kfAppletMsgDTO.getSessionFrom())
                 .set(KfSessionUser::getUpdateTime, LocalDateTime.now())
                 .set(KfSessionUser::getUpdateTime, LocalDateTime.now())
                 .eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
                 .eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
                 .eq(KfSessionUser::getGameId, gameApplet.getGameId())
                 .eq(KfSessionUser::getGameId, gameApplet.getGameId())
@@ -498,6 +501,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
                 .lastRoleName(gameUserRole == null ? "神秘人[未创角]" : gameUserRole.getRoleName())
                 .lastRoleName(gameUserRole == null ? "神秘人[未创角]" : gameUserRole.getRoleName())
                 .serverId(gameUserRole == null ? null : gameUserRole.getServerId())
                 .serverId(gameUserRole == null ? null : gameUserRole.getServerId())
                 .serverName(gameUserRole == null ? null : gameUserRole.getServerName())
                 .serverName(gameUserRole == null ? null : gameUserRole.getServerName())
+                .sessionFrom(kfAppletMsgDTO.getSessionFrom())
                 .createTime(LocalDateTime.now())
                 .createTime(LocalDateTime.now())
                 .updateTime(LocalDateTime.now())
                 .updateTime(LocalDateTime.now())
                 .build();
                 .build();

+ 5 - 0
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/entity/KfSessionUser.java

@@ -66,6 +66,11 @@ public class KfSessionUser implements Serializable {
      */
      */
     private String serverName;
     private String serverName;
 
 
+    /**
+     * 消息来源
+     */
+    private String sessionFrom;
+
     /**
     /**
      * 创建时间
      * 创建时间
      */
      */