Преглед изворни кода

新增供应商删除校验

赵冬冬 пре 4 година
родитељ
комит
7dcab4d399

+ 8 - 0
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/dao/UmsCompanyInfoDao.java

@@ -0,0 +1,8 @@
+package com.hwrj.cloud.admin.dao;
+
+import org.mapstruct.Mapper;
+
+@Mapper
+public interface UmsCompanyInfoDao {
+    long deleteCheck(Long id);
+}

+ 7 - 4
forest-admin/admin-server/src/main/java/com/hwrj/cloud/admin/service/impl/UmsCompanyInfoServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.util.StringUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.hwrj.cloud.admin.dao.UmsCompanyInfoDao;
 import com.hwrj.cloud.admin.dao.UmsCompanyShopDao;
 import com.hwrj.cloud.admin.dto.UmsCompanyDto;
 import com.hwrj.cloud.admin.excelEntity.UmsCompanyInfoExcel;
@@ -79,17 +80,19 @@ public class UmsCompanyInfoServiceImpl implements UmsCompanyService {
         umsCompanyInfoMapper.updateByPrimaryKeySelective(umsCompanyInfo);
 
     }
-
+    @Autowired
+    private UmsCompanyInfoDao umsCompanyInfoDao;
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void delete(Long id) {
+        long i = umsCompanyInfoDao.deleteCheck(id);
+        if(i>0){
+            throw new GlobalException("该供应商的数据被用户~生产地~商品所引用无法删除!");
+        }
         UmsCompanyInfo info = new UmsCompanyInfo();
         info.setCompStatus(2);
         info.setId(id);
-
         umsCompanyInfoMapper.updateByPrimaryKeySelective(info);
-
-
     }
 
     @Override

+ 40 - 0
forest-admin/admin-server/src/main/resources/dao/UmsCompanyInfoDao.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.hwrj.cloud.admin.dao.UmsCompanyInfoDao">
+    <select id="deleteCheck" resultType="java.lang.Long">
+       SELECT
+            SUM(tmp.renum)
+        FROM
+            (
+                (
+                    SELECT
+                        COUNT(0) AS renum
+                    FROM
+                        pms_product a
+                    WHERE
+                        a.delete_status = 0
+                    AND a.comp_id = #{id}
+                )
+                UNION ALL
+                    (
+                        SELECT
+                            COUNT(0) AS renum
+                        FROM
+                            ums_admin a
+                        WHERE
+                            1=1
+                        AND a.comp_id = #{id}
+                    )
+                UNION ALL
+                    (
+                        SELECT
+                            COUNT(0) AS renum
+                        FROM
+                            ums_member_origin a
+                        WHERE
+                            1 = 1
+                        AND a.comp_id = #{id}
+                    )
+            ) tmp
+    </select>
+</mapper>