diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java index b685f59..19a83b2 100644 --- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java +++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java @@ -71,10 +71,12 @@ public class CrmProductCategoryServiceImpl implements CrmProductCategoryService productCategoryMapper.updateById(updateObj); } - private void validateProductCategoryExists(Long id) { - if (productCategoryMapper.selectById(id) == null) { + private CrmProductCategoryDO validateProductCategoryExists(Long id) { + CrmProductCategoryDO productCategory = productCategoryMapper.selectById(id); + if (productCategory == null) { throw exception(PRODUCT_CATEGORY_NOT_EXISTS); } + return productCategory; } private void validateParentProductCategory(Long id) { @@ -107,7 +109,7 @@ public class CrmProductCategoryServiceImpl implements CrmProductCategoryService success = CRM_PRODUCT_CATEGORY_DELETE_SUCCESS) public void deleteProductCategory(Long id) { // 1.1 校验存在 - validateProductCategoryExists(id); + CrmProductCategoryDO productCategory = validateProductCategoryExists(id); // 1.2 校验是否还有子分类 if (productCategoryMapper.selectCountByParentId(id) > 0) { throw exception(PRODUCT_CATEGORY_EXISTS_CHILDREN); @@ -118,6 +120,9 @@ public class CrmProductCategoryServiceImpl implements CrmProductCategoryService } // 2. 删除 productCategoryMapper.deleteById(id); + + // 3. 记录操作日志上下文 + LogRecordContext.putVariable("productCategory", productCategory); } @Override diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java index fbb2b16..785fa22 100644 --- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java +++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java @@ -136,7 +136,7 @@ public class CrmProductServiceImpl implements CrmProductService { @CrmPermission(bizType = CrmBizTypeEnum.CRM_PRODUCT, bizId = "#id", level = CrmPermissionLevelEnum.OWNER) public void deleteProduct(Long id) { // 校验存在 - validateProductExists(id); + CrmProductDO product = validateProductExists(id); // 校验未被合同/商机引用,避免删除后产生悬空引用 if (contractService.getContractProductCountByProductId(id) > 0) { throw exception(PRODUCT_DELETE_FAIL_CONTRACT_EXISTS); @@ -147,6 +147,9 @@ public class CrmProductServiceImpl implements CrmProductService { // 删除 productMapper.deleteById(id); + + // 记录操作日志上下文 + LogRecordContext.putVariable("product", product); } @Override