Przeglądaj źródła

Merge branch 'master' of http://git.mokasz.com/marketing/moka-private

# Conflicts:
#	src/main/java/com/mokamrp/privates/controller/pangu/FosterwxMobileController.java
leon 5 lat temu
rodzic
commit
8b428005ba
24 zmienionych plików z 553 dodań i 261 usunięć
  1. 0 118
      src/main/java/com/mokamrp/privates/controller/pangu/FosterTaskListController.java
  2. 59 4
      src/main/java/com/mokamrp/privates/controller/pangu/FosterwxMobileController.java
  3. 170 0
      src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskListController.java
  4. 10 10
      src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskScheduleController.java
  5. 5 5
      src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskTemplateController.java
  6. 3 3
      src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskListMapper.java
  7. 3 3
      src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskListMapper.xml
  8. 3 3
      src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskScheduleMapper.java
  9. 6 5
      src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskScheduleMapper.xml
  10. 3 3
      src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskTemplateMapper.java
  11. 3 3
      src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskTemplateMapper.xml
  12. 1 1
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskList.java
  13. 16 2
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskSchedule.java
  14. 1 1
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskTemplate.java
  15. 0 20
      src/main/java/com/mokamrp/privates/service/pangu/FosterTaskScheduleService.java
  16. 2 2
      src/main/java/com/mokamrp/privates/service/pangu/FosterwxTaskListService.java
  17. 40 0
      src/main/java/com/mokamrp/privates/service/pangu/FosterwxTaskScheduleService.java
  18. 2 2
      src/main/java/com/mokamrp/privates/service/pangu/FosterwxTaskTemplateService.java
  19. 0 45
      src/main/java/com/mokamrp/privates/service/pangu/impl/FosterTaskScheduleServiceImpl.java
  20. 14 10
      src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTaskListServiceImpl.java
  21. 177 0
      src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTaskScheduleServiceImpl.java
  22. 12 9
      src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTaskTemplateServiceImpl.java
  23. 10 10
      src/test/java/com/mokamrp/AutoMPPangu.java
  24. 13 2
      src/test/java/com/mokamrp/Tests.java

+ 0 - 118
src/main/java/com/mokamrp/privates/controller/pangu/FosterTaskListController.java

@@ -1,118 +0,0 @@
-package com.mokamrp.privates.controller.pangu;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.mokamrp.privates.constant.Constants;
-import com.mokamrp.privates.constant.HttpMsg;
-import com.mokamrp.privates.constant.HttpStatus;
-import com.mokamrp.privates.controller.BaseController;
-import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.help.AjaxResult;
-import com.mokamrp.privates.help.Analysis;
-import com.mokamrp.privates.interceptor.AuthUser;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskList;
-import com.mokamrp.privates.mapper.pojo.User;
-import com.mokamrp.privates.service.pangu.FosterTaskListService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.validation.Valid;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-
-
-/**
- * <p>
- * 盘古微信任务列表 前端控制器
- * </p>
- *
- * @author leon
- * @since 2021-07-23
- */
-@RestController
-@RequestMapping("/taskList")
-public class FosterTaskListController extends BaseController<FosterTaskList> {
-
-    @Autowired
-    public FosterTaskListService fosterTaskListService;
-
-    /*
-     * @fast
-     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
-     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
-     */
-
-    @PostMapping("/list")
-    public Object list(@RequestParam(required = false) String taskName,
-                       @RequestParam(required = false) String taskContent,
-                       @Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult) {
-        if (bindingResult.hasErrors()) {
-            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
-        }
-        Map<String, Object> res = fosterTaskListService.getList(postBasePageHandle, taskName, taskContent);
-        return AjaxResult.success(res);
-    }
-
-    @GetMapping("/getMaxTaskName")
-    public Object getMaxTaskName(String templateId) {
-        LambdaQueryWrapper<FosterTaskList> taskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        taskListLambdaQueryWrapper.eq(FosterTaskList::getTemplateId, templateId);
-        taskListLambdaQueryWrapper.orderByDesc(FosterTaskList::getTaskName);
-        taskListLambdaQueryWrapper.last("Limit 1");
-
-        FosterTaskList fosterTaskList = fosterTaskListService.getOne(taskListLambdaQueryWrapper);
-
-        if (null == fosterTaskList) {
-            return AjaxResult.success(Constants.SUCCESS, "Day1");
-        } else {
-            String taskName = fosterTaskList.getTaskName();
-            return AjaxResult.success(Constants.SUCCESS, "Day" + Integer.valueOf(taskName.replace("Day", "") + 1));
-        }
-    }
-
-    /**
-     * 导入
-     *
-     * @param file
-     * @param authUser
-     * @return
-     */
-    @PostMapping("/import")
-    @Transactional(rollbackFor = Exception.class)
-    public Object uploadFile(@RequestParam Integer templateId, @RequestBody MultipartFile file, @AuthUser User authUser) {
-        Map<Integer, String> field = new HashMap<>(1);
-        field.put(0, "taskContent");
-        List<Map<String, String>> row = new ArrayList<>();
-        try {
-            row = Analysis.analysis(file, field);
-        } catch (Exception e) {
-            return AjaxResult.error(e.getMessage());
-        }
-        AtomicInteger i = new AtomicInteger(0);
-        row.forEach(map -> {
-            i.getAndIncrement();
-            FosterTaskList fosterTaskList = new FosterTaskList();
-            fosterTaskList.setTemplateId(templateId);
-            fosterTaskList.setTaskName("Day" + i);
-            fosterTaskList.setTaskContent(map.get("taskContent"));
-            fosterTaskList.setDelFlg(1);
-            fosterTaskList.setCreateUid(authUser.getId());
-            fosterTaskList.setUpdateUid(authUser.getId());
-            fosterTaskList.setCreateAt(LocalDateTime.now());
-            fosterTaskList.setUpdateAt(LocalDateTime.now());
-
-            fosterTaskListService.save(fosterTaskList);
-        });
-
-        return AjaxResult.success(HttpMsg.importSuccess);
-    }
-
-
-}
-

+ 59 - 4
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxMobileController.java

@@ -6,19 +6,23 @@ import com.mokamrp.privates.constant.HttpMsg;
 import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.entity.DelHandle;
 import com.mokamrp.privates.entity.EditHandle;
