Просмотр исходного кода

微信会话内容存储获取优化

anderx месяцев назад: 6
Родитель
Сommit
2063982e91

+ 8 - 3
src/main/java/com/kede/common/task/ConversationContentTask.java

@@ -1,7 +1,9 @@
 package com.kede.common.task;
 
+import com.kede.common.dao.ChatMsgOptimizeMapper;
 import com.kede.common.model.ChatMsg;
 import com.kede.common.model.ChatMsgUser;
+import com.kede.common.utils.DateUtils;
 import com.kede.common.utils.StringUtils;
 import com.kede.wechat.bo.InputChatMsg;
 import com.kede.wechat.service.ConversationContentService;
@@ -26,6 +28,8 @@ public class ConversationContentTask {
     private com.kede.common.dao.ChatMsgMapper chatMsgMapper;
     @Resource
     private com.kede.common.dao.ChatMsgUserMapper chatMsgUserMapper;
+    @Resource
+    private ChatMsgOptimizeMapper chatMsgOptimizeMapper;
 
     /**
      * 获取企业微信聊天记录
@@ -41,7 +45,7 @@ public class ConversationContentTask {
         //循环获取数据,每次100条,count不足100条时最后一次循序
         while (count < pageLimit) {
 
-            Map<String, Object> map = conversationContentService.getChatData(pageSeq, pageLimit);
+            Map<String, Object> map = conversationContentService.pushChatData(pageSeq, pageLimit);
             List<InputChatMsg> list = (List<InputChatMsg>) map.get("list");
             pushChatMsg(list);
             if (map == null) {
@@ -58,8 +62,9 @@ public class ConversationContentTask {
         //换算成分钟
         long f = time / 60;
         long m = time % 60;
-
-
+        Date earlyToday = DateUtils.getEarlyToday();
+        Date date = DateUtils.getDateBefore(earlyToday, -1);
+        chatMsgOptimizeMapper.deleteFromTime(date);
         System.out.println("=========================================获取数据完成=====耗时"+f+"分"+m+"秒=========================");
     }
 

+ 1 - 1
src/main/java/com/kede/wechat/controller/ConversationContentController.java

@@ -29,7 +29,7 @@ public class ConversationContentController extends BaseController {
     @RequestMapping(value = "/getChatData", method = RequestMethod.GET)
     public Map<String, Object> getChatData()
     {
-        Map<String, Object> map = conversationContentService.getChatData(null, null);
+        Map<String, Object> map = conversationContentService.pushChatData(null, null);
 
         return map;
     }

+ 1 - 1
src/main/java/com/kede/wechat/service/ConversationContentService.java

@@ -9,7 +9,7 @@ import java.util.List;
 import java.util.Map;
 
 public interface ConversationContentService {
-    Map<String,Object> getChatData(Integer pageSeq, Integer pageLimit);
+    Map<String,Object> pushChatData(Integer pageSeq, Integer pageLimit);
 
     String getAccessToken();
 

+ 2 - 2
src/main/java/com/kede/wechat/service/impl/ConversationContentServiceImpl.java

@@ -103,7 +103,7 @@ public class ConversationContentServiceImpl extends BaseMybatisDao<ChatMsgUserMa
 
 
     @Override
-    public Map<String,Object>  getChatData(Integer pageSeq, Integer pageLimit) {
+    public Map<String,Object>  pushChatData(Integer pageSeq, Integer pageLimit) {
         String message = null;
         Map<String,Object> map = new HashMap<>();
         List<InputChatMsg> list = new ArrayList<>();
@@ -167,6 +167,7 @@ public class ConversationContentServiceImpl extends BaseMybatisDao<ChatMsgUserMa
                             chatMsgOptimize = new ChatMsgOptimize();
                             chatMsgOptimize.setMsgid(chatMsg.getMsgid());
                             chatMsgOptimize.setMsgtime(chatMsg.getMsgtime());
+                            chatMsgOptimizeMapper.insert(chatMsgOptimize);
                             pushSmgType(msgtype, jsonObject, sdk, chatMsg);
                             list.add(chatMsg);
                         }
@@ -180,7 +181,6 @@ public class ConversationContentServiceImpl extends BaseMybatisDao<ChatMsgUserMa
 
         }
         Finance.FreeSlice(slice);
-        chatMsgOptimizeMapper.deleteFromTime(date);
         map.put("list",list);
         map.put("total",total);
     return map;