Commit 867c91de8199537f39500b088f7a7b4d33b3c983

Authored by 张志伟
2 parents 0b508067 bcf65897

Merge remote-tracking branch 'origin/dev' into test

fw-shirasawa-domain/src/main/java/cn/fw/shirasawa/domain/vo/follow/FollowDetailVO.java
... ... @@ -34,6 +34,10 @@ public class FollowDetailVO {
34 34 */
35 35 private LocalDateTime deadline;
36 36 /**
  37 + * 任务截止日期
  38 + */
  39 + private LocalDateTime taskDeadline;
  40 + /**
37 41 * 是否已经打过电话
38 42 */
39 43 private Boolean hadCall;
... ... @@ -42,6 +46,7 @@ public class FollowDetailVO {
42 46 */
43 47 private Boolean recordingAttachment;
44 48 private Long userId;
  49 + private String reason;
45 50  
46 51 public long getCountdown() {
47 52 if (Objects.isNull(deadline)) {
... ...
fw-shirasawa-sdk/src/main/java/cn/fw/shirasawa/sdk/api/FollowApiService.java
... ... @@ -55,7 +55,7 @@ public interface FollowApiService {
55 55 * @return
56 56 */
57 57 @PostMapping("/create/record")
58   - Message<Void> createNextRecord(@RequestBody NewRecordDTO newRecordDTO);
  58 + Message<Void> createNextRecord(@Valid @RequestBody NewRecordDTO newRecordDTO);
59 59  
60 60 /**
61 61 * 完成跟进任务
... ...
fw-shirasawa-server/src/main/java/cn/fw/shirasawa/server/controller/api/FollowApiServiceImpl.java
... ... @@ -90,7 +90,7 @@ public class FollowApiServiceImpl implements FollowApiService {
90 90 @Override
91 91 @PostMapping("/create/record")
92 92 @ControllerMethod("完成并生成下一次待办")
93   - public Message<Void> createNextRecord(@RequestBody NewRecordDTO newRecordDTO) {
  93 + public Message<Void> createNextRecord(@Valid @RequestBody NewRecordDTO newRecordDTO) {
94 94 followBizService.createNewRecord(newRecordDTO);
95 95 return success();
96 96 }
... ...
fw-shirasawa-server/src/main/java/cn/fw/shirasawa/server/controller/app/FollowController.java
... ... @@ -52,7 +52,7 @@ public class FollowController {
52 52 @IgnoreAuth
53 53 @ControllerMethod("查询跟进战败审批详情")
54 54 public Message<FollowDetailVO> approveDetail(@NotNull(message = "跟进记录id不能为空") final Long recordId) {
55   - FollowDetailVO detailVO = followBizService.queryFollowDetail(recordId);
  55 + FollowDetailVO detailVO = followBizService.queryApplyFollowDetail(recordId);
56 56 return success(detailVO);
57 57 }
58 58  
... ...
fw-shirasawa-server/src/main/resources/application-test.yml
... ... @@ -47,7 +47,7 @@ task:
47 47 switch: 'on'
48 48  
49 49 follow:
50   - flowNo: 'J4S66UX7U4'
  50 + flowNo: 'BRB72153X6'
51 51 todo:
52 52 FMCode: '50rmamxGp7'
53 53 RMCode: 'Zb33mjtjVy'
... ...
fw-shirasawa-service/src/main/java/cn/fw/shirasawa/service/bus/follow/FollowBizService.java
... ... @@ -323,6 +323,26 @@ public class FollowBizService {
323 323 }
324 324  
325 325 /**
  326 + * 查询跟进详情(审批用)
  327 + *
  328 + * @param recordId 跟进待办id
  329 + * @return 跟进详情
  330 + */
  331 + public FollowDetailVO queryApplyFollowDetail(Long recordId) {
  332 + FollowDetailVO vo = queryFollowDetail(recordId);
  333 + ApproveRecord approveRecord = approveRecordService.getOne(Wrappers.<ApproveRecord>lambdaQuery()
  334 + .eq(ApproveRecord::getDataId, vo.getTaskId())
  335 + .eq(ApproveRecord::getUserId, vo.getUserId())
  336 + .eq(ApproveRecord::getType, ApproveTypeEnum.FOLLOW_DEFEAT)
  337 + .last(" limit 1")
  338 + );
  339 + if (Objects.nonNull(approveRecord)) {
  340 + vo.setReason(approveRecord.getReason());
  341 + }
  342 + return vo;
  343 + }
  344 +
  345 + /**
326 346 * 查询跟进详情
327 347 *
328 348 * @param recordId 跟进待办id
... ...
fw-shirasawa-service/src/main/java/cn/fw/shirasawa/service/bus/follow/strategy/AbstractFollowStrategy.java
... ... @@ -221,6 +221,7 @@ public abstract class AbstractFollowStrategy implements FollowStrategy {
221 221 FollowDetailVO vo = new FollowDetailVO();
222 222 vo.setId(record.getId());
223 223 assembleRecordDetail(vo, record, cluePool);
  224 + vo.setTaskDeadline(followTask.getDeadline());
224 225 return vo;
225 226 }
226 227  
... ...
fw-shirasawa-service/src/main/java/cn/fw/shirasawa/service/bus/follow/strategy/impl/AFFollowStrategy.java
... ... @@ -20,6 +20,7 @@ import org.springframework.util.CollectionUtils;
20 20 import java.time.LocalDate;
21 21 import java.time.LocalDateTime;
22 22 import java.util.List;
  23 +import java.util.Objects;
23 24 import java.util.Optional;
24 25  
25 26 import static cn.fw.common.businessvalidator.Validator.BV;
... ... @@ -97,6 +98,9 @@ public class AFFollowStrategy extends AbstractFollowStrategy {
97 98 @Override
98 99 @Transactional(rollbackFor = Exception.class)
99 100 public void createNewRecord(FollowTask task, LocalDateTime nextTime, LocalDateTime nextEndTime, String note) {
  101 + if (Objects.isNull(nextTime)) {
  102 + return;
  103 + }
100 104 // TODO: 2022/1/17
101 105 }
102 106 }
... ...
fw-shirasawa-service/src/main/java/cn/fw/shirasawa/service/bus/follow/strategy/impl/CFFollowStrategy.java
... ... @@ -18,6 +18,7 @@ import org.springframework.util.CollectionUtils;
18 18 import java.time.LocalDate;
19 19 import java.time.LocalDateTime;
20 20 import java.util.List;
  21 +import java.util.Objects;
21 22  
22 23 import static cn.fw.common.businessvalidator.Validator.BV;
23 24  
... ... @@ -89,6 +90,9 @@ public class CFFollowStrategy extends AbstractFollowStrategy {
89 90 @Override
90 91 @Transactional(rollbackFor = Exception.class)
91 92 public void createNewRecord(FollowTask task, LocalDateTime nextTime, LocalDateTime nextEndTime, String note) {
  93 + if (Objects.isNull(nextTime)) {
  94 + return;
  95 + }
92 96 int count = followRecordService.count(Wrappers.<FollowRecord>lambdaQuery()
93 97 .eq(FollowRecord::getTaskId, task.getId())
94 98 .eq(FollowRecord::getUserId, task.getFollowUser())
... ...
fw-shirasawa-service/src/main/java/cn/fw/shirasawa/service/bus/follow/strategy/impl/PFFollowStrategy.java
... ... @@ -18,6 +18,7 @@ import org.springframework.util.CollectionUtils;
18 18 import java.time.LocalDate;
19 19 import java.time.LocalDateTime;
20 20 import java.util.List;
  21 +import java.util.Objects;
21 22  
22 23 import static cn.fw.common.businessvalidator.Validator.BV;
23 24  
... ... @@ -89,6 +90,9 @@ public class PFFollowStrategy extends AbstractFollowStrategy {
89 90 @Override
90 91 @Transactional(rollbackFor = Exception.class)
91 92 public void createNewRecord(FollowTask task, LocalDateTime nextTime, LocalDateTime nextEndTime, String note) {
  93 + if (Objects.isNull(nextTime)) {
  94 + return;
  95 + }
92 96 int count = followRecordService.count(Wrappers.<FollowRecord>lambdaQuery()
93 97 .eq(FollowRecord::getTaskId, task.getId())
94 98 .eq(FollowRecord::getUserId, task.getFollowUser())
... ...