在会员注册时添加是否已存在客户的判断:

1. 存在客户则不修改归属
2. 不存在客户则单独添加客户
This commit is contained in:
仙风道骨小半仙儿 2025-03-20 21:46:25 +08:00
parent 7a639d578a
commit 8169e1525d
5 changed files with 17 additions and 4 deletions

View File

@ -5,7 +5,7 @@ import jakarta.validation.constraints.NotNull;
public interface CrmCustomerApi {
/**
* 执行真正的邮件发送
* 执行创建CRM客户方法巾用在member会员注册时
* 注意该方法仅仅提供给 MQ Consumer 使用
*
* @param mobile 手机号

View File

@ -65,6 +65,7 @@ public interface ErrorCodeConstants {
ErrorCode CUSTOMER_CREATE_NAME_NOT_NULL = new ErrorCode(1_020_006_013, "客户名称不能为空!");
ErrorCode CUSTOMER_NAME_EXISTS = new ErrorCode(1_020_006_014, "已存在名为【{}】的客户!");
ErrorCode CUSTOMER_UPDATE_DEAL_STATUS_FAIL = new ErrorCode(1_020_006_015, "更新客户的成交状态失败,原因:已经是该状态,无需更新");
ErrorCode CUSTOMERCREATE_NAME_EXISTS = new ErrorCode(1_020_006_016, "会员创建已存在手机号为【{}】的客户");
// ========== 权限管理 1_020_007_000 ==========
ErrorCode CRM_PERMISSION_NOT_EXISTS = new ErrorCode(1_020_007_000, "数据权限不存在");

View File

@ -88,6 +88,10 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
return selectOne(CrmCustomerDO::getName, name);
}
default CrmCustomerDO selectByCustomerMobile(String mobile) {
return selectOne(CrmCustomerDO::getMobile, mobile);
}
default PageResult<CrmCustomerDO> selectPutPoolRemindCustomerPage(CrmCustomerPageReqVO pageReqVO,
CrmCustomerPoolConfigDO poolConfig,
Long ownerUserId) {

View File

@ -671,6 +671,13 @@ public class CrmCustomerServiceImpl implements CrmCustomerService, CrmCustomerAp
createReqVO.setId(null);
createReqVO.setMobile(mobile);
// TODO AN 假如已有会员需要判断CRM中手机号是否已经存在客户
// 如果存在则放弃创建不更新关联负责人
// 如果不存在则单独创建客户
CrmCustomerDO customer = customerMapper.selectByCustomerMobile(mobile);
if (customer != null) {
throw exception(CUSTOMERCREATE_NAME_EXISTS,customer.getMobile());
}
// 邀请码是否为空判断
if (StrUtil.isNotBlank(invitationCode)) {
@ -687,7 +694,7 @@ public class CrmCustomerServiceImpl implements CrmCustomerService, CrmCustomerAp
validateCustomerExceedOwnerLimit(createReqVO.getOwnerUserId(), 1);
// 2. 插入客户
CrmCustomerDO customer = initCustomer(createReqVO, createReqVO.getOwnerUserId());
customer = initCustomer(createReqVO, createReqVO.getOwnerUserId());
customerMapper.insert(customer);
// 3. 创建数据权限

View File

@ -103,10 +103,11 @@ public class MemberUserServiceImpl implements MemberUserService {
@Override
@Transactional(rollbackFor = Exception.class)
public MemberUserDO createUserAndCustomerIfAbsent(String mobile, String registerIp, Integer terminal,String invitationCode) {
// 用户已经存在
// 用户是否存在
MemberUserDO user = memberUserMapper.selectByMobile(mobile);
if (user != null) {
// 如果会员不为空则查询CRM客户是否存在,ri
//如果会员不为空该方法回查询CRM客户是否存在,不存在则单独插入CRM客户信息
registerProducer.sendRegisterSendMessage(mobile, registerIp,invitationCode);
return user;
}
// 用户不存在则进行创建