Commit bcf658974d545b47b4a381d8ccec564779ac1868
1 parent
8d24b5e0
优化跟进池
Showing
10 changed files
with
42 additions
and
4 deletions
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
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()) | ... | ... |