+import com.mokamrp.privates.controller.BaseController;
 import com.mokamrp.privates.entity.PostBasePageHandle;
 import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.interceptor.AuthUser;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobileWxfriend;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxStation;
 import com.mokamrp.privates.service.pangu.FosterwxMobileWxfriendService;
 import com.mokamrp.privates.service.pangu.FosterwxStationService;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.pangu.*;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 import com.mokamrp.privates.service.pangu.FosterwxMobileService;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
 import org.springframework.web.bind.annotation.RequestMapping;
-import com.mokamrp.privates.controller.BaseController;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -45,6 +49,10 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
 
     @Autowired
     public FosterwxMobileWxfriendService fosterwxMobileWxfriendService;
+
+    @Autowired
+    private FosterwxTaskScheduleService fosterwxTaskScheduleService;
+
     /*
      * @fast
      * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
@@ -60,6 +68,7 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
         return AjaxResult.success(res);
     }
 
+    @Override
     @GetMapping("/info")
     public Object info(@RequestParam(name = "ids") String ids) {
         if (ids == null || ids.isEmpty()) {
@@ -71,6 +80,54 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
         return AjaxResult.success(Constants.SUCCESS, res);
     }
 
+    @PostMapping("/addPro")
+    @Transactional(rollbackFor = Exception.class)
+    public Object addPro(@RequestBody FosterwxMobile fosterwxMobile, @AuthUser User authUser) {
+        // 新增账号
+        fosterwxMobileService.save(fosterwxMobile);
+
+        // 判断开始做任务时间是否设置了
+        AjaxResult ajaxResult = null;
+        if (null != fosterwxMobile.getTaskStartAt() && fosterwxMobile.getWxStatus() != 2) {
+            ajaxResult = fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, authUser, false);
+        }
+
+        if (null == ajaxResult) return AjaxResult.success("新增账号成功");
+
+        return ajaxResult;
+    }
+
+    @PutMapping("/edit")
+    @Transactional(rollbackFor = Exception.class)
+    public Object edit(@RequestBody FosterwxMobile fosterwxMobile, @AuthUser User authUser) {
+        FosterwxMobile oldVO = fosterwxMobileService.getById(fosterwxMobile.getId());
+        // 新增账号
+        fosterwxMobileService.updateById(fosterwxMobile);
+        fosterwxMobile = fosterwxMobileService.getById(fosterwxMobile.getId());
+
+        // 判断开始做任务时间是否设置了
+        AjaxResult ajaxResult = null;
+        if (null != fosterwxMobile.getTaskStartAt()) {
+            if (fosterwxMobile.getWxStatus() != 2) {
+                ajaxResult = fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, authUser, false);
+            }
+        }
+
+        // 判断微信状态是否更新为封禁
+        if (fosterwxMobile.getWxStatus() == 2 && oldVO.getWxStatus() == 1) {
+            ajaxResult = fosterwxTaskScheduleService.deleteByDate(fosterwxMobile, authUser);
+        }
+
+        // 判断微信状态是否更新为正常
+        if (fosterwxMobile.getWxStatus() == 1 && oldVO.getWxStatus() == 2) {
+            ajaxResult = fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, authUser, true);
+        }
+
+        if (null == ajaxResult) return AjaxResult.success("更新账号成功");
+
+        return ajaxResult;
+    }
+
     /*
      *@Leon 以下接口为站点负责人后台页面接口,需要独立登陆才可访问
      */
@@ -150,7 +207,5 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
         res.setFriend(friendList);
         return AjaxResult.success(Constants.SUCCESS, res);
     }
-
-
 }
 

+ 170 - 0
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskListController.java

