leon 5 лет назад
Родитель
Сommit
3205c033fb

+ 18 - 4
src/main/java/com/mokamrp/privates/tast/pangu/SyncNewFosterwxTask.java

@@ -1,10 +1,12 @@
 package com.mokamrp.privates.tast.pangu;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mokamrp.privates.constant.RedisKey;
 import com.mokamrp.privates.entity.ResHandle;
 import com.mokamrp.privates.entity.pangu.FosterwxTaskScheduleHandle;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxStation;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
 import com.mokamrp.privates.service.pangu.FosterwxStationService;
@@ -17,9 +19,7 @@ import org.springframework.stereotype.Component;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Component
 public class SyncNewFosterwxTask {
@@ -53,7 +53,9 @@ public class SyncNewFosterwxTask {
             fosterwxTaskScheduleHandle.setPagesize(99999);
             ResHandle<List<FosterwxTaskSchedule>> resHandle = fosterwxTaskScheduleService.getList(fosterwxTaskScheduleHandle);
             List<FosterwxTaskSchedule> fosterwxTaskScheduleList = resHandle.getList();
+            Map<String,List<FosterwxTaskSchedule>> saveRedis = new HashMap<>();
             for (FosterwxTaskSchedule fosterwxTaskSchedule : fosterwxTaskScheduleList) {
+                String sendDate = fosterwxTaskSchedule.getSendDate().toString();
                 tasks.add(fosterwxTaskSchedule.getTaskId());
                 FosterwxTaskScheduleHandle handle = new FosterwxTaskScheduleHandle();
                 handle.setTaskId(fosterwxTaskSchedule.getTaskId());
@@ -65,8 +67,19 @@ public class SyncNewFosterwxTask {
                 }
                 fosterwxTaskSchedule.setMobileCount(taskInfo.getMobileCount());
                 fosterwxTaskSchedule.setComment(taskInfo.getComment());
+                List<FosterwxTaskSchedule> sendDateDetail = saveRedis.get(sendDate);
+                if (sendDateDetail == null){
+                    List<FosterwxTaskSchedule> firstAdd = new ArrayList<>();
+                    firstAdd.add(fosterwxTaskSchedule);
+                    saveRedis.put(sendDate,firstAdd);
+                }else{
+                    sendDateDetail.add(fosterwxTaskSchedule);
+                    saveRedis.put(sendDate,sendDateDetail);
+                }
+            }
+            for (Map.Entry<String, List<FosterwxTaskSchedule>> entry : saveRedis.entrySet()) {
+                stringRedisTemplate.opsForHash().put(RedisKey.PanWxfosterTask + stationId, entry.getKey(), JSON.toJSONString(entry.getValue()));
             }
-            stringRedisTemplate.opsForHash().put(RedisKey.PanWxfosterTask + stationId, dateStr, JSON.toJSONString(fosterwxTaskScheduleList));
             //.任务状态改为 已发送
             if (tasks.size() > 0){
                 FosterwxTaskSchedule save =  new FosterwxTaskSchedule();
@@ -79,6 +92,7 @@ public class SyncNewFosterwxTask {
                 );
             }
             tasks.clear();
+            saveRedis.clear();
         }
     }
 }