Commit 6624a93a84f9b90ebdfc5e2d13f16cdff7e5d6aa
1 parent
ca552825
CRM:跟进记录 code review
Showing
10 changed files
with
19 additions
and
12 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/followup/CrmFollowUpRecordController.java
| @@ -38,7 +38,7 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti | @@ -38,7 +38,7 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti | ||
| 38 | public class CrmFollowUpRecordController { | 38 | public class CrmFollowUpRecordController { |
| 39 | 39 | ||
| 40 | @Resource | 40 | @Resource |
| 41 | - private CrmFollowUpRecordService crmFollowUpRecordService; | 41 | + private CrmFollowUpRecordService followUpRecordService; |
| 42 | @Resource | 42 | @Resource |
| 43 | private CrmContactService contactService; | 43 | private CrmContactService contactService; |
| 44 | @Resource | 44 | @Resource |
| @@ -48,7 +48,7 @@ public class CrmFollowUpRecordController { | @@ -48,7 +48,7 @@ public class CrmFollowUpRecordController { | ||
| 48 | @Operation(summary = "创建跟进记录") | 48 | @Operation(summary = "创建跟进记录") |
| 49 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:create')") | 49 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:create')") |
| 50 | public CommonResult<Long> createFollowUpRecord(@Valid @RequestBody CrmFollowUpRecordSaveReqVO createReqVO) { | 50 | public CommonResult<Long> createFollowUpRecord(@Valid @RequestBody CrmFollowUpRecordSaveReqVO createReqVO) { |
| 51 | - return success(crmFollowUpRecordService.createFollowUpRecord(createReqVO)); | 51 | + return success(followUpRecordService.createFollowUpRecord(createReqVO)); |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | @DeleteMapping("/delete") | 54 | @DeleteMapping("/delete") |
| @@ -56,7 +56,7 @@ public class CrmFollowUpRecordController { | @@ -56,7 +56,7 @@ public class CrmFollowUpRecordController { | ||
| 56 | @Parameter(name = "id", description = "编号", required = true) | 56 | @Parameter(name = "id", description = "编号", required = true) |
| 57 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:delete')") | 57 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:delete')") |
| 58 | public CommonResult<Boolean> deleteFollowUpRecord(@RequestParam("id") Long id) { | 58 | public CommonResult<Boolean> deleteFollowUpRecord(@RequestParam("id") Long id) { |
| 59 | - crmFollowUpRecordService.deleteFollowUpRecord(id, getLoginUserId()); | 59 | + followUpRecordService.deleteFollowUpRecord(id, getLoginUserId()); |
| 60 | return success(true); | 60 | return success(true); |
| 61 | } | 61 | } |
| 62 | 62 | ||
| @@ -65,7 +65,7 @@ public class CrmFollowUpRecordController { | @@ -65,7 +65,7 @@ public class CrmFollowUpRecordController { | ||
| 65 | @Parameter(name = "id", description = "编号", required = true, example = "1024") | 65 | @Parameter(name = "id", description = "编号", required = true, example = "1024") |
| 66 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:query')") | 66 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:query')") |
| 67 | public CommonResult<CrmFollowUpRecordRespVO> getFollowUpRecord(@RequestParam("id") Long id) { | 67 | public CommonResult<CrmFollowUpRecordRespVO> getFollowUpRecord(@RequestParam("id") Long id) { |
| 68 | - CrmFollowUpRecordDO followUpRecord = crmFollowUpRecordService.getFollowUpRecord(id); | 68 | + CrmFollowUpRecordDO followUpRecord = followUpRecordService.getFollowUpRecord(id); |
| 69 | return success(BeanUtils.toBean(followUpRecord, CrmFollowUpRecordRespVO.class)); | 69 | return success(BeanUtils.toBean(followUpRecord, CrmFollowUpRecordRespVO.class)); |
| 70 | } | 70 | } |
| 71 | 71 | ||
| @@ -73,7 +73,7 @@ public class CrmFollowUpRecordController { | @@ -73,7 +73,7 @@ public class CrmFollowUpRecordController { | ||
| 73 | @Operation(summary = "获得跟进记录分页") | 73 | @Operation(summary = "获得跟进记录分页") |
| 74 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:query')") | 74 | @PreAuthorize("@ss.hasPermission('crm:follow-up-record:query')") |
| 75 | public CommonResult<PageResult<CrmFollowUpRecordRespVO>> getFollowUpRecordPage(@Valid CrmFollowUpRecordPageReqVO pageReqVO) { | 75 | public CommonResult<PageResult<CrmFollowUpRecordRespVO>> getFollowUpRecordPage(@Valid CrmFollowUpRecordPageReqVO pageReqVO) { |
| 76 | - PageResult<CrmFollowUpRecordDO> pageResult = crmFollowUpRecordService.getFollowUpRecordPage(pageReqVO); | 76 | + PageResult<CrmFollowUpRecordDO> pageResult = followUpRecordService.getFollowUpRecordPage(pageReqVO); |
| 77 | /// 拼接数据 | 77 | /// 拼接数据 |
| 78 | Map<Long, CrmContactDO> contactMap = convertMap(contactService.getContactList( | 78 | Map<Long, CrmContactDO> contactMap = convertMap(contactService.getContactList( |
| 79 | convertSetByFlatMap(pageResult.getList(), item -> item.getContactIds().stream())), CrmContactDO::getId); | 79 | convertSetByFlatMap(pageResult.getList(), item -> item.getContactIds().stream())), CrmContactDO::getId); |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/business/bo/CrmBusinessUpdateFollowUpReqBO.java
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/clue/bo/CrmClueUpdateFollowUpReqBO.java
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contact/CrmContactService.java
| @@ -65,7 +65,6 @@ public interface CrmContactService { | @@ -65,7 +65,6 @@ public interface CrmContactService { | ||
| 65 | */ | 65 | */ |
| 66 | void updateContactFollowUpBatch(List<CrmContactUpdateFollowUpReqBO> updateFollowUpReqBOList); | 66 | void updateContactFollowUpBatch(List<CrmContactUpdateFollowUpReqBO> updateFollowUpReqBOList); |
| 67 | 67 | ||
| 68 | - | ||
| 69 | /** | 68 | /** |
| 70 | * 获得联系人 | 69 | * 获得联系人 |
| 71 | * | 70 | * |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contact/bo/CrmContactUpdateFollowUpReqBO.java
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/contract/bo/CrmContractUpdateFollowUpReqBO.java
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
| @@ -227,15 +227,16 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { | @@ -227,15 +227,16 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { | ||
| 227 | // 1.3. 校验客户是否锁定 | 227 | // 1.3. 校验客户是否锁定 |
| 228 | validateCustomerIsLocked(customer, true); | 228 | validateCustomerIsLocked(customer, true); |
| 229 | 229 | ||
| 230 | - // 2. 设置负责人为 NULL | 230 | + // 2.1 设置负责人为 NULL |
| 231 | int updateOwnerUserIncr = customerMapper.updateOwnerUserIdById(customer.getId(), null); | 231 | int updateOwnerUserIncr = customerMapper.updateOwnerUserIdById(customer.getId(), null); |
| 232 | if (updateOwnerUserIncr == 0) { | 232 | if (updateOwnerUserIncr == 0) { |
| 233 | throw exception(CUSTOMER_UPDATE_OWNER_USER_FAIL); | 233 | throw exception(CUSTOMER_UPDATE_OWNER_USER_FAIL); |
| 234 | } | 234 | } |
| 235 | - // 3. 删除负责人数据权限 | 235 | + // 2.2 删除负责人数据权限 |
| 236 | permissionService.deletePermission(CrmBizTypeEnum.CRM_CUSTOMER.getType(), customer.getId(), | 236 | permissionService.deletePermission(CrmBizTypeEnum.CRM_CUSTOMER.getType(), customer.getId(), |
| 237 | CrmPermissionLevelEnum.OWNER.getLevel()); | 237 | CrmPermissionLevelEnum.OWNER.getLevel()); |
| 238 | - // 联系人的负责人,也要设置为 null;这块和领取是对应的;因为领取后,负责人也要关联过来; | 238 | + |
| 239 | + // 3. 联系人的负责人,也要设置为 null。因为:因为领取后,负责人也要关联过来,这块和 receiveCustomer 是对应的 | ||
| 239 | contactService.updateOwnerUserIdByCustomerId(customer.getId(), null); | 240 | contactService.updateOwnerUserIdByCustomerId(customer.getId(), null); |
| 240 | 241 | ||
| 241 | // 记录操作日志上下文 | 242 | // 记录操作日志上下文 |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/bo/CrmCustomerUpdateFollowUpReqBO.java
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/followup/CrmFollowUpRecordServiceImpl.java
| @@ -59,10 +59,11 @@ public class CrmFollowUpRecordServiceImpl implements CrmFollowUpRecordService { | @@ -59,10 +59,11 @@ public class CrmFollowUpRecordServiceImpl implements CrmFollowUpRecordService { | ||
| 59 | crmFollowUpRecordMapper.insert(followUpRecord); | 59 | crmFollowUpRecordMapper.insert(followUpRecord); |
| 60 | 60 | ||
| 61 | LocalDateTime now = LocalDateTime.now(); | 61 | LocalDateTime now = LocalDateTime.now(); |
| 62 | - // 更新 bizId 对应的记录; | 62 | + // 2. 更新 bizId 对应的记录; |
| 63 | followUpHandlers.forEach(handler -> handler.execute(followUpRecord, now)); | 63 | followUpHandlers.forEach(handler -> handler.execute(followUpRecord, now)); |
| 64 | - // 更新 contactIds 对应的记录 | 64 | + // 3.1 更新 contactIds 对应的记录 |
| 65 | if (CollUtil.isNotEmpty(createReqVO.getContactIds())) { | 65 | if (CollUtil.isNotEmpty(createReqVO.getContactIds())) { |
| 66 | + // TODO @puhui999:可以用链式设置哈 | ||
| 66 | contactService.updateContactFollowUpBatch(convertList(createReqVO.getContactIds(), contactId -> { | 67 | contactService.updateContactFollowUpBatch(convertList(createReqVO.getContactIds(), contactId -> { |
| 67 | CrmContactUpdateFollowUpReqBO crmContactUpdateFollowUpReqBO = new CrmContactUpdateFollowUpReqBO(); | 68 | CrmContactUpdateFollowUpReqBO crmContactUpdateFollowUpReqBO = new CrmContactUpdateFollowUpReqBO(); |
| 68 | crmContactUpdateFollowUpReqBO.setId(contactId).setContactNextTime(followUpRecord.getNextTime()) | 69 | crmContactUpdateFollowUpReqBO.setId(contactId).setContactNextTime(followUpRecord.getNextTime()) |
| @@ -70,7 +71,7 @@ public class CrmFollowUpRecordServiceImpl implements CrmFollowUpRecordService { | @@ -70,7 +71,7 @@ public class CrmFollowUpRecordServiceImpl implements CrmFollowUpRecordService { | ||
| 70 | return crmContactUpdateFollowUpReqBO; | 71 | return crmContactUpdateFollowUpReqBO; |
| 71 | })); | 72 | })); |
| 72 | } | 73 | } |
| 73 | - // 需要更新 businessIds、contactIds 对应的记录 | 74 | + // 3.2 需要更新 businessIds、contactIds 对应的记录 |
| 74 | if (CollUtil.isNotEmpty(createReqVO.getBusinessIds())) { | 75 | if (CollUtil.isNotEmpty(createReqVO.getBusinessIds())) { |
| 75 | businessService.updateContactFollowUpBatch(convertList(createReqVO.getBusinessIds(), businessId -> { | 76 | businessService.updateContactFollowUpBatch(convertList(createReqVO.getBusinessIds(), businessId -> { |
| 76 | CrmBusinessUpdateFollowUpReqBO crmBusinessUpdateFollowUpReqBO = new CrmBusinessUpdateFollowUpReqBO(); | 77 | CrmBusinessUpdateFollowUpReqBO crmBusinessUpdateFollowUpReqBO = new CrmBusinessUpdateFollowUpReqBO(); |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/followup/handle/CrmFollowUpHandler.java