@@ -0,0 +1,170 @@
+package com.mokamrp.privates.controller.pangu;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.constant.Constants;
+import com.mokamrp.privates.constant.HttpMsg;
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.controller.BaseController;
+import com.mokamrp.privates.entity.AddHandle;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.help.Analysis;
+import com.mokamrp.privates.interceptor.AuthUser;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.pangu.FosterwxMobileService;
+import com.mokamrp.privates.service.pangu.FosterwxTaskListService;
+import com.mokamrp.privates.service.pangu.FosterwxTaskScheduleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
+
+
+/**
+ * <p>
+ * 盘古微信任务列表 前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-07-23
+ */
+@RestController
+@RequestMapping("/taskList")
+public class FosterwxTaskListController extends BaseController<FosterwxTaskList> {
+
+    @Autowired
+    public FosterwxTaskListService fosterwxTaskListService;
+
+    @Autowired
+    private FosterwxTaskScheduleService fosterwxTaskScheduleService;
+
+    @Autowired
+    private FosterwxMobileService fosterwxMobileService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+    @PostMapping("/list")
+    public Object list(@RequestParam(required = false) String taskName,
+                       @RequestParam(required = false) String taskContent,
+                       @Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        Map<String, Object> res = fosterwxTaskListService.getList(postBasePageHandle, taskName, taskContent);
+        return AjaxResult.success(res);
+    }
+
+    @GetMapping("/getMaxTaskName")
+    public Object getMaxTaskName(String templateId) {
+        LambdaQueryWrapper<FosterwxTaskList> taskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        taskListLambdaQueryWrapper.eq(FosterwxTaskList::getTemplateId, templateId);
+        taskListLambdaQueryWrapper.orderByDesc(FosterwxTaskList::getTaskName);
+        taskListLambdaQueryWrapper.last("Limit 1");
+
+        FosterwxTaskList fosterwxTaskList = fosterwxTaskListService.getOne(taskListLambdaQueryWrapper);
+
+        if (null == fosterwxTaskList) {
+            return AjaxResult.success(Constants.SUCCESS, "Day1");
+        } else {
+            String taskName = fosterwxTaskList.getTaskName();
+            return AjaxResult.success(Constants.SUCCESS, "Day" + Integer.valueOf(taskName.replace("Day", "") + 1));
+        }
+    }
+
+    @PostMapping("/add")
+    public Object add(@Valid @RequestBody AddHandle<FosterwxTaskList> addHandle, BindingResult bindingResult, @AuthUser User authUser) {
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        this.onInsert(addHandle.getRaw());
+        Boolean res = service.save(addHandle.getRaw());
+
+        // 获取新插入的数据
+        LambdaQueryWrapper<FosterwxTaskList> fosterwxTaskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        fosterwxTaskListLambdaQueryWrapper.eq(FosterwxTaskList::getTemplateId, addHandle.getRaw().getTemplateId());
+        fosterwxTaskListLambdaQueryWrapper.eq(FosterwxTaskList::getTaskName, addHandle.getRaw().getTaskName());
+        fosterwxTaskListLambdaQueryWrapper.last("Limit 1");
+
+        FosterwxTaskList fosterwxTaskList = fosterwxTaskListService.getOne(fosterwxTaskListLambdaQueryWrapper);
+
+        // 获取绑定了该模板的所有站点和账号
+        QueryWrapper<FosterwxTaskSchedule> fosterwxTaskScheduleQueryWrapper = new QueryWrapper<>();
+        fosterwxTaskScheduleQueryWrapper.select("distinct station_id,mobile_code");
+        fosterwxTaskScheduleQueryWrapper.eq("template_id", addHandle.getRaw().getTemplateId());
+        List<FosterwxTaskSchedule> fosterwxTaskScheduleList = fosterwxTaskScheduleService.list(fosterwxTaskScheduleQueryWrapper);
+
+        for (FosterwxTaskSchedule fosterwxTaskSchedule : fosterwxTaskScheduleList) {
+            // 判断该站点的账号是否已经养号完成
+            LambdaQueryWrapper<FosterwxMobile> fosterwxMobileLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            fosterwxMobileLambdaQueryWrapper.eq(FosterwxMobile::getStationId, fosterwxTaskSchedule.getStationId());
+            fosterwxMobileLambdaQueryWrapper.eq(FosterwxMobile::getMobileCode, fosterwxTaskSchedule.getMobileCode());
+            fosterwxMobileLambdaQueryWrapper.last("Limit 1");
+            FosterwxMobile fosterwxMobile = fosterwxMobileService.getOne(fosterwxMobileLambdaQueryWrapper);
+
+            // 完成或者封禁的状态下不新增任务
+            if (Arrays.asList("2,3,4,5".split(",")).contains(fosterwxMobile.getStatus())) continue;
+
+            fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, authUser, true);
+        }
+
+        if (res) {
+            return AjaxResult.success(Constants.SUCCESS, res);
+        } else {
+            return AjaxResult.error("新增失败", res);
+        }
+    }
+
+    /**
+     * 导入
+     *
+     * @param file
+     * @param authUser
+     * @return
+     */
+    @PostMapping("/import")
+    @Transactional(rollbackFor = Exception.class)
+    public Object uploadFile(@RequestParam Integer templateId, @RequestBody MultipartFile file, @AuthUser User authUser) {
+        Map<Integer, String> field = new HashMap<>(1);
+        field.put(0, "taskContent");
+        List<Map<String, String>> row = new ArrayList<>();
+        try {
+            row = Analysis.analysis(file, field);
+        } catch (Exception e) {
+            return AjaxResult.error(e.getMessage());
+        }
+        AtomicInteger i = new AtomicInteger(0);
+        row.forEach(map -> {
+            i.getAndIncrement();
+            FosterwxTaskList fosterwxTaskList = new FosterwxTaskList();
+            fosterwxTaskList.setTemplateId(templateId);
+            fosterwxTaskList.setTaskName("Day" + i);
+            fosterwxTaskList.setTaskContent(map.get("taskContent"));
+            fosterwxTaskList.setDelFlg(1);
+            fosterwxTaskList.setCreateUid(authUser.getId());
+            fosterwxTaskList.setUpdateUid(authUser.getId());
+            fosterwxTaskList.setCreateAt(LocalDateTime.now());
+            fosterwxTaskList.setUpdateAt(LocalDateTime.now());
+
+            fosterwxTaskListService.save(fosterwxTaskList);
+        });
+
+        return AjaxResult.success(HttpMsg.importSuccess);
+    }
+
+
+}
+

+ 10 - 10
src/main/java/com/mokamrp/privates/controller/pangu/FosterTaskScheduleController.java → src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskScheduleController.java

@@ -4,14 +4,11 @@ import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.controller.BaseController;
 import com.mokamrp.privates.entity.PostBasePageHandle;
 import com.mokamrp.privates.help.AjaxResult;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskSchedule;
-import com.mokamrp.privates.service.pangu.FosterTaskScheduleService;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
+import com.mokamrp.privates.service.pangu.FosterwxTaskScheduleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.Map;
@@ -27,10 +24,10 @@ import java.util.Map;
  */
 @RestController
 @RequestMapping("/taskSchedule")
