Commit 117e700164217086f54d4518de8e1833d449bca6

Authored by 芋道源码
Committed by GitHub
2 parents a4649e15 3aec4801

Merge pull request #1282 from dadiyang/fix/crm-contract-delete-clean-products

[BUG] CRM 产品:产品被「已删除的合同」的明细行拦死,永远删不掉(删合同不清明细、产品引用计数不看合同删除状态)
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractProductMapper.java
... ... @@ -20,4 +20,8 @@ public interface CrmContractProductMapper extends BaseMapperX<CrmContractProduct
20 20 return selectList(new LambdaQueryWrapperX<CrmContractProductDO>().eq(CrmContractProductDO::getContractId, contractId));
21 21 }
22 22  
  23 + default int deleteByContractId(Long contractId) {
  24 + return delete(new LambdaQueryWrapperX<CrmContractProductDO>().eq(CrmContractProductDO::getContractId, contractId));
  25 + }
  26 +
23 27 }
... ...
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java
... ... @@ -240,7 +240,9 @@ public class CrmContractServiceImpl implements CrmContractService {
240 240  
241 241 // 2.1 删除合同
242 242 contractMapper.deleteById(id);
243   - // 2.2 删除数据权限
  243 + // 2.2 删除合同产品明细,避免残留明细仍计入产品引用计数、把关联产品的删除路径锁死
  244 + contractProductMapper.deleteByContractId(id);
  245 + // 2.3 删除数据权限
244 246 crmPermissionService.deletePermission(CrmBizTypeEnum.CRM_CONTRACT.getType(), id);
245 247  
246 248 // 3. 记录操作日志上下文
... ...