Commit dbd3caa4d1559bb3fb046d1c85a03b47ae6e97f0
1 parent
740805dc
优化角色变动分配算法
Showing
1 changed file
with
14 additions
and
3 deletions
fw-valhalla-service/src/main/java/cn/fw/valhalla/service/bus/LeaveNeedDoBizService.java
@@ -12,6 +12,7 @@ import cn.fw.valhalla.common.constant.RoleCode; | @@ -12,6 +12,7 @@ import cn.fw.valhalla.common.constant.RoleCode; | ||
12 | import cn.fw.valhalla.common.utils.DateUtil; | 12 | import cn.fw.valhalla.common.utils.DateUtil; |
13 | import cn.fw.valhalla.domain.db.LeaveNeedDo; | 13 | import cn.fw.valhalla.domain.db.LeaveNeedDo; |
14 | import cn.fw.valhalla.domain.db.customer.Customer; | 14 | import cn.fw.valhalla.domain.db.customer.Customer; |
15 | +import cn.fw.valhalla.domain.db.follow.FollowRecord; | ||
15 | import cn.fw.valhalla.domain.db.follow.FollowTask; | 16 | import cn.fw.valhalla.domain.db.follow.FollowTask; |
16 | import cn.fw.valhalla.domain.db.pool.CustomerCluePool; | 17 | import cn.fw.valhalla.domain.db.pool.CustomerCluePool; |
17 | import cn.fw.valhalla.domain.db.pool.StammkundePool; | 18 | import cn.fw.valhalla.domain.db.pool.StammkundePool; |
@@ -397,9 +398,13 @@ public class LeaveNeedDoBizService { | @@ -397,9 +398,13 @@ public class LeaveNeedDoBizService { | ||
397 | task.setCloseTime(new Date()); | 398 | task.setCloseTime(new Date()); |
398 | task.setState(TaskStateEnum.DEFEAT); | 399 | task.setState(TaskStateEnum.DEFEAT); |
399 | task.setReason(TaskDefeatTypeEnum.D); | 400 | task.setReason(TaskDefeatTypeEnum.D); |
401 | + FollowRecord taskRecord = followRecordService.getOne(Wrappers.<FollowRecord>lambdaQuery() | ||
402 | + .eq(FollowRecord::getTaskId, task.getId()) | ||
403 | + .eq(FollowRecord::getAddTodo, Boolean.FALSE) | ||
404 | + .isNull(FollowRecord::getFollowTime) | ||
405 | + .last(" limit 1") | ||
406 | + ); | ||
400 | followTaskService.updateById(task); | 407 | followTaskService.updateById(task); |
401 | - followRecordService.removeByTaskId(task.getId()); | ||
402 | - | ||
403 | if (Boolean.TRUE.equals(task.getRedistribution())) { | 408 | if (Boolean.TRUE.equals(task.getRedistribution())) { |
404 | clue.setCloseTime(new Date()); | 409 | clue.setCloseTime(new Date()); |
405 | clue.setClueStatus(ClueStatusEnum.FAILURE); | 410 | clue.setClueStatus(ClueStatusEnum.FAILURE); |
@@ -407,7 +412,6 @@ public class LeaveNeedDoBizService { | @@ -407,7 +412,6 @@ public class LeaveNeedDoBizService { | ||
407 | } else { | 412 | } else { |
408 | clue.setRedistribution(Boolean.TRUE); | 413 | clue.setRedistribution(Boolean.TRUE); |
409 | } | 414 | } |
410 | - | ||
411 | FollowTask nTask = new FollowTask(); | 415 | FollowTask nTask = new FollowTask(); |
412 | nTask.setClueId(clue.getId()); | 416 | nTask.setClueId(clue.getId()); |
413 | nTask.setCustomerId(clue.getRefererId()); | 417 | nTask.setCustomerId(clue.getRefererId()); |
@@ -421,6 +425,13 @@ public class LeaveNeedDoBizService { | @@ -421,6 +425,13 @@ public class LeaveNeedDoBizService { | ||
421 | nTask.setFollowShop(shopId); | 425 | nTask.setFollowShop(shopId); |
422 | nTask.setGroupId(clue.getGroupId()); | 426 | nTask.setGroupId(clue.getGroupId()); |
423 | followTaskService.save(nTask); | 427 | followTaskService.save(nTask); |
428 | + if (Objects.nonNull(taskRecord)) { | ||
429 | + taskRecord.setTaskId(nTask.getId()); | ||
430 | + taskRecord.setUserId(nTask.getFollowUser()); | ||
431 | + taskRecord.setUserName(nTask.getFollowUserName()); | ||
432 | + followRecordService.updateById(taskRecord); | ||
433 | + return; | ||
434 | + } | ||
424 | followBizService.startTask(nTask); | 435 | followBizService.startTask(nTask); |
425 | } | 436 | } |
426 | 437 |