-public class FosterTaskScheduleController extends BaseController<FosterTaskSchedule> {
+public class FosterwxTaskScheduleController extends BaseController<FosterwxTaskSchedule> {
 
     @Autowired
-    public FosterTaskScheduleService fosterTaskScheduleService;
+    public FosterwxTaskScheduleService fosterwxTaskScheduleService;
 
     /*
      * @fast
@@ -39,11 +36,14 @@ public class FosterTaskScheduleController extends BaseController<FosterTaskSched
      */
 
     @PostMapping("/list")
-    public Object list(@Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult) {
+    public Object list(@RequestParam(required = false) String taskName,
+                       @RequestParam(required = false) Integer stationId,
+                       @RequestParam String date,
+                       @Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
-        Map<String, Object> res = fosterTaskScheduleService.getList(postBasePageHandle);
+        Map<String, Object> res = fosterwxTaskScheduleService.getList(postBasePageHandle, taskName, stationId, date);
         return AjaxResult.success(res);
     }
 

+ 5 - 5
src/main/java/com/mokamrp/privates/controller/pangu/FosterTaskTemplateController.java → src/main/java/com/mokamrp/privates/controller/pangu/FosterwxTaskTemplateController.java

@@ -4,8 +4,8 @@ import com.mokamrp.privates.constant.HttpStatus;
 import com.mokamrp.privates.controller.BaseController;
 import com.mokamrp.privates.entity.PostBasePageHandle;
 import com.mokamrp.privates.help.AjaxResult;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskTemplate;
-import com.mokamrp.privates.service.pangu.FosterTaskTemplateService;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate;
+import com.mokamrp.privates.service.pangu.FosterwxTaskTemplateService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
@@ -24,10 +24,10 @@ import java.util.Map;
  */
 @RestController
 @RequestMapping("/taskTemplate")
-public class FosterTaskTemplateController extends BaseController<FosterTaskTemplate> {
+public class FosterwxTaskTemplateController extends BaseController<FosterwxTaskTemplate> {
 
     @Autowired
-    public FosterTaskTemplateService fosterTaskTemplateService;
+    public FosterwxTaskTemplateService fosterwxTaskTemplateService;
 
     /*
      * @fast
@@ -40,7 +40,7 @@ public class FosterTaskTemplateController extends BaseController<FosterTaskTempl
         if (bindingResult.hasErrors()) {
             return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
         }
-        Map<String, Object> res = fosterTaskTemplateService.getList(postBasePageHandle, templateName);
+        Map<String, Object> res = fosterwxTaskTemplateService.getList(postBasePageHandle, templateName);
         return AjaxResult.success(res);
     }
 

+ 3 - 3
src/main/java/com/mokamrp/privates/mapper/pangu/FosterTaskListMapper.java → src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskListMapper.java

@@ -2,7 +2,7 @@ package com.mokamrp.privates.mapper.pangu;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskList;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -16,6 +16,6 @@ import java.util.List;
  * @since 2021-07-23
  */
 @Component
-public interface FosterTaskListMapper extends BaseMapper<FosterTaskList> {
-    public List<FosterTaskList> getList(Page<FosterTaskList> pageObj);
+public interface FosterwxTaskListMapper extends BaseMapper<FosterwxTaskList> {
+    public List<FosterwxTaskList> getList(Page<FosterwxTaskList> pageObj);
 }

+ 3 - 3
src/main/java/com/mokamrp/privates/mapper/pangu/FosterTaskListMapper.xml → src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskListMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mokamrp.privates.mapper.pangu.FosterTaskListMapper">
+<mapper namespace="com.mokamrp.privates.mapper.pangu.FosterwxTaskListMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterTaskList">
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList">
         <id column="id" property="id"/>
         <result column="template_id" property="templateId"/>
         <result column="task_name" property="taskName"/>
@@ -20,7 +20,7 @@
         id
         , template_id, task_name, task_content, del_flg, create_uid, update_uid, create_at, update_at
     </sql>
-    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterTaskList">
+    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList">
         SELECT *
         FROM pan_task_list
     </select>

+ 3 - 3
src/main/java/com/mokamrp/privates/mapper/pangu/FosterTaskScheduleMapper.java → src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskScheduleMapper.java

@@ -2,7 +2,7 @@ package com.mokamrp.privates.mapper.pangu;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskSchedule;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -16,6 +16,6 @@ import java.util.List;
  * @since 2021-07-23
  */
 @Component
-public interface FosterTaskScheduleMapper extends BaseMapper<FosterTaskSchedule> {
-    public List<FosterTaskSchedule> getList(Page<FosterTaskSchedule> pageObj);
+public interface FosterwxTaskScheduleMapper extends BaseMapper<FosterwxTaskSchedule> {
+    public List<FosterwxTaskSchedule> getList(Page<FosterwxTaskSchedule> pageObj);
 }

+ 6 - 5
src/main/java/com/mokamrp/privates/mapper/pangu/FosterTaskScheduleMapper.xml → src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskScheduleMapper.xml

@@ -1,15 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mokamrp.privates.mapper.pangu.FosterTaskScheduleMapper">
+<mapper namespace="com.mokamrp.privates.mapper.pangu.FosterwxTaskScheduleMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterTaskSchedule">
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule">
         <id column="id" property="id"/>
         <result column="station_id" property="stationId"/>
         <result column="station_name" property="stationName"/>
         <result column="mobile_code" property="mobileCode"/>
         <result column="template_id" property="templateId"/>
         <result column="task_id" property="taskId"/>
+        <result column="task_name" property="taskName"/>
         <result column="task_status" property="taskStatus"/>
         <result column="task_send_status" property="taskSendStatus"/>
         <result column="send_date" property="sendDate"/>
@@ -26,10 +27,10 @@
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id
-        , station_id, station_name, mobile_code, template_id, task_id, task_status, task_send_status, send_date, send_time, err_msg, mark, del_flg, create_uid, update_uid, create_at, update_at
+        , station_id, station_name, mobile_code, template_id, task_id, task_name, task_status, task_send_status, send_date, send_time, err_msg, mark, del_flg, create_uid, update_uid, create_at, update_at
     </sql>
-    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterTaskSchedule">
+    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule">
         SELECT *
-        FROM pan_task_schedule
+        FROM pan_fosterwx_task_schedule
     </select>
 </mapper>

+ 3 - 3
src/main/java/com/mokamrp/privates/mapper/pangu/FosterTaskTemplateMapper.java → src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskTemplateMapper.java

@@ -2,7 +2,7 @@ package com.mokamrp.privates.mapper.pangu;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskTemplate;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -16,6 +16,6 @@ import java.util.List;
  * @since 2021-07-23
  */
 @Component
-public interface FosterTaskTemplateMapper extends BaseMapper<FosterTaskTemplate> {
-    public List<FosterTaskTemplate> getList(Page<FosterTaskTemplate> pageObj);
+public interface FosterwxTaskTemplateMapper extends BaseMapper<FosterwxTaskTemplate> {
+    public List<FosterwxTaskTemplate> getList(Page<FosterwxTaskTemplate> pageObj);
 }

+ 3 - 3
src/main/java/com/mokamrp/privates/mapper/pangu/FosterTaskTemplateMapper.xml → src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxTaskTemplateMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mokamrp.privates.mapper.pangu.FosterTaskTemplateMapper">
+<mapper namespace="com.mokamrp.privates.mapper.pangu.FosterwxTaskTemplateMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterTaskTemplate">
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate">
         <id column="id" property="id"/>
         <result column="template_name" property="templateName"/>
         <result column="del_flg" property="delFlg"/>
@@ -18,7 +18,7 @@
         id
         , template_name, del_flg, create_uid, update_uid, create_at, update_at
     </sql>
-    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterTaskTemplate">
+    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate">
         SELECT *
         FROM pan_task_template
     </select>

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterTaskList.java → src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskList.java

@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
  * @since 2021-07-23
  */
 @TableName("pan_fosterwx_task_list")
-public class FosterTaskList extends Model<FosterTaskList> {
+public class FosterwxTaskList extends Model<FosterwxTaskList> {
 
     private static final long serialVersionUID = 1L;
 

+ 16 - 2
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterTaskSchedule.java → src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskSchedule.java

@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
  * @since 2021-07-23
  */
 @TableName("pan_fosterwx_task_schedule")
-public class FosterTaskSchedule extends Model<FosterTaskSchedule> {
+public class FosterwxTaskSchedule extends Model<FosterwxTaskSchedule> {
 
     private static final long serialVersionUID = 1L;
 
@@ -54,6 +54,11 @@ public class FosterTaskSchedule extends Model<FosterTaskSchedule> {
     private Integer taskId;
 
     /**
+     * 任务名称
+     */
+    private String taskName;
+
+    /**
      * 任务完成状态(0:待完成,1:已完成,2:已过期)
      */
     private Integer taskStatus;
@@ -157,6 +162,14 @@ public class FosterTaskSchedule extends Model<FosterTaskSchedule> {
         this.taskId = taskId;
     }
 
+    public String getTaskName() {
+        return taskName;
+    }
+
+    public void setTaskName(String taskName) {
+        this.taskName = taskName;
+    }
+
     public Integer getTaskStatus() {
         return taskStatus;
     }
@@ -252,13 +265,14 @@ public class FosterTaskSchedule extends Model<FosterTaskSchedule> {
 
     @Override
     public String toString() {
-        return "TaskSchedule{" +
+        return "FosterwxTaskSchedule{" +
                 "id=" + id +
                 ", stationId=" + stationId +
                 ", stationName=" + stationName +
                 ", mobileCode=" + mobileCode +
                 ", templateId=" + templateId +
                 ", taskId=" + taskId +
+                ", taskName=" + taskName +
                 ", taskStatus=" + taskStatus +
                 ", taskSendStatus=" + taskSendStatus +
                 ", sendDate=" + sendDate +

+ 1 - 1
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterTaskTemplate.java → src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxTaskTemplate.java

@@ -17,7 +17,7 @@ import java.time.LocalDateTime;
  * @since 2021-07-23
  */
 @TableName("pan_fosterwx_task_template")
-public class FosterTaskTemplate extends Model<FosterTaskTemplate> {
+public class FosterwxTaskTemplate extends Model<FosterwxTaskTemplate> {
 
     private static final long serialVersionUID = 1L;
 

+ 0 - 20
src/main/java/com/mokamrp/privates/service/pangu/FosterTaskScheduleService.java

@@ -1,20 +0,0 @@
-package com.mokamrp.privates.service.pangu;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskSchedule;
-
-import java.util.Map;
-
-/**
- * <p>
- * 盘古微信任务排期 服务类
- * </p>
- *
- * @author leon
- * @since 2021-07-23
- */
-public interface FosterTaskScheduleService extends IService<FosterTaskSchedule> {
-    //.@leon 获取数据列表
-    public Map<String, Object> getList(PostBasePageHandle handle);
-}

+ 2 - 2
src/main/java/com/mokamrp/privates/service/pangu/FosterTaskListService.java → src/main/java/com/mokamrp/privates/service/pangu/FosterwxTaskListService.java

@@ -2,7 +2,7 @@ package com.mokamrp.privates.service.pangu;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskList;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList;
 
 import java.util.Map;
 
@@ -14,7 +14,7 @@ import java.util.Map;
  * @author leon
  * @since 2021-07-23
  */
-public interface FosterTaskListService extends IService<FosterTaskList> {
+public interface FosterwxTaskListService extends IService<FosterwxTaskList> {
     //.@leon 获取数据列表
     public Map<String, Object> getList(PostBasePageHandle handle, String taskName, String taskContent);
 }

+ 40 - 0
src/main/java/com/mokamrp/privates/service/pangu/FosterwxTaskScheduleService.java

@@ -0,0 +1,40 @@
+package com.mokamrp.privates.service.pangu;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
+import com.mokamrp.privates.mapper.pojo.User;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 盘古微信任务排期 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-07-23
+ */
+public interface FosterwxTaskScheduleService extends IService<FosterwxTaskSchedule> {
+    //.@leon 获取数据列表
+    public Map<String, Object> getList(PostBasePageHandle handle, String taskName, Integer stationId, String date);
+
+
+    /**
+     * 根据任务开始时间创建排期/微信状态更新重新生成为执行部分任务
+     * @param fosterwxMobile
+     * @param authUser
+     * @param isChange
+     */
+    public AjaxResult insertByTaskDate(FosterwxMobile fosterwxMobile, User authUser, boolean isChange);
+
+    /**
+     * 根据当天时间删除后续的任务
+     * @param fosterwxMobile
+     * @param authUser
+     * @return
+     */
+    public AjaxResult deleteByDate(FosterwxMobile fosterwxMobile, User authUser);
+}

+ 2 - 2
src/main/java/com/mokamrp/privates/service/pangu/FosterTaskTemplateService.java → src/main/java/com/mokamrp/privates/service/pangu/FosterwxTaskTemplateService.java

@@ -2,7 +2,7 @@ package com.mokamrp.privates.service.pangu;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskTemplate;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate;
 
 import java.util.Map;
 
@@ -14,7 +14,7 @@ import java.util.Map;
  * @author leon
  * @since 2021-07-23
  */
-public interface FosterTaskTemplateService extends IService<FosterTaskTemplate> {
+public interface FosterwxTaskTemplateService extends IService<FosterwxTaskTemplate> {
     //.@leon 获取数据列表
     public Map<String, Object> getList(PostBasePageHandle handle, String templateName);
 }

+ 0 - 45
src/main/java/com/mokamrp/privates/service/pangu/impl/FosterTaskScheduleServiceImpl.java

@@ -1,45 +0,0 @@
-package com.mokamrp.privates.service.pangu.impl;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.mapper.pangu.FosterTaskScheduleMapper;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskSchedule;
-import com.mokamrp.privates.service.pangu.FosterTaskScheduleService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * <p>
- * 盘古微信任务排期 服务实现类
- * </p>
- *
- * @author leon
- * @since 2021-07-23
- */
-@Service
-public class FosterTaskScheduleServiceImpl extends ServiceImpl<FosterTaskScheduleMapper, FosterTaskSchedule> implements FosterTaskScheduleService {
-
-    @Autowired
-    public FosterTaskScheduleMapper fosterTaskScheduleMapper;
-
-    /**
-     * 获取数据列表 支持分页
-     * @param handle
-     * @return
-     */
-    public Map<String, Object> getList(PostBasePageHandle handle) {
-        Integer pagesize = handle.getPagesize();
-        Integer page = handle.getPage();
-        Page<FosterTaskSchedule> pageObj = new Page<FosterTaskSchedule>(page, pagesize);
-        List<FosterTaskSchedule> list = fosterTaskScheduleMapper.getList(pageObj);
-        Map<String, Object> resMap = new HashMap<String, Object>();
-        resMap.put("list", list);
-        resMap.put("total", pageObj.getTotal());
-        return resMap;
-    }
-}

+ 14 - 10
src/main/java/com/mokamrp/privates/service/pangu/impl/FosterTaskListServiceImpl.java → src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTaskListServiceImpl.java

@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.mapper.pangu.FosterTaskListMapper;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskList;
-import com.mokamrp.privates.service.pangu.FosterTaskListService;
+import com.mokamrp.privates.mapper.pangu.FosterwxTaskListMapper;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList;
+import com.mokamrp.privates.service.pangu.FosterwxTaskListService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -22,10 +22,10 @@ import java.util.Map;
  * @since 2021-07-23
  */
 @Service
-public class FosterTaskListServiceImpl extends ServiceImpl<FosterTaskListMapper, FosterTaskList> implements FosterTaskListService {
+public class FosterwxTaskListServiceImpl extends ServiceImpl<FosterwxTaskListMapper, FosterwxTaskList> implements FosterwxTaskListService {
 
     @Autowired
-    public FosterTaskListMapper fosterTaskListMapper;
+    public FosterwxTaskListMapper fosterwxTaskListMapper;
 
     /**
      * 获取数据列表 支持分页
@@ -38,11 +38,15 @@ public class FosterTaskListServiceImpl extends ServiceImpl<FosterTaskListMapper,
     public Map<String, Object> getList(PostBasePageHandle handle, String taskName, String taskContent) {
         Integer pageSize = handle.getPagesize();
         Integer page = handle.getPage();
-        Page<FosterTaskList> pageObj = new Page<FosterTaskList>(page, pageSize);
-        LambdaQueryWrapper<FosterTaskList> taskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        taskListLambdaQueryWrapper.eq(FosterTaskList::getTaskName, taskName);
-        taskListLambdaQueryWrapper.eq(FosterTaskList::getTaskContent, taskContent);
-        pageObj = fosterTaskListMapper.selectPage(pageObj, taskListLambdaQueryWrapper);
+        Page<FosterwxTaskList> pageObj = new Page<FosterwxTaskList>(page, pageSize);
+
+        LambdaQueryWrapper<FosterwxTaskList> taskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if (null != taskName && !taskName.isEmpty())
+            taskListLambdaQueryWrapper.eq(FosterwxTaskList::getTaskName, taskName);
+        if (null != taskContent && !taskContent.isEmpty())
+            taskListLambdaQueryWrapper.eq(FosterwxTaskList::getTaskContent, taskContent);
+
+        pageObj = fosterwxTaskListMapper.selectPage(pageObj, taskListLambdaQueryWrapper);
         Map<String, Object> resMap = new HashMap<String, Object>();
         resMap.put("list", pageObj.getRecords());
         resMap.put("total", pageObj.getTotal());

+ 177 - 0
src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTaskScheduleServiceImpl.java

@@ -0,0 +1,177 @@
+package com.mokamrp.privates.service.pangu.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.mapper.pangu.FosterwxStationMapper;
+import com.mokamrp.privates.mapper.pangu.FosterwxTaskListMapper;
+import com.mokamrp.privates.mapper.pangu.FosterwxTaskScheduleMapper;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobile;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxStation;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskList;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskSchedule;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.pangu.FosterwxTaskScheduleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 盘古微信任务排期 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-07-23
+ */
+@Service
+public class FosterwxTaskScheduleServiceImpl extends ServiceImpl<FosterwxTaskScheduleMapper, FosterwxTaskSchedule> implements FosterwxTaskScheduleService {
+
+    @Autowired
+    public FosterwxTaskScheduleMapper fosterwxTaskScheduleMapper;
+
+    @Autowired
+    private FosterwxStationMapper fosterwxStationMapper;
+
+    @Autowired
+    private FosterwxTaskListMapper fosterwxTaskListMapper;
+
+    /**
+     * 获取数据列表 支持分页
+     * @param handle
+     * @param taskName
+     * @param stationId
+     * @param date
+     * @return
+     */
+    @Override
+    public Map<String, Object> getList(PostBasePageHandle handle, String taskName, Integer stationId, String date) {
+        Integer pagesize = handle.getPagesize();
+        Integer page = handle.getPage();
+        Page<FosterwxTaskSchedule> pageObj = new Page<FosterwxTaskSchedule>(page, pagesize);
+        QueryWrapper<FosterwxTaskSchedule> fosterwxTaskScheduleQueryWrapper = new QueryWrapper<>();
+        fosterwxTaskScheduleQueryWrapper.select("distinct station_id,station_name,task_id,task_name,task_status,task_send_status,create_uid,send_time,err_msg,mark");
+        fosterwxTaskScheduleQueryWrapper.orderByDesc("station_id");
+        fosterwxTaskScheduleQueryWrapper.orderByDesc("task_id");
+
+        pageObj = fosterwxTaskScheduleMapper.selectPage(pageObj, fosterwxTaskScheduleQueryWrapper);
+        Map<String, Object> resMap = new HashMap<String, Object>();
+        resMap.put("list", pageObj.getRecords());
+        resMap.put("total", pageObj.getTotal());
+        return resMap;
+    }
+
+    /**
+     * 根据开始任务时间生成排期/根据任务开始时间创建排期/微信状态更新重新生成为执行部分任务
+     * @param fosterwxMobile
+     * @param authUser
+     * @param isChange
+     */
+    @Override
+    public AjaxResult insertByTaskDate(FosterwxMobile fosterwxMobile, User authUser, boolean isChange) {
+        // 获取站点信息
+        FosterwxStation fosterwxStation = fosterwxStationMapper.selectById(fosterwxMobile.getStationId());
+
+        if (fosterwxStation == null) return AjaxResult.error(fosterwxMobile.getStationId() + "站点不存在!");
+
+        LocalDate startDate = fosterwxMobile.getTaskStartAt().toLocalDate();
+
+        // 根据站点绑定的任务模板获取模板列表
+        List<FosterwxTaskList> fosterwxTaskLists = null;
+        if (!isChange) {
+            LambdaQueryWrapper<FosterwxTaskList> fosterTaskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            fosterTaskListLambdaQueryWrapper.eq(FosterwxTaskList::getTemplateId, fosterwxStation.getTaskTemplateId());
+            fosterwxTaskLists = fosterwxTaskListMapper.selectList(fosterTaskListLambdaQueryWrapper);
+        } else {
+            // 查询该账号进行到第几个任务了
+            LambdaQueryWrapper<FosterwxTaskSchedule> fosterwxTaskScheduleLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            fosterwxTaskScheduleLambdaQueryWrapper.eq(FosterwxTaskSchedule::getStationId, fosterwxStation.getId());
+            fosterwxTaskScheduleLambdaQueryWrapper.eq(FosterwxTaskSchedule::getMobileCode, fosterwxMobile.getMobileCode());
+            fosterwxTaskScheduleLambdaQueryWrapper.eq(FosterwxTaskSchedule::getDelFlg, 1);
+            fosterwxTaskScheduleLambdaQueryWrapper.orderByAsc(FosterwxTaskSchedule::getId);
+            fosterwxTaskScheduleLambdaQueryWrapper.last("Limit 1");
+            FosterwxTaskSchedule lastTask = fosterwxTaskScheduleMapper.selectOne(fosterwxTaskScheduleLambdaQueryWrapper);
+
+            LambdaQueryWrapper<FosterwxTaskList> fosterTaskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            fosterTaskListLambdaQueryWrapper.eq(FosterwxTaskList::getTemplateId, fosterwxStation.getTaskTemplateId());
+            fosterTaskListLambdaQueryWrapper.gt(FosterwxTaskList::getId, lastTask.getTaskId());
+            fosterwxTaskLists = fosterwxTaskListMapper.selectList(fosterTaskListLambdaQueryWrapper);
+        }
+
+        if (fosterwxTaskLists.isEmpty()) return AjaxResult.error("没有可以使用的任务列表!");
+
+        for (FosterwxTaskList fosterwxTaskList : fosterwxTaskLists) {
+            FosterwxTaskSchedule fosterwxTaskSchedule = new FosterwxTaskSchedule();
+            fosterwxTaskSchedule.setStationId(fosterwxStation.getId());
+            fosterwxTaskSchedule.setStationName(fosterwxStation.getStationName());
+            fosterwxTaskSchedule.setMobileCode(fosterwxMobile.getMobileCode());
+            fosterwxTaskSchedule.setTemplateId(fosterwxStation.getTaskTemplateId());
+            fosterwxTaskSchedule.setTaskId(fosterwxTaskList.getId());
+            fosterwxTaskSchedule.setTaskName(fosterwxTaskList.getTaskName());
+            fosterwxTaskSchedule.setTaskStatus(0);
+            fosterwxTaskSchedule.setTaskSendStatus(0);
+            fosterwxTaskSchedule.setSendDate(startDate);
+            fosterwxTaskSchedule.setSendTime(null);
+            fosterwxTaskSchedule.setErrMsg("");
+            fosterwxTaskSchedule.setMark("");
+            fosterwxTaskSchedule.setDelFlg(1);
+            fosterwxTaskSchedule.setCreateUid(authUser.getId());
+            fosterwxTaskSchedule.setUpdateUid(authUser.getId());
+            fosterwxTaskSchedule.setCreateAt(LocalDateTime.now());
+            fosterwxTaskSchedule.setUpdateAt(LocalDateTime.now());
+
+            fosterwxTaskScheduleMapper.insert(fosterwxTaskSchedule);
+
+            startDate = startDate.plusDays(1);
+        }
+        return null;
+    }
+
+    /**
+     * 根据当天时间删除后续任务
+     * @param fosterwxMobile
+     * @param authUser
+     * @return
+     */
+    @Override
+    public AjaxResult deleteByDate(FosterwxMobile fosterwxMobile, User authUser) {
+        LocalDate today = LocalDate.now();
+        LocalDateTime localDateTime = LocalDateTime.now();
+
+        // 获取站点信息
+        FosterwxStation fosterwxStation = fosterwxStationMapper.selectById(fosterwxMobile.getStationId());
+
+        if (fosterwxStation == null) return AjaxResult.error(fosterwxMobile.getStationId() + "站点不存在!");
+
+        // 根据站点id 手机编号 模板id 获取今天之后的任务
+        LambdaQueryWrapper<FosterwxTaskSchedule> fosterTaskScheduleLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        fosterTaskScheduleLambdaQueryWrapper.eq(FosterwxTaskSchedule::getStationId, fosterwxStation.getId());
+        fosterTaskScheduleLambdaQueryWrapper.eq(FosterwxTaskSchedule::getMobileCode, fosterwxMobile.getMobileCode());
+        fosterTaskScheduleLambdaQueryWrapper.eq(FosterwxTaskSchedule::getTemplateId, fosterwxStation.getTaskTemplateId());
+        fosterTaskScheduleLambdaQueryWrapper.ge(FosterwxTaskSchedule::getSendDate, today);
+        fosterTaskScheduleLambdaQueryWrapper.orderByAsc(FosterwxTaskSchedule::getId);
+
+        List<FosterwxTaskSchedule> fosterwxTaskScheduleList = fosterwxTaskScheduleMapper.selectList(fosterTaskScheduleLambdaQueryWrapper);
+
+        for (FosterwxTaskSchedule fosterwxTaskSchedule : fosterwxTaskScheduleList) {
+            // 需要单独判断今天的发送时间是不是已经过去了 没有过去需要删除任务
+            if (fosterwxTaskSchedule.getSendDate().equals(today) && localDateTime.isAfter(fosterwxTaskSchedule.getSendTime()))
+                continue;
+
+            FosterwxTaskSchedule updateVO = new FosterwxTaskSchedule();
+            updateVO.setId(fosterwxTaskSchedule.getId());
+            updateVO.setDelFlg(0);
+            fosterwxTaskScheduleMapper.updateById(updateVO);
+        }
+
+        return AjaxResult.success("修改成功");
+    }
+}

+ 12 - 9
src/main/java/com/mokamrp/privates/service/pangu/impl/FosterTaskTemplateServiceImpl.java → src/main/java/com/mokamrp/privates/service/pangu/impl/FosterwxTaskTemplateServiceImpl.java

@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mokamrp.privates.entity.PostBasePageHandle;
-import com.mokamrp.privates.mapper.pangu.FosterTaskTemplateMapper;
-import com.mokamrp.privates.mapper.pangu.pojo.FosterTaskTemplate;
-import com.mokamrp.privates.service.pangu.FosterTaskTemplateService;
+import com.mokamrp.privates.mapper.pangu.FosterwxTaskTemplateMapper;
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate;
+import com.mokamrp.privates.service.pangu.FosterwxTaskTemplateService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -22,10 +22,10 @@ import java.util.Map;
  * @since 2021-07-23
  */
 @Service
-public class FosterTaskTemplateServiceImpl extends ServiceImpl<FosterTaskTemplateMapper, FosterTaskTemplate> implements FosterTaskTemplateService {
+public class FosterwxTaskTemplateServiceImpl extends ServiceImpl<FosterwxTaskTemplateMapper, FosterwxTaskTemplate> implements FosterwxTaskTemplateService {
 
     @Autowired
-    public FosterTaskTemplateMapper fosterTaskTemplateMapper;
+    public FosterwxTaskTemplateMapper fosterwxTaskTemplateMapper;
 
     /**
      * 获取数据列表 支持分页
@@ -37,12 +37,15 @@ public class FosterTaskTemplateServiceImpl extends ServiceImpl<FosterTaskTemplat
     public Map<String, Object> getList(PostBasePageHandle handle, String templateName) {
         Integer pageSize = handle.getPagesize();
         Integer page = handle.getPage();
-        LambdaQueryWrapper<FosterTaskTemplate> taskTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        taskTemplateLambdaQueryWrapper.eq(FosterTaskTemplate::getTemplateName, templateName);
+        LambdaQueryWrapper<FosterwxTaskTemplate> taskTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if (null != templateName && !templateName.isEmpty())
+            taskTemplateLambdaQueryWrapper.eq(FosterwxTaskTemplate::getTemplateName, templateName);
+        taskTemplateLambdaQueryWrapper.eq(FosterwxTaskTemplate::getDelFlg, 1);
+        taskTemplateLambdaQueryWrapper.orderByDesc(FosterwxTaskTemplate::getId);
 
-        Page<FosterTaskTemplate> taskTemplatePage = new Page<>(page, pageSize);
+        Page<FosterwxTaskTemplate> taskTemplatePage = new Page<>(page, pageSize);
 
-        taskTemplatePage = fosterTaskTemplateMapper.selectPage(taskTemplatePage, taskTemplateLambdaQueryWrapper);
+        taskTemplatePage = fosterwxTaskTemplateMapper.selectPage(taskTemplatePage, taskTemplateLambdaQueryWrapper);
 
         Map<String, Object> resMap = new HashMap<String, Object>();
         resMap.put("list", taskTemplatePage.getRecords());

+ 10 - 10
src/test/java/com/mokamrp/AutoMPPangu.java

@@ -19,17 +19,17 @@ public class AutoMPPangu {
 	public void testGenerator() {
 
 		//1. 全局配置
-		String outPutDir = "D://project/moka-private/src/main/java";
+		String outPutDir = "/Users/luqiucheng/Desktop/test";
 		GlobalConfig config = new GlobalConfig();
 		config.setActiveRecord(true) // 是否支持AR模式
-			  .setAuthor("leon") // 作者
-			  .setOutputDir(outPutDir) // 生成路径
-			  .setFileOverride(true)  // 文件覆盖
-			  .setIdType(IdType.AUTO) // 主键策略
-			  .setServiceName("%sService")  // 设置生成的service接口的名字的首字母是否为I
-			  					      // IEmployeeService
- 			  .setBaseResultMap(true) //生成sql映射文件
- 			  .setBaseColumnList(true);//生成sql片段
+				.setAuthor("leon") // 作者
+				.setOutputDir(outPutDir) // 生成路径
+				.setFileOverride(true)  // 文件覆盖
+				.setIdType(IdType.AUTO) // 主键策略
+				.setServiceName("%sService")  // 设置生成的service接口的名字的首字母是否为I
+				// IEmployeeService
+				.setBaseResultMap(true) //生成sql映射文件
+				.setBaseColumnList(true);//生成sql片段
 		
 		//2. 数据源配置
 		DataSourceConfig  dsConfig  = new DataSourceConfig();
@@ -47,7 +47,7 @@ public class AutoMPPangu {
 				.setColumnNaming(NamingStrategy.underline_to_camel)
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
 				.setTablePrefix("pan_") //表名前缀
-				.setInclude("pan_fosterwx_mobile_wxfriend");  //生成的表
+				.setInclude("pan_fosterwx_task_schedule");  //生成的表
 		
 		//4. 包名策略配置 
 		PackageConfig pkConfig = new PackageConfig();

+ 13 - 2
src/test/java/com/mokamrp/Tests.java

@@ -5,6 +5,8 @@ import org.junit.Test;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.NumberFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 public class Tests {
 
@@ -17,8 +19,17 @@ public class Tests {
         //返回结果
         return nf.format(d);
     }
+
+    @Test
+    public void test() {
+        System.out.println(BigDecimal.valueOf(1f / 10000).setScale(5, RoundingMode.HALF_EVEN));
+    }
+
     @Test
-    public void test(){
-        System.out.println(BigDecimal.valueOf(1f/10000).setScale(5, RoundingMode.HALF_EVEN));
+    public void test2() {
+        LocalDateTime localDateTime = LocalDateTime.now();
+        System.out.println(localDateTime);
+        LocalDate localDate = localDateTime.toLocalDate();
+        System.out.println(localDate);
     }
 }