Browse Source

Merge remote-tracking branch 'origin/master'

lqc 5 năm trước cách đây
mục cha
commit
31ad14ae3a

+ 6 - 0
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskScheduleController.java

@@ -3,6 +3,7 @@ package com.mokamrp.privates.controller.pangu;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.mokamrp.privates.constant.Constants;
 import com.mokamrp.privates.constant.Constants;
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.constant.RedisKey;
 import com.mokamrp.privates.controller.BaseController;
 import com.mokamrp.privates.controller.BaseController;
 import com.mokamrp.privates.entity.AddHandle;
 import com.mokamrp.privates.entity.AddHandle;
 import com.mokamrp.privates.entity.ResHandle;
 import com.mokamrp.privates.entity.ResHandle;
@@ -15,6 +16,7 @@ import com.mokamrp.privates.mapper.pojo.User;
 import com.mokamrp.privates.service.pangu.FosterwxTaskListService;
 import com.mokamrp.privates.service.pangu.FosterwxTaskListService;
 import com.mokamrp.privates.service.pangu.FosterwxTaskScheduleService;
 import com.mokamrp.privates.service.pangu.FosterwxTaskScheduleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -48,6 +50,9 @@ public class FosterwxTaskScheduleController extends BaseController<FosterwxTaskS
     @Autowired
     @Autowired
     private FosterwxTaskListService fosterwxTaskListService;
     private FosterwxTaskListService fosterwxTaskListService;
 
 
+    @Autowired
+    private StringRedisTemplate stringRedisTemplate;
+
     /*
     /*
      * @fast
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
@@ -191,6 +196,7 @@ public class FosterwxTaskScheduleController extends BaseController<FosterwxTaskS
 
 
             FosterwxTaskSchedule deleteVO = new FosterwxTaskSchedule();
             FosterwxTaskSchedule deleteVO = new FosterwxTaskSchedule();
             deleteVO.setDelFlg(0);
             deleteVO.setDelFlg(0);
+            stringRedisTemplate.opsForHash().delete(RedisKey.PanWxfosterTask+fosterwxTaskScheduleHandle.getStationId().toString(),fosterwxTaskScheduleHandle.getSendDate().toString());
             boolean res = service.update(deleteVO, queryWrapper);
             boolean res = service.update(deleteVO, queryWrapper);
         });
         });
         return AjaxResult.success(Constants.SUCCESS, "删除成功");
         return AjaxResult.success(Constants.SUCCESS, "删除成功");

+ 20 - 7
src/main/java/com/mokamrp/privates/tast/pangu/SyncNewFosterwxTask.java

@@ -1,10 +1,12 @@
 package com.mokamrp.privates.tast.pangu;
 package com.mokamrp.privates.tast.pangu;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mokamrp.privates.constant.RedisKey;
 import com.mokamrp.privates.constant.RedisKey;
 import com.mokamrp.privates.entity.ResHandle;
 import com.mokamrp.privates.entity.ResHandle;
 import com.mokamrp.privates.entity.pangu.FosterwxTaskScheduleHandle;
 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.FosterwxStation;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
 import com.mokamrp.privates.service.pangu.FosterwxStationService;
 import com.mokamrp.privates.service.pangu.FosterwxStationService;
@@ -17,9 +19,7 @@ import org.springframework.stereotype.Component;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 
 @Component
 @Component
 public class SyncNewFosterwxTask {
 public class SyncNewFosterwxTask {
@@ -33,7 +33,7 @@ public class SyncNewFosterwxTask {
     @Autowired
     @Autowired
     public StringRedisTemplate stringRedisTemplate;
     public StringRedisTemplate stringRedisTemplate;
 
 
-    @Scheduled(cron = "*/2 * * * * ?")
+    @Scheduled(cron = "* */1 * * * ?")
     public void execute() {
     public void execute() {
         System.out.println("[cronjob]:同步微信养号任务到REDIS");
         System.out.println("[cronjob]:同步微信养号任务到REDIS");
         Integer taskCnt = 60;
         Integer taskCnt = 60;
@@ -47,14 +47,14 @@ public class SyncNewFosterwxTask {
             Integer stationId = fosterwxStation.getId();
             Integer stationId = fosterwxStation.getId();
             FosterwxTaskScheduleHandle fosterwxTaskScheduleHandle = new FosterwxTaskScheduleHandle();
             FosterwxTaskScheduleHandle fosterwxTaskScheduleHandle = new FosterwxTaskScheduleHandle();
             fosterwxTaskScheduleHandle.setStationId(stationId);
             fosterwxTaskScheduleHandle.setStationId(stationId);
-//            fosterwxTaskScheduleHandle.setDate(nextDate);
             fosterwxTaskScheduleHandle.setSendTime(nowDate);
             fosterwxTaskScheduleHandle.setSendTime(nowDate);
             fosterwxTaskScheduleHandle.setPage(1);
             fosterwxTaskScheduleHandle.setPage(1);
             fosterwxTaskScheduleHandle.setPagesize(99999);
             fosterwxTaskScheduleHandle.setPagesize(99999);
             ResHandle<List<FosterwxTaskSchedule>> resHandle = fosterwxTaskScheduleService.getList(fosterwxTaskScheduleHandle);
             ResHandle<List<FosterwxTaskSchedule>> resHandle = fosterwxTaskScheduleService.getList(fosterwxTaskScheduleHandle);
             List<FosterwxTaskSchedule> fosterwxTaskScheduleList = resHandle.getList();
             List<FosterwxTaskSchedule> fosterwxTaskScheduleList = resHandle.getList();
+            Map<String,List<FosterwxTaskSchedule>> saveRedis = new HashMap<>();
             for (FosterwxTaskSchedule fosterwxTaskSchedule : fosterwxTaskScheduleList) {
             for (FosterwxTaskSchedule fosterwxTaskSchedule : fosterwxTaskScheduleList) {
-                tasks.add(fosterwxTaskSchedule.getTaskId());
+                String sendDate = fosterwxTaskSchedule.getSendDate().toString();
                 FosterwxTaskScheduleHandle handle = new FosterwxTaskScheduleHandle();
                 FosterwxTaskScheduleHandle handle = new FosterwxTaskScheduleHandle();
                 handle.setTaskId(fosterwxTaskSchedule.getTaskId());
                 handle.setTaskId(fosterwxTaskSchedule.getTaskId());
                 handle.setStationId(fosterwxTaskSchedule.getStationId());
                 handle.setStationId(fosterwxTaskSchedule.getStationId());
@@ -63,10 +63,22 @@ public class SyncNewFosterwxTask {
                 if (taskInfo == null) {
                 if (taskInfo == null) {
                     continue;
                     continue;
                 }
                 }
+                tasks.add(fosterwxTaskSchedule.getTaskId());
                 fosterwxTaskSchedule.setMobileCount(taskInfo.getMobileCount());
                 fosterwxTaskSchedule.setMobileCount(taskInfo.getMobileCount());
                 fosterwxTaskSchedule.setComment(taskInfo.getComment());
                 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){
             if (tasks.size() > 0){
                 FosterwxTaskSchedule save =  new FosterwxTaskSchedule();
                 FosterwxTaskSchedule save =  new FosterwxTaskSchedule();
@@ -79,6 +91,7 @@ public class SyncNewFosterwxTask {
                 );
                 );
             }
             }
             tasks.clear();
             tasks.clear();
+            saveRedis.clear();
         }
         }
     }
     }
 }
 }