From 1bf379d02afceac7fb1a64f7ddc6547025ab54af Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 17 Jun 2022 12:41:40 +0800
Subject: [PATCH] 20220606

---
 src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CompanyServiceImpl.java |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CompanyServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CompanyServiceImpl.java
index 27a5279..a9b6e90 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CompanyServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CompanyServiceImpl.java
@@ -12,8 +12,10 @@
 import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto;
 import com.xcong.farmer.cms.modules.system.dto.AdminUpdateCompanyDto;
 import com.xcong.farmer.cms.modules.system.entity.CompanyEntity;
+import com.xcong.farmer.cms.modules.system.entity.MenuEntity;
+import com.xcong.farmer.cms.modules.system.entity.RoleEntity;
 import com.xcong.farmer.cms.modules.system.entity.UserEntity;
-import com.xcong.farmer.cms.modules.system.mapper.CompanyMapper;
+import com.xcong.farmer.cms.modules.system.mapper.*;
 import com.xcong.farmer.cms.modules.system.service.ICompanyService;
 import com.xcong.farmer.cms.modules.system.util.LoginUserUtil;
 import com.xcong.farmer.cms.modules.system.vo.AdminCompanyVo;
@@ -28,9 +30,23 @@
 import cn.hutool.core.util.ObjectUtil;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
+
 @Service
 @Slf4j
 public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, CompanyEntity> implements ICompanyService {
+
+    @Resource
+    private RoleMapper roleMapper;
+    @Resource
+    private UserRoleMapper userRoleMapper;
+    @Resource
+    private RoleMenuMapper roleMenuMapper;
+    @Resource
+    private MenuMapper menuMapper;
+    @Resource
+    private UserMapper userMapper;
+
     @Override
     public Result getBelongInPage(AdminBelongDto adminBelongDto) {
         UserEntity userlogin = LoginUserUtil.getLoginUser();
@@ -138,6 +154,7 @@
     }
 
     @Override
+    @Transactional
     public Result delObjs(AdminDeleteDto adminDeleteDto) {
         String ids = adminDeleteDto.getIds();
         UserEntity userlogin = LoginUserUtil.getLoginUser();
@@ -148,6 +165,18 @@
             String[] companyIds = ids.split(StringPool.COMMA);
             for(String companyIdStr : companyIds){
                 Long companyId = Long.valueOf(companyIdStr);
+                QueryWrapper<UserEntity> userQueryWrapper = new QueryWrapper<>();
+                userQueryWrapper.eq("company_id",companyId);
+                List<UserEntity> userEntities = userMapper.selectList(userQueryWrapper);
+                if(CollUtil.isNotEmpty(userEntities)){
+                    return Result.fail("请先清空属于该公司的用户");
+                }
+                QueryWrapper<RoleEntity> roleQueryWrapper = new QueryWrapper<>();
+                roleQueryWrapper.eq("company_id",companyId);
+                List<RoleEntity> roleEntities = roleMapper.selectList(roleQueryWrapper);
+                if(CollUtil.isNotEmpty(roleEntities)){
+                    return Result.fail("请先清空属于该公司的角色");
+                }
                 this.baseMapper.deleteById(companyId);
             }
         }

--
Gitblit v1.9.1