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 | 12 | import cn.fw.valhalla.common.utils.DateUtil; |
13 | 13 | import cn.fw.valhalla.domain.db.LeaveNeedDo; |
14 | 14 | import cn.fw.valhalla.domain.db.customer.Customer; |
15 | +import cn.fw.valhalla.domain.db.follow.FollowRecord; | |
15 | 16 | import cn.fw.valhalla.domain.db.follow.FollowTask; |
16 | 17 | import cn.fw.valhalla.domain.db.pool.CustomerCluePool; |
17 | 18 | import cn.fw.valhalla.domain.db.pool.StammkundePool; |
... | ... | @@ -397,9 +398,13 @@ public class LeaveNeedDoBizService { |
397 | 398 | task.setCloseTime(new Date()); |
398 | 399 | task.setState(TaskStateEnum.DEFEAT); |
399 | 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 | 407 | followTaskService.updateById(task); |
401 | - followRecordService.removeByTaskId(task.getId()); | |
402 | - | |
403 | 408 | if (Boolean.TRUE.equals(task.getRedistribution())) { |
404 | 409 | clue.setCloseTime(new Date()); |
405 | 410 | clue.setClueStatus(ClueStatusEnum.FAILURE); |
... | ... | @@ -407,7 +412,6 @@ public class LeaveNeedDoBizService { |
407 | 412 | } else { |
408 | 413 | clue.setRedistribution(Boolean.TRUE); |
409 | 414 | } |
410 | - | |
411 | 415 | FollowTask nTask = new FollowTask(); |
412 | 416 | nTask.setClueId(clue.getId()); |
413 | 417 | nTask.setCustomerId(clue.getRefererId()); |
... | ... | @@ -421,6 +425,13 @@ public class LeaveNeedDoBizService { |
421 | 425 | nTask.setFollowShop(shopId); |
422 | 426 | nTask.setGroupId(clue.getGroupId()); |
423 | 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 | 435 | followBizService.startTask(nTask); |
425 | 436 | } |
426 | 437 | ... | ... |