From d6a0a1bb4c7b27a6521c969046cb969b168fa93a Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 07 Jun 2021 10:11:08 +0800
Subject: [PATCH] screen-manage               更新组织删除逻辑,存在站点或者子组织存在站点则无法删除。

---
 screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java |   11 +++++
 screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java                |    4 +
 screen-manage/src/main/java/com/moral/api/service/UserService.java                  |    9 ----
 screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java          |    3 +
 screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java         |   28 --------------
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java |   43 ++++++++++++++++-----
 screen-manage/src/main/java/com/moral/api/controller/UserController.java            |   13 ------
 7 files changed, 50 insertions(+), 61 deletions(-)

diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
index 4aab927..817af9c 100644
--- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
+++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -55,7 +55,9 @@
     VERSION_NOT_EXIST(-41,"���������������"),
     VERSION_EXIST(-42,"������������������"),
     MAC_IS_EXIST(-42,"mac���������"),
-    URL_IS_EXIST(-43,"���������������")
+    URL_IS_EXIST(-43,"���������������"),
+    ORGANIZATION_EXIST_MONITORPOINT(-44,"���������������������������������"),
+    CHILDREN_ORGANIZATION_EXIST_MONITORPOINT(-45,"������������������������������������")
     ;
     private final Integer code;
     private final String  msg;
diff --git a/screen-manage/src/main/java/com/moral/api/controller/UserController.java b/screen-manage/src/main/java/com/moral/api/controller/UserController.java
index 2f9f886..50115ae 100644
--- a/screen-manage/src/main/java/com/moral/api/controller/UserController.java
+++ b/screen-manage/src/main/java/com/moral/api/controller/UserController.java
@@ -66,19 +66,6 @@
         return new ResultMessage(dto.getCode(), dto.getMsg(), null);
     }
 
