From 0e4449d75bf31eb960d99fff1f2736446e1ec063 Mon Sep 17 00:00:00 2001 From: luoweijian <1329394916@qq.com> Date: Tue, 25 Aug 2026 15:15:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(lead):=20=E7=A5=A811=20=E8=BD=AC=E5=95=86?= =?UTF-8?q?=E6=9C=BA=E5=A5=91=E7=BA=A6=E5=8A=A0=20customerId=EF=BC=88?= =?UTF-8?q?=E5=8F=AF=E7=A9=BA=E5=8D=A0=E4=BD=8D=EF=BC=8C=E5=BE=85A4?= =?UTF-8?q?=E6=94=B6=E7=B4=A7=E5=BF=85=E5=A1=AB=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 票11 步骤1-2 契约变更(走法甲:customerId 暂可空,不倒退现有自由文本转商机): - CreateOpportunityCmd 新增 customerId(Long,暂可空);intendedCustomer 降为 客户名快照,与 customerId 并存(引用+快照,同票13走法) - ConvertOpportunityParam 新增 customerId(前端下拉选客户得到;A4 下拉未就绪 前前端传 null) - LeadServiceImpl 组装 cmd 时透传 param.getCustomerId() A4 客户下拉就绪后把 customerId 收紧为必填(终态契约,一处校验)。 mvn -pl crm-lead -am test 116 全绿。 --- .../com/crm/lead/domain/param/ConvertOpportunityParam.java | 5 ++++- .../com/crm/lead/port/outbound/CreateOpportunityCmd.java | 6 +++++- .../java/com/crm/lead/service/impl/LeadServiceImpl.java | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/crm-lead/src/main/java/com/crm/lead/domain/param/ConvertOpportunityParam.java b/crm-lead/src/main/java/com/crm/lead/domain/param/ConvertOpportunityParam.java index a4a00e2..ee175d9 100644 --- a/crm-lead/src/main/java/com/crm/lead/domain/param/ConvertOpportunityParam.java +++ b/crm-lead/src/main/java/com/crm/lead/domain/param/ConvertOpportunityParam.java @@ -21,9 +21,12 @@ public class ConvertOpportunityParam { @Schema(description = "甲方(自由文本,可空)") private String partyA; - @Schema(description = "意向客户(自由文本,必填)") + @Schema(description = "意向客户(自由文本,必填;票 11 降为名快照,与 customerId 并存)") private String intendedCustomer; + @Schema(description = "意向客户 id(票 11;下拉选客户得到,引用 A4 客户模块。A4 下拉未就绪前可空)") + private Long customerId; + @Schema(description = "地区国标 code(必填)") private String regionCode; diff --git a/crm-lead/src/main/java/com/crm/lead/port/outbound/CreateOpportunityCmd.java b/crm-lead/src/main/java/com/crm/lead/port/outbound/CreateOpportunityCmd.java index 28183c3..6a75470 100644 --- a/crm-lead/src/main/java/com/crm/lead/port/outbound/CreateOpportunityCmd.java +++ b/crm-lead/src/main/java/com/crm/lead/port/outbound/CreateOpportunityCmd.java @@ -8,7 +8,10 @@ package com.crm.lead.port.outbound; * @param opportunityName 商机名称(必填) * @param industryCode 行业字典 code(opportunity.industry,必填) * @param partyA 甲方(自由文本,可空) - * @param intendedCustomer 意向客户(自由文本,必填) + * @param intendedCustomer 意向客户名快照(自由文本;票 11 降为客户名快照,与 customerId 并存) + * @param customerId 意向客户 id(票 11;下拉选客户得到,引用 A4 客户模块)。 + * 暂可空:A4 客户下拉未就绪前前端传 null,商机侧跳过建关联子表; + * A4 就绪后收紧为必填(票 11 终态契约)。 * @param regionCode 地区国标 code(varchar 12,必填) * @param remark 备注(自由文本,可空) * @param sourceLeadName 线索名称快照 @@ -24,6 +27,7 @@ public record CreateOpportunityCmd( String industryCode, String partyA, String intendedCustomer, + Long customerId, String regionCode, String remark, String sourceLeadName, diff --git a/crm-lead/src/main/java/com/crm/lead/service/impl/LeadServiceImpl.java b/crm-lead/src/main/java/com/crm/lead/service/impl/LeadServiceImpl.java index 0e8b854..35044f9 100644 --- a/crm-lead/src/main/java/com/crm/lead/service/impl/LeadServiceImpl.java +++ b/crm-lead/src/main/java/com/crm/lead/service/impl/LeadServiceImpl.java @@ -361,7 +361,8 @@ public class LeadServiceImpl extends BaseServiceImpl try { opportunityId = port.createOpportunity(new CreateOpportunityCmd( lead.getId(), param.getOpportunityName(), param.getIndustryCode(), - param.getPartyA(), param.getIntendedCustomer(), param.getRegionCode(), + param.getPartyA(), param.getIntendedCustomer(), param.getCustomerId(), + param.getRegionCode(), param.getRemark(), lead.getLeadName(), lead.getPhone(), lead.getProductCode(), lead.getOwnerUserId(), lead.getOwnerDeptIdSnapshot(), lead.getPoolId()));