Ver Fonte

socket调试

tangbin há 10 meses atrás
pai
commit
24f2b55093

+ 9 - 4
yezhu-api/src/main/java/com/kioor/websocket/WebSocketServer.java

@@ -14,6 +14,7 @@ import com.kioor.common.exception.ErrorCode;
 import com.kioor.common.exception.RenException;
 import com.kioor.common.redis.RedisKeys;
 import com.kioor.common.redis.RedisUtils;
+import com.kioor.common.utils.DateUtils;
 import com.kioor.common.utils.JsonUtils;
 import com.kioor.room.dto.RoomDTO;
 import com.kioor.room.service.UserHousingEstateService;
@@ -139,11 +140,15 @@ public class WebSocketServer {
     @OnMessage
     public void onMessage(Session session, String msg) {
         log.info("session id: " + session.getId() + ", message:" + msg);
+        if(msg.equals("ping")){
+            return;
+        }
         RedisUtils redisUtils = applicationContext.getBean(RedisUtils.class);
         //msg Json字符串转为MsgWebSocket对象
         MsgWebSocket fromMsgDetail = JsonUtils.parseObject(msg, MsgWebSocket.class);
         if (fromMsgDetail != null && fromMsgDetail.getToId() != null) {
-
+            Date editTime = new Date();
+            fromMsgDetail.setEditTimeStr(DateUtils.format(editTime, DateUtils.DATE_TIME_PATTERN));
             MessageData<String> message = new MessageData<String>().msg(msg);
             switch(fromMsgDetail.getToType()){
                 case 0:
@@ -156,7 +161,7 @@ public class WebSocketServer {
                         sendMessage(userIdList, message);
                     }
                     //保存到小区群聊的聊天记录中
-                    saveChatLog(0, fromMsgDetail.getToId(), 1, servers.get(session.getId()).getUserId(), fromMsgDetail.getMessage());
+                    saveChatLog(0, fromMsgDetail.getToId(), 1, servers.get(session.getId()).getUserId(), fromMsgDetail.getMessage(),editTime);
                     break;
                 case 1:
                     //发送给指定用户
@@ -176,7 +181,7 @@ public class WebSocketServer {
      * @param userId
      * @param content
      */
-    private void saveChatLog(int type, Long chatPartnerId,int showRoomFlag,Long userId,String content){
+    private void saveChatLog(int type, Long chatPartnerId,int showRoomFlag,Long userId,String content,Date editDate){
         ChatLogDTO dto = new ChatLogDTO();
         ChatLogService chatLogService = applicationContext.getBean(ChatLogService.class);
         dto.setType(type);
@@ -184,7 +189,7 @@ public class WebSocketServer {
         dto.setShowRoomFlag(showRoomFlag);
         dto.setContent(content);
         dto.setEditUser(userId);
-        dto.setEditTime(new Date());
+        dto.setEditTime(editDate);
         if(dto.getShowRoomFlag()==null){
             dto.setShowRoomFlag(1);
         }

+ 4 - 0
yezhu-api/src/main/java/com/kioor/websocket/dto/MsgWebSocket.java

@@ -34,6 +34,10 @@ public class MsgWebSocket {
      * 房号
      */
     private String fromRoomStr;
+    /**
+     * 发送时间
+     */
+    private String editTimeStr;
     /**
      * 接收者类型(0-小区业主群,1-个人)
      */