diff --git a/maku-boot-system/src/main/java/net/maku/system/controller/SysOrgController.java b/maku-boot-system/src/main/java/net/maku/system/controller/SysOrgController.java index 2f9c1fc..34787e5 100644 --- a/maku-boot-system/src/main/java/net/maku/system/controller/SysOrgController.java +++ b/maku-boot-system/src/main/java/net/maku/system/controller/SysOrgController.java @@ -4,7 +4,6 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.AllArgsConstructor; -import net.maku.framework.common.constant.Constant; import net.maku.framework.common.utils.Result; import net.maku.framework.operatelog.annotations.OperateLog; import net.maku.framework.operatelog.enums.OperateTypeEnum; @@ -47,7 +46,7 @@ public class SysOrgController { SysOrgVO vo = SysOrgConvert.INSTANCE.convert(entity); // 获取上级机构名称 - if (!Constant.ROOT.equals(entity.getPid())) { + if (entity.getPid() != null) { SysOrgEntity parentEntity = sysOrgService.getById(entity.getPid()); vo.setParentName(parentEntity.getName()); } diff --git a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysOrgServiceImpl.java b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysOrgServiceImpl.java index be600c4..35dd4b3 100644 --- a/maku-boot-system/src/main/java/net/maku/system/service/impl/SysOrgServiceImpl.java +++ b/maku-boot-system/src/main/java/net/maku/system/service/impl/SysOrgServiceImpl.java @@ -1,11 +1,12 @@ package net.maku.system.service.impl; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.AllArgsConstructor; import net.maku.framework.common.constant.Constant; import net.maku.framework.common.exception.ServerException; -import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.framework.common.utils.TreeUtils; +import net.maku.framework.mybatis.service.impl.BaseServiceImpl; import net.maku.system.convert.SysOrgConvert; import net.maku.system.dao.SysOrgDao; import net.maku.system.dao.SysUserDao; @@ -30,89 +31,89 @@ import java.util.Map; @Service @AllArgsConstructor public class SysOrgServiceImpl extends BaseServiceImpl implements SysOrgService { - private final SysUserDao sysUserDao; + private final SysUserDao sysUserDao; - @Override - public List getList() { - Map params = new HashMap<>(); + @Override + public List getList() { + Map params = new HashMap<>(); - // 数据权限 - params.put(Constant.DATA_SCOPE, getDataScope("t1", "id")); + // 数据权限 + params.put(Constant.DATA_SCOPE, getDataScope("t1", "id")); - // 机构列表 - List entityList = baseMapper.getList(params); + // 机构列表 + List entityList = baseMapper.getList(params); - return TreeUtils.build(SysOrgConvert.INSTANCE.convertList(entityList)); - } + return TreeUtils.build(SysOrgConvert.INSTANCE.convertList(entityList)); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void save(SysOrgVO vo) { - SysOrgEntity entity = SysOrgConvert.INSTANCE.convert(vo); + @Override + @Transactional(rollbackFor = Exception.class) + public void save(SysOrgVO vo) { + SysOrgEntity entity = SysOrgConvert.INSTANCE.convert(vo); - baseMapper.insert(entity); - } + baseMapper.insert(entity); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void update(SysOrgVO vo) { - SysOrgEntity entity = SysOrgConvert.INSTANCE.convert(vo); + @Override + @Transactional(rollbackFor = Exception.class) + public void update(SysOrgVO vo) { + SysOrgEntity entity = SysOrgConvert.INSTANCE.convert(vo); - // 上级机构不能为自身 - if(entity.getId().equals(entity.getPid())){ - throw new ServerException("上级机构不能为自身"); - } + // 上级机构不能为自身 + if (entity.getId().equals(entity.getPid())) { + throw new ServerException("上级机构不能为自身"); + } - // 上级机构不能为下级 - List subOrgList = getSubOrgIdList(entity.getId()); - if(subOrgList.contains(entity.getPid())){ - throw new ServerException("上级机构不能为下级"); - } + // 上级机构不能为下级 + List subOrgList = getSubOrgIdList(entity.getId()); + if (subOrgList.contains(entity.getPid())) { + throw new ServerException("上级机构不能为下级"); + } - updateById(entity); - } + updateById(entity); + } - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long id) { - // 判断是否有子机构 - long orgCount = count(new QueryWrapper().eq("pid", id)); - if(orgCount > 0){ - throw new ServerException("请先删除子机构"); - } + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(Long id) { + // 判断是否有子机构 + long orgCount = count(new QueryWrapper().eq("pid", id)); + if (orgCount > 0) { + throw new ServerException("请先删除子机构"); + } - // 判断机构下面是否有用户 - long userCount = sysUserDao.selectCount(new QueryWrapper().eq("org_id", id)); - if(userCount > 0){ - throw new ServerException("机构下面有用户,不能删除"); - } + // 判断机构下面是否有用户 + long userCount = sysUserDao.selectCount(new QueryWrapper().eq("org_id", id)); + if (userCount > 0) { + throw new ServerException("机构下面有用户,不能删除"); + } - // 删除 - removeById(id); - } + // 删除 + removeById(id); + } - @Override - public List getSubOrgIdList(Long id) { - // 所有机构的id、pid列表 - List orgList = baseMapper.getIdAndPidList(); + @Override + public List getSubOrgIdList(Long id) { + // 所有机构的id、pid列表 + List orgList = baseMapper.getIdAndPidList(); - // 递归查询所有子机构ID列表 - List subIdList = new ArrayList<>(); - getTree(id, orgList, subIdList); + // 递归查询所有子机构ID列表 + List subIdList = new ArrayList<>(); + getTree(id, orgList, subIdList); - // 本机构也添加进去 - subIdList.add(id); + // 本机构也添加进去 + subIdList.add(id); - return subIdList; - } + return subIdList; + } - private void getTree(Long id, List orgList, List subIdList) { - for(SysOrgEntity org : orgList){ - if (org.getPid().equals(id)){ - getTree(org.getId(), orgList, subIdList); + private void getTree(Long id, List orgList, List subIdList) { + for (SysOrgEntity org : orgList) { + if (ObjectUtil.equals(org.getPid(), id)) { + getTree(org.getId(), orgList, subIdList); - subIdList.add(org.getId()); - } - } - } + subIdList.add(org.getId()); + } + } + } }