shudonghui 1 year ago
parent
commit
b1bc8d45b9

+ 11 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysCustomServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.sop.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -10,10 +11,12 @@ import com.qmth.sop.business.bean.result.SysCustomResult;
 import com.qmth.sop.business.entity.SysCustom;
 import com.qmth.sop.business.entity.SysCustomAddr;
 import com.qmth.sop.business.entity.SysUser;
+import com.qmth.sop.business.entity.TBCrm;
 import com.qmth.sop.business.mapper.SysCustomMapper;
 import com.qmth.sop.business.service.SysCustomAddrService;
 import com.qmth.sop.business.service.SysCustomService;
 import com.qmth.sop.business.service.SysLevelRoleService;
+import com.qmth.sop.business.service.TBCrmService;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
 import com.qmth.sop.common.enums.FieldUniqueEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;
@@ -24,6 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
@@ -44,6 +48,9 @@ public class SysCustomServiceImpl extends ServiceImpl<SysCustomMapper, SysCustom
     @Resource
     SysCustomAddrService sysCustomAddrService;
 
+    @Resource
+    TBCrmService tbCrmService;
+
     /**
      * 查询列表
      *
@@ -87,7 +94,7 @@ public class SysCustomServiceImpl extends ServiceImpl<SysCustomMapper, SysCustom
         } catch (Exception e) {
             if (e instanceof DuplicateKeyException) {
                 String errorColumn = e.getCause().toString();
-                String columnStr = errorColumn.substring(errorColumn.lastIndexOf("key") + 3, errorColumn.length()).replaceAll("'", "");
+                String columnStr = errorColumn.substring(errorColumn.lastIndexOf("key") + 3).replaceAll("'", "");
                 throw ExceptionResultEnum.SQL_ERROR.exception("[" + FieldUniqueEnum.convertToTitle(columnStr) + "]数据不允许重复插入");
             } else if (e instanceof ApiException) {
                 ResultUtil.error((ApiException) e, ((ApiException) e).getCode(), e.getMessage());
@@ -103,6 +110,9 @@ public class SysCustomServiceImpl extends ServiceImpl<SysCustomMapper, SysCustom
     @Override
     @Transactional
     public void delete(Long id) {
+        List<TBCrm> list = tbCrmService.list(new LambdaQueryWrapper<TBCrm>().eq(TBCrm::getCustomId, id));
+        if(!list.isEmpty())
+            throw ExceptionResultEnum.ERROR.exception("该客户下已有业务,不能删除");
         this.removeById(id);
     }