Commit 83992e1a95c63f9338b96fc060041c70b1a2ee63

Authored by 张志伟
1 parent 69be03e7

:sparkles: feat(*): 优化生成下次跟进的逻辑

-  优化生成下次跟进的逻辑
fw-shirasawa-server/src/main/java/cn/fw/shirasawa/server/controller/task/FollowRecordTask.java
... ... @@ -104,7 +104,7 @@ public class FollowRecordTask {
104 104 List<FollowRecord> list = followRecordService.list(Wrappers.<FollowRecord>lambdaQuery()
105 105 .eq(FollowRecord::getFollowStatus, FollowStatusEnum.ONGOING)
106 106 .eq(FollowRecord::getAddTodo, Boolean.FALSE)
107   - .notIn(FollowRecord::getType, FollowTypeEnum.AC, FollowTypeEnum.CF, FollowTypeEnum.PF, FollowTypeEnum.SF, FollowTypeEnum.PL)
  107 + .notIn(FollowRecord::getType, FollowTypeEnum.AC, FollowTypeEnum.SF, FollowTypeEnum.PL)
108 108 .le(FollowRecord::getPlanTime, LocalDateTime.now())
109 109 .eq(FollowRecord::getYn, Boolean.TRUE)
110 110 .orderByAsc(FollowRecord::getDeadline)
... ... @@ -135,7 +135,7 @@ public class FollowRecordTask {
135 135 .eq(FollowRecord::getFollowStatus, FollowStatusEnum.ONGOING)
136 136 .eq(FollowRecord::getAddTodo, Boolean.FALSE)
137 137 .eq(FollowRecord::getYn, Boolean.TRUE)
138   - .in(FollowRecord::getType, FollowTypeEnum.AC, FollowTypeEnum.CF, FollowTypeEnum.PF, FollowTypeEnum.SF, FollowTypeEnum.PL)
  138 + .in(FollowRecord::getType, FollowTypeEnum.AC, FollowTypeEnum.SF, FollowTypeEnum.PL)
139 139 .le(FollowRecord::getPlanTime, LocalDateTime.now())
140 140 .last("limit 0,50")
141 141 );
... ...
fw-shirasawa-service/src/main/java/cn/fw/shirasawa/service/bus/follow/FollowBizService.java
... ... @@ -337,52 +337,7 @@ public class FollowBizService {
337 337 @DisLock(prefix = "#this.getKeyPrefix()", key = "'create:' + #newRecordDTO.userId + ':' + #newRecordDTO.customerId", message = "请勿重复操作")
338 338 @Transactional(rollbackFor = Exception.class)
339 339 public Boolean createNewRecord(NewRecordDTO newRecordDTO) {
340   - LocalDate startDate = DateUtil.date2LocalDate(newRecordDTO.getNextDate());
341   - LocalDate endDate = DateUtil.date2LocalDate(newRecordDTO.getNextDeadline());
342   - boolean b = !startDate.isBefore(LocalDate.now()) && !endDate.isBefore(startDate);
343   - BV.isTrue(b, () -> "开始日期必须大于且截止日期不能小于当前日期");
344   -
345   - if (Objects.isNull(newRecordDTO.getPreRecordId())) {
346   - BV.notNull(newRecordDTO.getCustomerId(), () -> "档案id不能为空");
347   - BV.notNull(newRecordDTO.getDataType(), () -> "数据类型不能为空");
348   - }
349   -
350   - FollowTask task = null;
351   - if (Objects.nonNull(newRecordDTO.getPreRecordId())) {
352   - FollowRecord preRecord = followRecordService.getById(newRecordDTO.getPreRecordId());
353   - if (Objects.nonNull(preRecord)) {
354   - task = followTaskService.getById(preRecord.getTaskId());
355   - }
356   - }
357   -
358   - if (Objects.isNull(task)) {
359   - task = followTaskService.getOne(Wrappers.<FollowTask>lambdaQuery()
360   - .eq(FollowTask::getBizType, newRecordDTO.getBusinessType())
361   - .eq(FollowTask::getDetailId, newRecordDTO.getDetailId())
362   - .eq(FollowTask::getState, TaskStateEnum.ONGOING)
363   - .eq(FollowTask::getType, FollowTypeEnum.ofValue(newRecordDTO.getDataType().getValue()))
364   - .eq(FollowTask::getFollowUser, newRecordDTO.getUserId()), Boolean.FALSE
365   - );
366   - }
367   -
368   - if (Objects.isNull(task)) {
369   - return true;
370   - }
371   - LocalDate nextTime = DateUtil.date2LocalDate(newRecordDTO.getNextDate());
372   - BV.notNull(nextTime, () -> "下次跟进时间异常");
373   -
374   - Long taskId = task.getId();
375   - TaskNextPlan plan = taskNextPlanService.queryByTaskId(taskId);
376   - if (Objects.isNull(plan)) {
377   - if (!task.getDeadline().isAfter(nextTime.atStartOfDay())) {
378   - return true;
379   - }
380   - plan = new TaskNextPlan()
381   - .setTaskId(taskId)
382   - .setEffective(Boolean.TRUE);
383   - }
384   - plan.setPlanTime(nextTime);
385   - taskNextPlanService.saveOrUpdate(plan);
  340 + // fixme 删除
386 341 return true;
387 342 }
388 343  
... ...