Commit dbd3caa4d1559bb3fb046d1c85a03b47ae6e97f0

Authored by 张志伟
1 parent 740805dc

:zap: 优化角色变动分配算法

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  
... ...