Commit df29f0682f4a52a79ea0eb919096350750d996f0

Authored by YunaiV
1 parent 8d2008f2

📖 CRM:线索模块的 review

yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImpl.java
@@ -141,17 +141,13 @@ public class CrmClueServiceImpl implements CrmClueService { @@ -141,17 +141,13 @@ public class CrmClueServiceImpl implements CrmClueService {
141 // 遍历线索(过滤掉已转化的线索),创建对应的客户 141 // 遍历线索(过滤掉已转化的线索),创建对应的客户
142 clues.stream().filter(clue -> ObjectUtil.notEqual(Boolean.TRUE, clue.getTransformStatus())) 142 clues.stream().filter(clue -> ObjectUtil.notEqual(Boolean.TRUE, clue.getTransformStatus()))
143 .forEach(clue -> { 143 .forEach(clue -> {
144 - // 1.创建客户  
145 - CrmCustomerSaveReqVO customerSaveReqVO = BeanUtils.toBean(clue, CrmCustomerSaveReqVO.class)  
146 - .setId(null); 144 + // 1. 创建客户
  145 + CrmCustomerSaveReqVO customerSaveReqVO = BeanUtils.toBean(clue, CrmCustomerSaveReqVO.class).setId(null);
147 Long customerId = customerService.createCustomer(customerSaveReqVO, userId); 146 Long customerId = customerService.createCustomer(customerSaveReqVO, userId);
148 // TODO @puhui999:如果有跟进记录,需要一起转过去; 147 // TODO @puhui999:如果有跟进记录,需要一起转过去;
149 - // 2.更新线索,新建一个 CrmClueDO 去更新。尽量规避直接用原本的对象去更新。因为这样万一并发更新,会存在覆盖的问题。  
150 - clueMapper.updateById(BeanUtils.toBean(clue, CrmClueDO.class)  
151 - // 线索状态设置为已转化  
152 - .setTransformStatus(Boolean.TRUE)  
153 - // 设置关联的客户编号  
154 - .setCustomerId(customerId)); 148 + // 2. 更新线索
  149 + clueMapper.updateById(new CrmClueDO().setId(clue.getId())
  150 + .setTransformStatus(Boolean.TRUE).setCustomerId(customerId));
155 }); 151 });
156 } 152 }
157 153