From 84e025cbcc1d1251be9372662be80c159cef3180 Mon Sep 17 00:00:00 2001 From: Yu Date: Thu, 2 Dec 2021 15:24:17 +0800 Subject: [PATCH] #523 fix delete organ bug --- .../cc/controller/admin/OrganController.java | 33 ++++++++++--------- .../resources/templates/admin/organ/index.pug | 14 ++++---- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/OrganController.java b/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/OrganController.java index a061182f..c0580612 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/OrganController.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/controller/admin/OrganController.java @@ -16,7 +16,6 @@ */ package com.chatopera.cc.controller.admin; -import com.alibaba.fastjson.JSONArray; import com.chatopera.cc.basic.Constants; import com.chatopera.cc.cache.Cache; import com.chatopera.cc.controller.Handler; @@ -111,11 +110,13 @@ public class OrganController extends Handler { false)); // 处理附属组织 - final Map affiliates = organProxy.findAllOrganByParentAndOrgi(organData, super.getOrgi()); + final Map affiliates = organProxy.findAllOrganByParentAndOrgi(organData, + super.getOrgi()); List affiliateUsers = new ArrayList<>(); for (final Map.Entry o : affiliates.entrySet()) { - if (StringUtils.equals(o.getKey(), organData.getId())) continue; + if (StringUtils.equals(o.getKey(), organData.getId())) + continue; List ousers = userProxy.findByOrganAndOrgiAndDatastatus( o.getKey(), super.getOrgi(), @@ -163,7 +164,7 @@ public class OrganController extends Handler { String msg = "admin_organ_new_success"; String firstId = null; if (tempOrgan != null) { - msg = "admin_organ_update_name_not"; //分类名字重复 + msg = "admin_organ_update_name_not"; // 分类名字重复 } else { organ.setOrgi(super.getOrgi()); firstId = organ.getId(); @@ -185,7 +186,8 @@ public class OrganController extends Handler { @RequestMapping("/seluser") @Menu(type = "admin", subtype = "seluser", admin = true) public ModelAndView seluser(ModelMap map, HttpServletRequest request, @Valid String organ) { - Map organs = organProxy.findAllOrganByParentAndOrgi(super.getOrgan(request), super.getOrgi(request)); + Map organs = organProxy.findAllOrganByParentAndOrgi(super.getOrgan(request), + super.getOrgi(request)); map.addAttribute("userList", userProxy.findUserInOrgans(organs.keySet())); Organ organData = organRepository.findByIdAndOrgi(organ, super.getOrgi()); map.addAttribute("userOrganList", userProxy @@ -194,7 +196,6 @@ public class OrganController extends Handler { return request(super.createView("/admin/organ/seluser")); } - /** * 执行添加用户到组织中 * @@ -208,8 +209,7 @@ public class OrganController extends Handler { public ModelAndView saveuser( HttpServletRequest request, final @Valid String[] users, - final @Valid String organ - ) { + final @Valid String organ) { logger.info("[saveuser] save users {} into organ {}", StringUtils.join(users, ","), organ); final User loginUser = super.getUser(request); @@ -271,15 +271,15 @@ public class OrganController extends Handler { public ModelAndView userroledelete( final HttpServletRequest request, final @Valid String id, - final @Valid String organ - ) { + final @Valid String organ) { logger.info("[userroledelete] user id {}, organ {}", id, organ); if (id != null) { List organUsers = organUserRes.findByUserid(id); if (organUsers.size() > 1) { organUserRes.deleteOrganUserByUseridAndOrgan(id, organ); } else { - return request(super.createView("redirect:/admin/organ/index.html?organ=" + organ + "&msg=not_allow_remove_user")); + return request(super.createView( + "redirect:/admin/organ/index.html?organ=" + organ + "&msg=not_allow_remove_user")); } } return request(super.createView("redirect:/admin/organ/index.html?organ=" + organ)); @@ -320,7 +320,6 @@ public class OrganController extends Handler { return request(super.createView("/admin/organ/area")); } - @RequestMapping("/area/update") @Menu(type = "admin", subtype = "organ") public ModelAndView areaupdate(HttpServletRequest request, @Valid Organ organ) { @@ -347,11 +346,13 @@ public class OrganController extends Handler { msg = "admin_oran_not_delete"; } else if (organ != null) { List organUsers = organUserRes.findByOrgan(organ.getId()); - organUserRes.deleteInBatch(organUsers); - organRepository.delete(organ); - } else { - msg = "admin_organ_not_exist"; + if (organUsers.size() > 0) { + msg = "admin_oran_not_empty"; + } else { + organRepository.delete(organ); + } } + return request(super.createView("redirect:/admin/organ/index.html?msg=" + msg)); } diff --git a/contact-center/app/src/main/resources/templates/admin/organ/index.pug b/contact-center/app/src/main/resources/templates/admin/organ/index.pug index 4dd071a1..cc472f71 100644 --- a/contact-center/app/src/main/resources/templates/admin/organ/index.pug +++ b/contact-center/app/src/main/resources/templates/admin/organ/index.pug @@ -165,17 +165,19 @@ block content var layer = layui.layer; var msg = '#{msg}'; if (msg == 'admin_organ_update_name_not') { - layer.msg('组织机构分类名已存在!', {icon: 2, time: 1500}) + layer.msg('组织机构分类名已存在!', {icon: 2, time: 2000}) } else if (msg == 'admin_oran_not_delete') { - layer.msg('无法删除,因为存在子组织', {icon: 2, time: 1500}) + layer.msg('无法删除,因为存在子组织', {icon: 2, time: 2000}) + } else if (msg == 'admin_oran_not_empty') { + layer.msg('无法删除,因为组织下存在用户', {icon: 2, time: 2000}) } else if (msg == 'admin_organ_update_success') { - layer.msg('修改组织成功', {icon: 1, time: 1500}) + layer.msg('修改组织成功', {icon: 1, time: 2000}) } else if (msg == 'admin_organ_new_success') { - layer.msg('新建组织成功', {icon: 1, time: 1500}) + layer.msg('新建组织成功', {icon: 1, time: 2000}) } else if (msg == 'admin_organ_update_not_standard') { - layer.msg('修改无法完成,上级机构选择错误', {icon: 2, time: 1500}) + layer.msg('修改无法完成,上级机构选择错误', {icon: 2, time: 2000}) } else if (msg == 'not_allow_remove_user') { - layer.msg('用户只有一个组织,不允许移除', {icon: 2, time: 1500}) + layer.msg('用户只有一个组织,不允许移除', {icon: 2, time: 2000}) } });