feat(customer): 添加客户跟进步骤字段和审批逻辑

- 在CreditMpCustomer实体中新增第1步跟进相关字段,包括联系人、电话、录音、截图等信息
- 实现服务层中对第1至第4步审批状态的设置逻辑
- 添加审批时间、审批人等审计信息的存储功能
- 支持多步骤客户跟进流程的数据管理需求
This commit is contained in:
2026-03-23 17:25:32 +08:00
parent 9c929301b9
commit 120082241e
2 changed files with 47 additions and 0 deletions

View File

@@ -117,6 +117,33 @@ public class CreditMpCustomer implements Serializable {
@Schema(description = "第1步提交时间") @Schema(description = "第1步提交时间")
private String followStep1SubmittedAt; private String followStep1SubmittedAt;
@Schema(description = "第1步联系人")
private String followStep1Contact;
@Schema(description = "第1步联系电话")
private String followStep1Phone;
@Schema(description = "第1步电话录音URL")
private String followStep1AudioUrl;
@Schema(description = "第1步电话录音文件名")
private String followStep1AudioName;
@Schema(description = "第1步短信截图JSON")
private String followStep1SmsShots;
@Schema(description = "第1步电话沟通截图JSON")
private String followStep1CallShots;
@Schema(description = "第1步沟通情况")
private String followStep1Remark;
@Schema(description = "第1步意向(无意向/有意向)")
private String followStep1Intention;
@Schema(description = "第1步沟通次数")
private Integer followStep1CommunicationCount;
@Schema(description = "第1步是否需要审核") @Schema(description = "第1步是否需要审核")
private Integer followStep1NeedApproval; private Integer followStep1NeedApproval;

View File

@@ -162,6 +162,26 @@ public class CreditMpCustomerServiceImpl extends ServiceImpl<CreditMpCustomerMap
Integer currentUserId = baseController.getLoginUserId(); Integer currentUserId = baseController.getLoginUserId();
switch (dto.getStep()) { switch (dto.getStep()) {
case 1:
customer.setFollowStep1Approved(dto.getApproved() ? 1 : 0);
customer.setFollowStep1ApprovedAt(currentTime);
customer.setFollowStep1ApprovedBy(currentUserId != null ? currentUserId.longValue() : null);
break;
case 2:
customer.setFollowStep2Approved(dto.getApproved() ? 1 : 0);
customer.setFollowStep2ApprovedAt(currentTime);
customer.setFollowStep2ApprovedBy(currentUserId != null ? currentUserId.longValue() : null);
break;
case 3:
customer.setFollowStep3Approved(dto.getApproved() ? 1 : 0);
customer.setFollowStep3ApprovedAt(currentTime);
customer.setFollowStep3ApprovedBy(currentUserId != null ? currentUserId.longValue() : null);
break;
case 4:
customer.setFollowStep4Approved(dto.getApproved() ? 1 : 0);
customer.setFollowStep4ApprovedAt(currentTime);
customer.setFollowStep4ApprovedBy(currentUserId != null ? currentUserId.longValue() : null);
break;
case 5: case 5:
customer.setFollowStep5Approved(dto.getApproved() ? 1 : 0); customer.setFollowStep5Approved(dto.getApproved() ? 1 : 0);
customer.setFollowStep5ApprovedAt(currentTime); customer.setFollowStep5ApprovedAt(currentTime);