|
|
@@ -188,12 +188,16 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
|
|
|
FosterwxMobileTaskTimeList fosterwxMobileTaskTimeList = new FosterwxMobileTaskTimeList();
|
|
|
|
|
|
if (!editHandle.getRaw().getTaskTimeLists().isEmpty()) {
|
|
|
- fosterwxMobileTaskTimeList = editHandle.getRaw().getTaskTimeLists().get(editHandle.getRaw().getTaskTimeLists().size() - 1);
|
|
|
+ FosterwxMobileTaskTimeList sample = editHandle.getRaw().getTaskTimeLists().get(editHandle.getRaw().getTaskTimeLists().size() - 1);
|
|
|
+ fosterwxMobileTaskTimeList.setTaskStartAt(sample.getTaskStartAt());
|
|
|
+ fosterwxMobileTaskTimeList.setTaskEndAt(sample.getTaskEndAt());
|
|
|
+ fosterwxMobileTaskTimeList.setTemplateId(sample.getTemplateId());
|
|
|
}
|
|
|
|
|
|
AjaxResult ajaxResult = null;
|
|
|
// 全新增加任务的场合
|
|
|
- if (editHandle.getRaw().getTaskTimeLists().size() > oldTimeList.size()) {
|
|
|
+ // 批量操作的时候传过来的件数不能跟数据库件数比较 因此独立判断
|
|
|
+ if (editHandle.getRaw().getTaskTimeLists().size() > oldTimeList.size() || (editHandle.getRaw().getType() != null && editHandle.getRaw().getTaskTimeLists().size() == 2)) {
|
|
|
if (null != fosterwxMobileTaskTimeList.getTaskStartAt()) {
|
|
|
fosterwxMobileTaskTimeListService.insertByMobile(fosterwxMobile, fosterwxMobileTaskTimeList);
|
|
|
ajaxResult = fosterwxTaskScheduleService.insertByTaskDate(fosterwxMobile, fosterwxMobileTaskTimeList, authUser, false);
|
|
|
@@ -205,7 +209,7 @@ 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.updateById(fosterwxMobileTaskTimeList);
|
|
|
+ fosterwxMobileTaskTimeListService.update(fosterwxMobileTaskTimeList, 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()));
|
|
|
}
|
|
|
@@ -553,5 +557,68 @@ public class FosterwxMobileController extends BaseController<FosterwxMobile> {
|
|
|
|
|
|
return AjaxResult.success(HttpMsg.importSuccess);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检查任务时间状态是否一致
|
|
|
+ * @param editHandle
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("/checkTaskTime")
|
|
|
+ public Object checkTaskTime(@Valid @RequestBody EditHandle<FosterwxMobile> editHandle) {
|
|
|
+ List<String> idList = Arrays.asList(editHandle.getIds().split(","));
|
|
|
+ // 作为判断标准
|
|
|
+ List<FosterwxMobileTaskTimeList> baseList = new ArrayList<>();
|
|
|
+ FosterwxMobile fosterwxMobile = fosterwxMobileService.getById(idList.get(0));
|
|
|
+ if (fosterwxMobile == null) return AjaxResult.error("无法获取账号");
|
|
|
+
|
|
|
+ baseList = fosterwxMobileTaskTimeListService.list(new LambdaQueryWrapper<FosterwxMobileTaskTimeList>().eq(FosterwxMobileTaskTimeList::getMobileUnioCode, fosterwxMobile.getMobileUnioCode()));
|
|
|
+ FosterwxMobileTaskTimeList baseVO = null;
|
|
|
+
|
|
|
+ if (!baseList.isEmpty()) {
|
|
|
+ baseVO = baseList.get(baseList.size() - 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 1; i < idList.size(); i++) {
|
|
|
+ List<FosterwxMobileTaskTimeList> compareList = new ArrayList<>();
|
|
|
+ fosterwxMobile = fosterwxMobileService.getById(idList.get(i));
|
|
|
+ if (fosterwxMobile == null) return AjaxResult.error("无法获取账号");
|
|
|
+
|
|
|
+ compareList = fosterwxMobileTaskTimeListService.list(new LambdaQueryWrapper<FosterwxMobileTaskTimeList>().eq(FosterwxMobileTaskTimeList::getMobileUnioCode, fosterwxMobile.getMobileUnioCode()));
|
|
|
+
|
|
|
+ // 进行判断
|
|
|
+ if ((baseList.isEmpty() && !compareList.isEmpty()) || (!baseList.isEmpty() && compareList.isEmpty()))
|
|
|
+ return AjaxResult.error("第" + (i + 1) + "条任务详情不一致,存在从没开始设置任务的情况");
|
|
|
+
|
|
|
+ FosterwxMobileTaskTimeList compareVO = null;
|
|
|
+ if (!compareList.isEmpty()) {
|
|
|
+ compareVO = compareList.get(compareList.size() - 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (null == baseVO || null == compareVO) continue;
|
|
|
+
|
|
|
+ if (baseVO.getTaskEndAt() == null) {
|
|
|
+ if (compareVO.getTaskEndAt() != null)
|
|
|
+ return AjaxResult.error("第" + (i + 1) + "条任务结束详情不一致");
|
|
|
+ } else {
|
|
|
+ if (compareVO.getTaskEndAt() == null)
|
|
|
+ return AjaxResult.error("第" + (i + 1) + "条任务结束详情不一致");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 开始编辑返回的数据
|
|
|
+ if (null == baseVO.getTaskEndAt()) {
|
|
|
+ // 设置最后面的开始时间
|
|
|
+ if (baseVO.getTaskStartAt().isBefore(compareVO.getTaskStartAt())) {
|
|
|
+ baseVO.setTaskStartAt(compareVO.getTaskStartAt());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 设置最后面的结束时间
|
|
|
+ if (baseVO.getTaskEndAt().isBefore(compareVO.getTaskEndAt())) {
|
|
|
+ baseVO.setTaskEndAt(compareVO.getTaskEndAt());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return AjaxResult.success(baseVO);
|
|
|
+ }
|
|
|
}
|
|
|
|