|
|
@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -65,6 +66,9 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
|
|
|
@Autowired
|
|
|
private FosterwxTaskTemplateService fosterwxTaskTemplateService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private FosterwxTaskListService fosterwxTaskListService;
|
|
|
+
|
|
|
/*
|
|
|
* @fast
|
|
|
* 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
|
|
|
@@ -161,6 +165,7 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
|
|
|
}
|
|
|
|
|
|
@PostMapping("/editPro")
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Object editPro(@Valid @RequestBody EditHandle<FosterwxMobile> editHandle, @AuthUser User authUser) {
|
|
|
String[] ids = editHandle.getIds().split(",");
|
|
|
for (String id : ids) {
|
|
|
@@ -199,6 +204,18 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
|
|
|
// 批量操作的时候传过来的件数不能跟数据库件数比较 因此独立判断
|
|
|
if (editHandle.getRaw().getTaskTimeLists().size() > oldTimeList.size() || (editHandle.getRaw().getType() != null && editHandle.getRaw().getTaskTimeLists().size() == 2)) {
|
|
|
if (null != fosterwxMobileTaskTimeList.getTaskStartAt()) {
|
|
|
+ if (null != fosterwxMobileTaskTimeList.getTaskEndAt()) {
|
|
|
+ LocalDate startDate = fosterwxMobileTaskTimeList.getTaskStartAt().toLocalDate();
|
|
|
+ LocalDate endDate = fosterwxMobileTaskTimeList.getTaskEndAt().toLocalDate();
|
|
|
+
|
|
|
+ long dayLong = endDate.toEpochDay() - startDate.toEpochDay() + 1;
|
|
|
+
|
|
|
+ LambdaQueryWrapper<FosterwxTaskList> fosterTaskListLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ fosterTaskListLambdaQueryWrapper.eq(FosterwxTaskList::getTemplateId, fosterwxMobileTaskTimeList.getTemplateId());
|
|
|
+ if (dayLong > fosterwxTaskListService.count(fosterTaskListLambdaQueryWrapper))
|
|
|
+ return AjaxResult.error(fosterwxMobile.getMobileUnioCode() + "设置的持续时间超过模板的长度");
|
|
|
+ }
|
|
|
+
|
|
|
fosterwxMobileTaskTimeListService.insertByMobile(fosterwxMobile, fosterwxMobileTaskTimeList);
|
|
|
ajaxResult = fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, fosterwxMobileTaskTimeList, authUser, false);
|
|
|
}
|
|
|
@@ -209,7 +226,9 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
|
|
|
ajaxResult = fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, fosterwxMobileTaskTimeList, authUser, false);
|
|
|
}
|
|
|
} else if (null != fosterwxMobileTaskTimeList.getTaskEndAt() && oldTimeList.get(oldTimeList.size() - 1).getTaskEndAt() == null) {
|
|
|
- fosterwxMobileTaskTimeListService.update(fosterwxMobileTaskTimeList, new LambdaQueryWrapper<FosterwxMobileTaskTimeList>().eq(FosterwxMobileTaskTimeList::getMobileUnioCode, fosterwxMobile.getMobileUnioCode()));
|
|
|
+ fosterwxMobileTaskTimeListService.update(new FosterwxMobileTaskTimeList() {{
|
|
|
+ setTaskEndAt(fosterwxMobileTaskTimeList.getTaskEndAt());
|
|
|
+ }}, new LambdaQueryWrapper<FosterwxMobileTaskTimeList>().eq(FosterwxMobileTaskTimeList::getMobileUnioCode, fosterwxMobile.getMobileUnioCode()));
|
|
|
// 删除后面的任务
|
|
|
fosterwxTaskScheduleService.remove(new LambdaQueryWrapper<FosterwxTaskSchedule>().eq(FosterwxTaskSchedule::getStationId, oldVO.getStationId()).eq(FosterwxTaskSchedule::getMobileCode, oldVO.getMobileCode()).gt(FosterwxTaskSchedule::getSendDate, fosterwxMobileTaskTimeList.getTaskEndAt()));
|
|
|
}
|