From c38bc07eda8c63c058070e6448b1c43466f83db0 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 19 Oct 2021 11:23:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug=2040921=20=E5=B7=A5=E4=BD=9C=E7=BB=84?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE--=E6=96=B0=E5=A2=9E--=E8=B4=9F=E8=B4=A3?= =?UTF-8?q?=E4=BA=BA=E5=9B=9E=E6=98=BE=E6=98=AF=E7=BB=84=E7=BB=87=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E4=B8=BAnull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysDepartController.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java index b78d396f..6d030a4d 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.SysDepartTreeModel; import com.jero.common.util.ValidUtil; import com.jero.modules.system.model.SysDepartExcel; @@ -222,7 +223,11 @@ public class SysDepartController { if(sysDepart==null) { result.error500("未找到对应实体"); }else { - boolean ok = sysDepartService.delete(id); + List sysUsers = sysUserDepartService.queryUserByDepId(id); + if (!sysUsers.isEmpty()){ + throw new JeroBootException("删除部门失败,部门下存在未删除用户"); + } + boolean ok = sysDepartService.delete(id); if(ok) { //清除部门树内存 //FindsDepartsChildrenUtil.clearSysDepartTreeList(); @@ -250,7 +255,19 @@ public class SysDepartController { if (ids == null || "".equals(ids.trim())) { result.error500("参数不识别!"); } else { - this.sysDepartService.deleteBatchWithChildren(Arrays.asList(ids.split(","))); + List depNames = new ArrayList<>(); + List idList = Arrays.asList(ids.split(",")); + for (String id : idList) { + List sysUsers = sysUserDepartService.queryUserByDepId(id); + if (!sysUsers.isEmpty()){ + SysDepart sysDepart = sysDepartService.getById(id); + depNames.add(sysDepart.getDepartName()); + } + } + if (!depNames.isEmpty()) { + throw new JeroBootException(depNames + "删除部门失败,部门下存在未删除用户"); + } + this.sysDepartService.deleteBatchWithChildren(idList); result.success("删除成功!"); } return result;