Browse Source

删除部门时判断是否有账号关联

FengChaoYu 9 months ago
parent
commit
c3a6d2dede

+ 15 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminWebsitLogic.java

@@ -328,6 +328,12 @@ public class AdminWebsitLogic {
         if (count > 0) {
             throw new RemoteServiceException("当前部门存在子级,删除失败");
         }
+        final Integer existUserCount = adminUserWebsitRelaService.lambdaQuery()
+                .eq(AdminUserWebsitRela::getAdminWebsitId, websitId)
+                .count();
+        if (existUserCount > 0) {
+            throw new RemoteServiceException("当前部门存在与账号绑定关系,删除失败");
+        }
         AdminUserCom adminUser = commonLogic.getAdminUser(request);
         final AdminWebsit adminWebsit = adminWebsitService.getById(websitId);
         // 普通网点连带删除辅材配件仓
@@ -347,6 +353,15 @@ public class AdminWebsitLogic {
 //            for(String idd : ids){
 //                workWechatLogic.deleteOrganization(idd,adminUser.getAdminCompanyWechat());
 //            }
+            for (String id : ids) {
+                final Integer existSubUserCount = adminUserWebsitRelaService.lambdaQuery()
+                        .eq(AdminUserWebsitRela::getAdminWebsitId, id)
+                        .count();
+
+                if (existSubUserCount > 0) {
+                    throw new RemoteServiceException(id + "部门的子级存在与账号绑定关系,删除失败");
+                }
+            }
             adminWebsitService.lambdaUpdate().in(AdminWebsit::getWebsitId, ids).remove();
         }