Przeglądaj źródła

微信会话内容存储企业名称BUG修复

anderx 6 miesięcy temu
rodzic
commit
7284ef1e4f

+ 9 - 2
src/main/java/com/kede/common/task/ConversationContentTask.java

@@ -32,12 +32,19 @@ public class ConversationContentTask {
     private ChatMsgOptimizeMapper chatMsgOptimizeMapper;
 
     /**
+     * 获取数据间隔时间
+     * 例如:-2 表示当前日期减二,2025-06-24 结果就是从6-22开始到现在就是三天的数据
+     */
+    static final int days=-2;
+
+    /**
      * 获取企业微信聊天记录
      */
     //每天下午六点执行
     @Scheduled(cron = "0 0 18 * * ?")
     @RequestMapping(value ="/open/pushMsg", method = RequestMethod.GET)
     public void pushMsg() {
+
         long startTime = System.currentTimeMillis();
         Integer pageSeq = 0;
         Integer pageLimit = 100;
@@ -45,7 +52,7 @@ public class ConversationContentTask {
         //循环获取数据,每次100条,count不足100条时最后一次循序
         while (count < pageLimit) {
 
-            Map<String, Object> map = conversationContentService.pushChatData(pageSeq, pageLimit);
+            Map<String, Object> map = conversationContentService.pushChatData(pageSeq, pageLimit,days);
             List<InputChatMsg> list = (List<InputChatMsg>) map.get("list");
             pushChatMsg(list);
             if (map == null) {
@@ -64,7 +71,7 @@ public class ConversationContentTask {
         long m = time % 60;
         Date earlyToday = DateUtils.getEarlyToday();
         //按当天零点算,减去x天,即=-1的时候取2天数据,今天与昨天
-        Date date = DateUtils.getDateBefore(earlyToday, -2);
+        Date date = DateUtils.getDateBefore(earlyToday, days);
         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.pushChatData(null, null);
+        Map<String, Object> map = conversationContentService.pushChatData(null, null,2);
 
         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> pushChatData(Integer pageSeq, Integer pageLimit);
+    Map<String,Object> pushChatData(Integer pageSeq, Integer pageLimit,Integer days);
 
     String getAccessToken();
 

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

@@ -106,10 +106,11 @@ public class ConversationContentServiceImpl extends BaseMybatisDao<ChatMsgUserMa
      * 获取会话内容
      * @param pageSeq
      * @param pageLimit
+     * @param days 获取天数,比如-2, 那就是获取当前天数-2的日期,那么获取数据就是前天开始到当前日期的数据
      * @return
      */
     @Override
-    public Map<String,Object>  pushChatData(Integer pageSeq, Integer pageLimit) {
+    public Map<String,Object>  pushChatData(Integer pageSeq, Integer pageLimit,Integer days) {
         String message = null;
         Map<String,Object> map = new HashMap<>();
         List<InputChatMsg> list = new ArrayList<>();
@@ -135,7 +136,7 @@ public class ConversationContentServiceImpl extends BaseMybatisDao<ChatMsgUserMa
         total=chatdata.length();
         System.out.println("消息数:" + total);
         Date earlyToday = DateUtils.getEarlyToday();
-        Date date = DateUtils.getDateBefore(earlyToday, -1);
+        Date date = DateUtils.getDateBefore(earlyToday, days);
         for (int i = 0; i < chatdata.length(); i++) {
             String item = chatdata.get(i).toString();
 //            item:{