-    @PostMapping("delete")
-    public ResultMessage delete(@RequestBody UserDeleteForm form){
-
-        //������������������������
-        if (!form.valid())
-            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),
-                    ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
-
-        //������������������
-        UserDTO dto = userService.deleteUser(form);
-
-        return new ResultMessage(dto.getCode(), dto.getMsg(), null);
-    }
 
     @PostMapping("insert")
     public ResultMessage insert(@RequestBody UserInsertForm form){
diff --git a/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java b/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java
index d5e0349..d617135 100644
--- a/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -30,4 +31,6 @@
 
     Map<String,Object> getMonitorPointByFuzzy(Map map);
 
+    List<MonitorPoint> getMonitorPointsByOrganizationId(Integer organizationId);
+
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/UserService.java b/screen-manage/src/main/java/com/moral/api/service/UserService.java
index 86b437e..a453dd8 100644
--- a/screen-manage/src/main/java/com/moral/api/service/UserService.java
+++ b/screen-manage/src/main/java/com/moral/api/service/UserService.java
@@ -38,15 +38,6 @@
     UserDTO updateUser(UserUpdateForm form);
 
     /**
-    * @Description: ���������������admin������
-            * @Param: [form]
-            * @return: com.moral.api.pojo.dto.user.UserDTO
-            * @Author: ���������
-            * @Date: 2021/5/20
-            */
-    UserDTO deleteUser(UserDeleteForm form);
-
-    /**
     * @Description: ���������������admin������
             * @Param: [form]
             * @return: com.moral.api.pojo.dto.user.UserDTO
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
index 02ded37..a589883 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
@@ -347,6 +347,17 @@
         return resultMap;
     }
 
+    @Override
+    public List<MonitorPoint> getMonitorPointsByOrganizationId(Integer organizationId) {
+        QueryWrapper<MonitorPoint> monitorPointQueryWrapper = new QueryWrapper<>();
+        MonitorPoint monitorPoint = new MonitorPoint();
+        monitorPoint.setOrganizationId(organizationId);
+        monitorPoint.setIsDelete(Constants.NOT_DELETE);
+        monitorPointQueryWrapper.setEntity(monitorPoint);
+        List<MonitorPoint> monitorPoints = monitorPointMapper.selectList(monitorPointQueryWrapper);
+        return monitorPoints;
+    }
+
     /**
      * @Description: ���������������
      * @Param: [areaArr, menu]menuMap���key���menuid���value���menu
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
index 54c25ba..5e40443 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java
@@ -6,14 +6,17 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.moral.api.config.mybatis.wrapper.NullFilterWrapper;
+import com.moral.api.entity.MonitorPoint;
 import com.moral.api.entity.Organization;
 import com.moral.api.entity.User;
+import com.moral.api.mapper.MonitorPointMapper;
 import com.moral.api.mapper.OrganizationMapper;
 import com.moral.api.mapper.UserMapper;
 import com.moral.api.pojo.dto.organization.OrganizationDTO;
 import com.moral.api.pojo.dto.organization.OrganizationQueryDTO;
 import com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO;
 import com.moral.api.pojo.form.organization.*;
+import com.moral.api.service.MonitorPointService;
 import com.moral.api.service.OrganizationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.service.UserService;
@@ -57,6 +60,9 @@
 
     @Autowired
     UserMapper userMapper;
+
+    @Autowired
+    MonitorPointService monitorPointService;
 
     Map<String, String> organizationFormMap;
 
@@ -166,6 +172,14 @@
         //������
         Integer id = form.getOrganizationId();
 
+        //������������������������������
+        List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByOrganizationId(id);
+        if(!ObjectUtils.isEmpty(monitorPoints)){
+            dto.setCode(ResponseCodeEnum.ORGANIZATION_EXIST_MONITORPOINT.getCode());
+            dto.setMsg(ResponseCodeEnum.ORGANIZATION_EXIST_MONITORPOINT.getMsg());
+            return dto;
+        }
+
         //������������������������������������������
         Organization existOrganization = new Organization();
         existOrganization.setIsDelete(Constants.NOT_DELETE);
@@ -179,18 +193,9 @@
             return dto;
         }
 
-        //������������������
-        UpdateWrapper deleteWrapper = new UpdateWrapper();
-        deleteWrapper.eq("id", id);
-        deleteWrapper.set("is_delete", Constants.DELETE);
-        organizationMapper.update(null, deleteWrapper);
-
-        //������������������
-        userService.deleteUsersByOrganizationId(id);
-
         //���������������������������
         List<Organization> children = getAllChildrenOrganization(existOrganization.getId());
-        if (!ObjectUtils.isEmpty(children)) {//���������������������
+        if (!ObjectUtils.isEmpty(children)) {
             //���������������������������������������������������������������������������������������������������������������������������
             UpdateWrapper updateWrapper = new UpdateWrapper();
             if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG)) {//���������������������
@@ -199,6 +204,15 @@
                 children.forEach(value -> {
                     childrenId.add(value.getId());
                 });
+                //���������������������������������������������������������������������������������
+                for (Integer childId : childrenId) {
+                    List<MonitorPoint> childMonitorPoints = monitorPointService.getMonitorPointsByOrganizationId(childId);
+                    if(!ObjectUtils.isEmpty(childMonitorPoints)){
+                        dto.setCode(ResponseCodeEnum.CHILDREN_ORGANIZATION_EXIST_MONITORPOINT.getCode());
+                        dto.setMsg(ResponseCodeEnum.CHILDREN_ORGANIZATION_EXIST_MONITORPOINT.getMsg());
+                        return dto;
+                    }
+                }
                 //������������
                 updateWrapper.in("id", childrenId);
                 updateWrapper.set("is_delete", Constants.DELETE);
@@ -220,6 +234,15 @@
             }
         }
 
+        //������������������
+        UpdateWrapper deleteWrapper = new UpdateWrapper();
+        deleteWrapper.eq("id", id);
+        deleteWrapper.set("is_delete", Constants.DELETE);
+        organizationMapper.update(null, deleteWrapper);
+
+        //������������������
+        userService.deleteUsersByOrganizationId(id);
+
         //������������������
         dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
index fe313f3..054185d 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -214,34 +214,6 @@
         return dto;
     }
 
-    @Override
-    @Transactional
-    public UserDTO deleteUser(UserDeleteForm form) {
-        //������������������
-        UserDTO dto = new UserDTO();
-        //������
-        Integer id = form.getId();
-        //������������������
-        User user = new User();
-        user.setIsDelete(Constants.DELETE);
-        user.setId(id);
-        //������������
-        userMapper.updateById(user);
-        //������user_group
-        UpdateWrapper deleteUserGroupWrapper = new UpdateWrapper();
-        deleteUserGroupWrapper.eq("user_id", id);
-        deleteUserGroupWrapper.set("is_delete", Constants.DELETE);
-        userGroupMapper.update(null, deleteUserGroupWrapper);
-        //���������������admin������������
-        UpdateWrapper updateOrgWrapper = new UpdateWrapper();
-        updateOrgWrapper.eq("admin_user_id", user.getId());
-        updateOrgWrapper.set("admin_user_id", 0);
-        organizationMapper.update(null, updateOrgWrapper);
-        //������������������
-        dto.setCode(ResponseCodeEnum.SUCCESS.getCode());
-        dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
-        return dto;
-    }
 
     @Override
     @Transactional

--
Gitblit v1.8.0