diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java index 817e66a..84d31ab 100644 --- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java +++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java @@ -149,6 +149,15 @@ public class CrmBusinessController { .setCustomerId(business.getCustomerId()))); } + @GetMapping("/list-by-contact") + @Operation(summary = "获得商机列表,基于指定联系人") + @Parameter(name = "contactId", description = "联系人编号", required = true) + @PreAuthorize("@ss.hasPermission('crm:business:query')") + public CommonResult> getBusinessListByContact(@RequestParam("contactId") Long contactId) { + List list = businessService.getBusinessListByContact(contactId); + return success(buildBusinessDetailList(list)); + } + @GetMapping("/page") @Operation(summary = "获得商机分页") @PreAuthorize("@ss.hasPermission('crm:business:query')") diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessService.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessService.java index ff1ce4d..67a6cf3 100644 --- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessService.java +++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessService.java @@ -204,6 +204,14 @@ public interface CrmBusinessService { List getBusinessListByCustomerId(Long customerId); /** + * 获得商机列表,基于指定联系人 + * + * @param contactId 联系人编号 + * @return 商机列表 + */ + List getBusinessListByContact(Long contactId); + + /** * 获得商机分页,目前用于【数据统计】 * * @param pageVO 请求 diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java index 1609843..49f2314 100644 --- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java +++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java @@ -384,6 +384,18 @@ public class CrmBusinessServiceImpl implements CrmBusinessService { } @Override + @CrmPermission(bizType = CrmBizTypeEnum.CRM_CONTACT, bizId = "#contactId", level = CrmPermissionLevelEnum.READ) + public List getBusinessListByContact(Long contactId) { + // 1. 查询关联的商机编号 + List contactBusinessList = contactBusinessService.getContactBusinessListByContactId(contactId); + if (CollUtil.isEmpty(contactBusinessList)) { + return ListUtil.empty(); + } + // 2. 查询商机列表 + return businessMapper.selectByIds(convertSet(contactBusinessList, CrmContactBusinessDO::getBusinessId)); + } + + @Override public PageResult getBusinessPageByDate(CrmStatisticsFunnelReqVO pageVO) { return businessMapper.selectPage(pageVO); }