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; 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){ 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); } 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 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 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()); 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