mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-01 02:38:43 +08:00 
			
		
		
		
	CRM: 修复一下差异
This commit is contained in:
		| @@ -4,9 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.ip.core.utils.AreaUtils; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerRespVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerTransferReqVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigRespVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.poolconfig.CrmCustomerPoolConfigSaveReqVO; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.clue.CrmClueDO; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.customer.CrmCustomerDO; | ||||
| import cn.iocoder.yudao.module.crm.service.permission.bo.CrmPermissionTransferReqBO; | ||||
| import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; | ||||
| @@ -69,12 +66,4 @@ public interface CrmCustomerConvert { | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     CrmCustomerPoolConfigRespVO convert(CrmCustomerPoolConfigDO customerPoolConfig); | ||||
|  | ||||
|     CrmCustomerPoolConfigDO convert(CrmCustomerPoolConfigSaveReqVO updateReqVO); | ||||
|  | ||||
|     // TODO @min:使用 BeanUtils 拷贝哈。我们慢慢简单的对象,不再直接基于 convert 做啦。 | ||||
|     @Mapping(ignore = true, target = "id") | ||||
|     CrmCustomerSaveReqVO convert(CrmClueDO bean); | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,44 @@ | ||||
| package cn.iocoder.yudao.module.crm.framework.operatelog.core; | ||||
|  | ||||
| import cn.hutool.core.util.StrUtil; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.contract.CrmContractDO; | ||||
| import cn.iocoder.yudao.module.crm.service.contract.CrmContractService; | ||||
| import com.mzt.logapi.service.IParseFunction; | ||||
| import jakarta.annotation.Resource; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| import static cn.iocoder.yudao.module.crm.enums.operatelog.CrmParseFunctionNameConstants.GET_CONTRACT_BY_ID; | ||||
|  | ||||
| /** | ||||
|  * CRM 合同的 {@link IParseFunction} 实现类 | ||||
|  * | ||||
|  * @author HUIHUI | ||||
|  */ | ||||
| @Component | ||||
| @Slf4j | ||||
| public class CrmContractParseFunction implements IParseFunction { | ||||
|  | ||||
|     @Resource | ||||
|     private CrmContractService contractService; | ||||
|  | ||||
|     @Override | ||||
|     public boolean executeBefore() { | ||||
|         return true; // 先转换值后对比 | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String functionName() { | ||||
|         return GET_CONTRACT_BY_ID; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String apply(Object value) { | ||||
|         if (StrUtil.isEmptyIfStr(value)) { | ||||
|             return ""; | ||||
|         } | ||||
|         CrmContractDO contract = contractService.getContract(Long.parseLong(value.toString())); | ||||
|         return contract == null ? "" : contract.getName(); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -3,12 +3,13 @@ package cn.iocoder.yudao.module.crm.service.clue; | ||||
| import cn.hutool.core.collection.CollUtil; | ||||
| import cn.hutool.core.collection.ListUtil; | ||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmCluePageReqVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueSaveReqVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueTransferReqVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.clue.vo.CrmClueTransformReqVO; | ||||
| import cn.iocoder.yudao.module.crm.controller.admin.customer.vo.CrmCustomerSaveReqVO; | ||||
| import cn.iocoder.yudao.module.crm.convert.clue.CrmClueConvert; | ||||
| import cn.iocoder.yudao.module.crm.convert.customer.CrmCustomerConvert; | ||||
| import cn.iocoder.yudao.module.crm.dal.dataobject.clue.CrmClueDO; | ||||
| import cn.iocoder.yudao.module.crm.dal.mysql.clue.CrmClueMapper; | ||||
| import cn.iocoder.yudao.module.crm.enums.common.CrmBizTypeEnum; | ||||
| @@ -139,8 +140,9 @@ public class CrmClueServiceImpl implements CrmClueService { | ||||
|  | ||||
|         // 遍历线索,创建对应的客户 | ||||
|         clues.forEach(clue -> { | ||||
|             clue.setId(null); | ||||
|             // 创建客户 | ||||
|             customerService.createCustomer(CrmCustomerConvert.INSTANCE.convert(clue), userId); | ||||
|             customerService.createCustomer(BeanUtils.toBean(clue, CrmCustomerSaveReqVO.class), userId); | ||||
|             // 更新线索状态 | ||||
|             // TODO @min:新建一个 CrmClueDO 去更新。尽量规避直接用原本的对象去更新。因为这样万一并发更新,会存在覆盖的问题。 | ||||
|             // TODO @puhui999:如果有跟进记录,需要一起转过去; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 puhui999
					puhui999