Bläddra i källkod

refactor:系统配置、部门管理接口实现修改

xiwa 2 år sedan
förälder
incheckning
d54f520d98

+ 21 - 2
iot-common/iot-common-core/src/main/java/cc/iotkit/common/utils/MapstructUtils.java

@@ -1,5 +1,6 @@
 package cc.iotkit.common.utils;
 
+import cc.iotkit.common.api.Paging;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -8,6 +9,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.springframework.util.Assert;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -30,8 +32,8 @@ public class MapstructUtils {
      * @return desc
      */
     public static <T, V> V convert(T source, Class<V> desc) {
-        Assert.notNull(source,"source is null");
-        Assert.notNull(desc,"desc is null");
+        Assert.notNull(source, "source is null");
+        Assert.notNull(desc, "desc is null");
         return CONVERTER.convert(source, desc);
     }
 
@@ -86,4 +88,21 @@ public class MapstructUtils {
         return CONVERTER.convert(map, beanClass);
     }
 
+    /**
+     * 转换分页对象
+     *
+     * @param source 数据来源
+     * @param desc   描述对象 转换后的对象
+     * @return desc
+     */
+    public static <T, V> Paging<V> convert(Paging<T> source, Class<V> desc) {
+        if (ObjectUtil.isNull(source)) {
+            return null;
+        }
+        if (CollUtil.isEmpty(source.getData())) {
+            return new Paging<>(0, new ArrayList<>());
+        }
+        return new Paging<>(source.getTotal(), CONVERTER.convert(source.getData(), desc));
+    }
+
 }

+ 34 - 0
iot-common/iot-common-core/src/main/java/cc/iotkit/common/utils/TreeBuildUtils.java

@@ -0,0 +1,34 @@
+package cc.iotkit.common.utils;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.tree.Tree;
+import cn.hutool.core.lang.tree.TreeNodeConfig;
+import cn.hutool.core.lang.tree.TreeUtil;
+import cn.hutool.core.lang.tree.parser.NodeParser;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 扩展 hutool TreeUtil 封装系统树构建
+ *
+ * @author Lion Li
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public class TreeBuildUtils extends TreeUtil {
+
+    /**
+     * 根据前端定制差异化字段
+     */
+    public static final TreeNodeConfig DEFAULT_CONFIG = TreeNodeConfig.DEFAULT_CONFIG.setNameKey("label");
+
+    public static <T, K> List<Tree<K>> build(List<T> list, NodeParser<T, K> nodeParser) {
+        if (CollUtil.isEmpty(list)) {
+            return null;
+        }
+        K k = ReflectUtils.invokeGetter(list.get(0), "parentId");
+        return TreeUtil.build(list, k, DEFAULT_CONFIG, nodeParser);
+    }
+
+}

+ 5 - 1
iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysConfigData.java

@@ -1,5 +1,6 @@
 package cc.iotkit.data.system;
 
+import cc.iotkit.common.api.Paging;
 import cc.iotkit.data.ICommonData;
 import cc.iotkit.model.system.SysConfig;
 
@@ -10,5 +11,8 @@ import cc.iotkit.model.system.SysConfig;
  */
 public interface ISysConfigData extends ICommonData<SysConfig, Long> {
 
-    SysConfig selectPageConfigList(SysConfig query);
+    Paging<SysConfig> findConfigs(SysConfig query);
+
+    SysConfig findByConfigKey(String configKey);
+
 }

+ 8 - 0
iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysDeptData.java

@@ -20,6 +20,14 @@ public interface ISysDeptData extends ICommonData<SysDept, Long> {
     Paging<SysDept> findByConditions(Long parentId, String deptName,
                                      String status, int page, int size);
 
+    /**
+     * 复合备件查询
+     *
+     * @param dept dept
+     * @return list
+     */
+    List<SysDept> findDepts(SysDept dept);
+
     /**
      * 根据角色ID查询部门树信息
      *

+ 4 - 1
iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysRoleData.java

@@ -1,9 +1,12 @@
 package cc.iotkit.data.system;
 
+import cc.iotkit.data.ICommonData;
+import cc.iotkit.model.system.SysRole;
+
 /**
  * 操作日志数据接口
  *
  * @author sjg
  */
-public interface ISysRoleData {
+public interface ISysRoleData extends ICommonData<SysRole, Long> {
 }

+ 13 - 1
iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysUserData.java

@@ -1,9 +1,21 @@
 package cc.iotkit.data.system;
 
+import cc.iotkit.data.ICommonData;
+import cc.iotkit.model.system.SysUser;
+
 /**
  * 操作日志数据接口
  *
  * @author sjg
  */
-public interface ISysUserData {
+public interface ISysUserData extends ICommonData<SysUser, Long> {
+
+    /**
+     * 按部门统计数量
+     *
+     * @param deptId 部门id
+     * @return 数量
+     */
+    long countByDeptId(Long deptId);
+    
 }

+ 1 - 1
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysConfigDataImpl.java

@@ -65,7 +65,7 @@ public class SysConfigDataImpl implements ISysConfigData {
 
 
     @Override
-    public SysConfig selectPageConfigList(SysConfig query) {
+    public Paging<SysConfig> findConfigs(SysConfig query) {
         return null;
     }
 }

+ 1 - 1
iot-module/iot-system/src/main/java/cc/iotkit/system/dto/bo/SysConfigBo.java

@@ -24,7 +24,7 @@ public class SysConfigBo extends BaseDto {
      * 参数主键
      */
     @NotNull(message = "参数主键不能为空", groups = {EditGroup.class})
-    private Long configId;
+    private Long id;
 
     /**
      * 参数名称

+ 1 - 1
iot-module/iot-system/src/main/java/cc/iotkit/system/dto/vo/SysConfigVo.java

@@ -2,9 +2,9 @@ package cc.iotkit.system.dto.vo;
 
 import cc.iotkit.common.excel.annotation.ExcelDictFormat;
 import cc.iotkit.common.excel.convert.ExcelDictConvert;
+import cc.iotkit.model.system.SysConfig;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
-import cc.iotkit.system.dto.SysConfig;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 

+ 3 - 6
iot-module/iot-system/src/main/java/cc/iotkit/system/service/ISysDeptService.java

@@ -96,23 +96,20 @@ public interface ISysDeptService {
      * 新增保存部门信息
      *
      * @param bo 部门信息
-     * @return 结果
      */
-    int insertDept(SysDeptBo bo);
+    void insertDept(SysDeptBo bo);
 
     /**
      * 修改保存部门信息
      *
      * @param bo 部门信息
-     * @return 结果
      */
-    int updateDept(SysDeptBo bo);
+    void updateDept(SysDeptBo bo);
 
     /**
      * 删除部门管理信息
      *
      * @param deptId 部门ID
-     * @return 结果
      */
-    int deleteDeptById(Long deptId);
+    void deleteDeptById(Long deptId);
 }

+ 43 - 34
iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysConfigServiceImpl.java

@@ -3,7 +3,9 @@ package cc.iotkit.system.service.impl;
 import cc.iotkit.common.api.PageRequest;
 import cc.iotkit.common.constant.CacheNames;
 
+import cc.iotkit.common.constant.UserConstants;
 import cc.iotkit.common.exception.BizException;
+import cc.iotkit.common.redis.utils.CacheUtils;
 import cc.iotkit.common.service.ConfigService;
 import cc.iotkit.common.utils.MapstructUtils;
 import cc.iotkit.common.utils.SpringUtils;
@@ -19,8 +21,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import cc.iotkit.common.api.Paging;
+
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -35,10 +37,10 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
     @Autowired
     private ISysConfigData sysConfigData;
 
-
     @Override
     public Paging<SysConfigVo> selectPageConfigList(PageRequest<SysConfigBo> query) {
-        return MapstructUtils.convert(sysConfigData.selectPageConfigList(MapstructUtils.convert(query.getData(), SysConfig.class)),SysConfigVo.class);
+        SysConfig sysConfig = MapstructUtils.convert(query.getData(), SysConfig.class);
+        return MapstructUtils.convert(sysConfigData.findConfigs(sysConfig), SysConfigVo.class);
     }
 
     /**
@@ -49,8 +51,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
      */
     @Override
     public SysConfigVo selectConfigById(Long configId) {
-//        return baseMapper.selectVoById(configId);
-        return new SysConfigVo();
+        return MapstructUtils.convert(sysConfigData.findById(configId), SysConfigVo.class);
     }
 
     /**
@@ -61,16 +62,16 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
      */
     @Override
     public String selectConfigByKey(String configKey) {
-//        SysConfig retConfig = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>()
-//            .eq(SysConfig::getConfigKey, configKey));
-//        if (ObjectUtil.isNotNull(retConfig)) {
-//            return retConfig.getConfigValue();
-//        }
+        SysConfig sysConfig = sysConfigData.findByConfigKey(configKey);
+        if (ObjectUtil.isNotNull(sysConfig)) {
+            return sysConfig.getConfigValue();
+        }
         return StringUtils.EMPTY;
     }
 
     /**
      * 获取注册开关
+     *
      * @param tenantId 租户id
      * @return true开启,false关闭
      */
@@ -135,22 +136,33 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
 //    @CachePut(cacheNames = CacheNames.SYS_CONFIG, key = "#bo.configKey")
     @Override
     public String updateConfig(SysConfigBo bo) {
-        int row = 0;
+//        int row = 0;
+//        SysConfig config = MapstructUtils.convert(bo, SysConfig.class);
+//        if (config.getId() != null) {
+//            SysConfig temp = sysConfigData.selectById(config.getConfigId());
+//            if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) {
+//                CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey());
+//            }
+//            row = baseMapper.updateById(config);
+//        } else {
+//            row = baseMapper.update(config, new LambdaQueryWrapper<SysConfig>()
+//                    .eq(SysConfig::getConfigKey, config.getConfigKey()));
+//        }
+//        if (row > 0) {
+//            return config.getConfigValue();
+//        }
+//        throw new BizException("操作失败");
         SysConfig config = MapstructUtils.convert(bo, SysConfig.class);
-        if (config.getConfigId() != null) {
-            SysConfig temp = baseMapper.selectById(config.getConfigId());
-            if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) {
-                CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey());
+        if (config.getId() == null) {
+            SysConfig old = sysConfigData.findByConfigKey(bo.getConfigKey());
+            if (old == null) {
+                throw new BizException("操作失败,key不存在");
             }
-            row = baseMapper.updateById(config);
-        } else {
-            row = baseMapper.update(config, new LambdaQueryWrapper<SysConfig>()
-                .eq(SysConfig::getConfigKey, config.getConfigKey()));
-        }
-        if (row > 0) {
-            return config.getConfigValue();
+            config.setId(old.getId());
         }
-        throw new BizException("操作失败");
+
+        sysConfigData.save(config);
+        return config.getConfigValue();
     }
 
     /**
@@ -161,13 +173,13 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
     @Override
     public void deleteConfigByIds(Long[] configIds) {
         for (Long configId : configIds) {
-            SysConfig config = baseMapper.selectById(configId);
-            if (StringUtils.equals(UserConstants.YES, config.getConfigType())) {
-                throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey()));
+            SysConfig old = sysConfigData.findById(configId);
+            if (StringUtils.equals(UserConstants.YES, old.getConfigType())) {
+                throw new BizException(String.format("内置参数【%1$s】不能删除 ", old.getConfigKey()));
             }
-            CacheUtils.evict(CacheNames.SYS_CONFIG, config.getConfigKey());
+//            CacheUtils.evict(CacheNames.SYS_CONFIG, config.getConfigKey());
         }
-        baseMapper.deleteBatchIds(Arrays.asList(configIds));
+        sysConfigData.deleteByIds(configIds);
     }
 
     /**
@@ -186,12 +198,9 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
      */
     @Override
     public boolean checkConfigKeyUnique(SysConfigBo config) {
-        long configId = ObjectUtil.isNull(config.getConfigId()) ? -1L : config.getConfigId();
-        SysConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>().eq(SysConfig::getConfigKey, config.getConfigKey()));
-        if (ObjectUtil.isNotNull(info) && info.getConfigId() != configId) {
-            return false;
-        }
-        return true;
+        long configId = ObjectUtil.isNull(config.getId()) ? -1L : config.getId();
+        SysConfig old = sysConfigData.findByConfigKey(config.getConfigKey());
+        return !ObjectUtil.isNotNull(old) || old.getId() == configId;
     }
 
     /**

+ 32 - 32
iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysDataScopeServiceImpl.java

@@ -21,37 +21,37 @@ import java.util.List;
  */
 @RequiredArgsConstructor
 @Service("sdss")
-public class SysDataScopeServiceImpl implements ISysDataScopeService {
-
-    private final SysRoleDeptMapper roleDeptMapper;
-    private final SysDeptMapper deptMapper;
-
-    @Override
-    public String getRoleCustom(Long roleId) {
-        List<SysRoleDept> list = roleDeptMapper.selectList(
-            new LambdaQueryWrapper<SysRoleDept>()
-                .select(SysRoleDept::getDeptId)
-                .eq(SysRoleDept::getRoleId, roleId));
-        if (CollUtil.isNotEmpty(list)) {
-            return StreamUtils.join(list, rd -> Convert.toStr(rd.getDeptId()));
-        }
-        return null;
-    }
-
-    @Override
-    public String getDeptAndChild(Long deptId) {
-        List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
-            .select(SysDept::getDeptId)
-            .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
-        List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId);
-        ids.add(deptId);
-        List<SysDept> list = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
-            .select(SysDept::getDeptId)
-            .in(SysDept::getDeptId, ids));
-        if (CollUtil.isNotEmpty(list)) {
-            return StreamUtils.join(list, d -> Convert.toStr(d.getDeptId()));
-        }
-        return null;
-    }
+public class SysDataScopeServiceImpl {
+//
+//    private final SysRoleDeptMapper roleDeptMapper;
+//    private final SysDeptMapper deptMapper;
+//
+//    @Override
+//    public String getRoleCustom(Long roleId) {
+//        List<SysRoleDept> list = roleDeptMapper.selectList(
+//            new LambdaQueryWrapper<SysRoleDept>()
+//                .select(SysRoleDept::getDeptId)
+//                .eq(SysRoleDept::getRoleId, roleId));
+//        if (CollUtil.isNotEmpty(list)) {
+//            return StreamUtils.join(list, rd -> Convert.toStr(rd.getDeptId()));
+//        }
+//        return null;
+//    }
+//
+//    @Override
+//    public String getDeptAndChild(Long deptId) {
+//        List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+//            .select(SysDept::getDeptId)
+//            .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
+//        List<Long> ids = StreamUtils.toList(deptList, SysDept::getDeptId);
+//        ids.add(deptId);
+//        List<SysDept> list = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+//            .select(SysDept::getDeptId)
+//            .in(SysDept::getDeptId, ids));
+//        if (CollUtil.isNotEmpty(list)) {
+//            return StreamUtils.join(list, d -> Convert.toStr(d.getDeptId()));
+//        }
+//        return null;
+//    }
 
 }

+ 100 - 102
iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysDeptServiceImpl.java

@@ -1,24 +1,31 @@
 package cc.iotkit.system.service.impl;
 
+import cc.iotkit.common.constant.UserConstants;
+import cc.iotkit.common.exception.BizException;
+import cc.iotkit.common.satoken.utils.LoginHelper;
 import cc.iotkit.common.service.DeptService;
+import cc.iotkit.common.utils.MapstructUtils;
+import cc.iotkit.common.utils.SpringUtils;
+import cc.iotkit.common.utils.StringUtils;
+import cc.iotkit.common.utils.TreeBuildUtils;
+import cc.iotkit.data.system.ISysDeptData;
+import cc.iotkit.data.system.ISysRoleData;
+import cc.iotkit.data.system.ISysUserData;
+import cc.iotkit.model.system.SysDept;
+import cc.iotkit.model.system.SysRole;
 import cc.iotkit.system.dto.bo.SysDeptBo;
 import cc.iotkit.system.dto.vo.SysDeptVo;
-import cc.iotkit.system.mapper.SysDeptMapper;
-import cc.iotkit.system.mapper.SysRoleMapper;
-import cc.iotkit.system.mapper.SysUserMapper;
+import cc.iotkit.system.service.ISysDeptService;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.util.ObjectUtil;
-import cc.iotkit.system.service.ISysDeptService;
 import lombok.RequiredArgsConstructor;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 部门管理 服务实现
@@ -29,9 +36,11 @@ import java.util.List;
 @Service
 public class SysDeptServiceImpl implements ISysDeptService, DeptService {
 
-    private final SysDeptMapper baseMapper;
-    private final SysRoleMapper roleMapper;
-    private final SysUserMapper userMapper;
+    private final ISysDeptData sysDeptData;
+
+    private final ISysRoleData sysRoleData;
+
+    private final ISysUserData sysUserData;
 
     /**
      * 查询部门管理数据
@@ -41,8 +50,9 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public List<SysDeptVo> selectDeptList(SysDeptBo dept) {
-        LambdaQueryWrapper<SysDept> lqw = buildQueryWrapper(dept);
-        return baseMapper.selectDeptList(lqw);
+        return MapstructUtils.convert(
+                sysDeptData.findDepts(MapstructUtils.convert(dept, SysDept.class))
+                , SysDeptVo.class);
     }
 
     /**
@@ -53,23 +63,10 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public List<Tree<Long>> selectDeptTreeList(SysDeptBo bo) {
-        LambdaQueryWrapper<SysDept> lqw = buildQueryWrapper(bo);
-        List<SysDept> depts = baseMapper.selectList(lqw);
+        List<SysDept> depts = sysDeptData.findDepts(MapstructUtils.convert(bo, SysDept.class));
         return buildDeptTreeSelect(depts);
     }
 
-    private LambdaQueryWrapper<SysDept> buildQueryWrapper(SysDeptBo bo) {
-        LambdaQueryWrapper<SysDept> lqw = Wrappers.lambdaQuery();
-        lqw.eq(SysDept::getDelFlag, "0");
-        lqw.eq(ObjectUtil.isNotNull(bo.getDeptId()), SysDept::getDeptId, bo.getDeptId());
-        lqw.eq(ObjectUtil.isNotNull(bo.getParentId()), SysDept::getParentId, bo.getParentId());
-        lqw.like(StringUtils.isNotBlank(bo.getDeptName()), SysDept::getDeptName, bo.getDeptName());
-        lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysDept::getStatus, bo.getStatus());
-        lqw.orderByAsc(SysDept::getParentId);
-        lqw.orderByAsc(SysDept::getOrderNum);
-        return lqw;
-    }
-
     /**
      * 构建前端所需要下拉树结构
      *
@@ -82,10 +79,10 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
             return CollUtil.newArrayList();
         }
         return TreeBuildUtils.build(depts, (dept, tree) ->
-            tree.setId(dept.getDeptId())
-                .setParentId(dept.getParentId())
-                .setName(dept.getDeptName())
-                .setWeight(dept.getOrderNum()));
+                tree.setId(dept.getId())
+                        .setParentId(dept.getParentId())
+                        .setName(dept.getDeptName())
+                        .setWeight(dept.getOrderNum()));
     }
 
     /**
@@ -96,8 +93,10 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public List<Long> selectDeptListByRoleId(Long roleId) {
-        SysRole role = roleMapper.selectById(roleId);
-        return baseMapper.selectDeptListByRoleId(roleId, role.getDeptCheckStrictly());
+        SysRole role = sysRoleData.findById(roleId);
+        return sysDeptData.findByRoleId(roleId).stream()
+                .map(SysDept::getId).collect(Collectors.toList());
+//        return baseMapper.selectDeptListByRoleId(roleId, role.getDeptCheckStrictly());
     }
 
     /**
@@ -106,17 +105,17 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      * @param deptId 部门ID
      * @return 部门信息
      */
-    @Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId")
+//    @Cacheable(cacheNames = CacheNames.SYS_DEPT, key = "#deptId")
     @Override
     public SysDeptVo selectDeptById(Long deptId) {
-        SysDeptVo dept = baseMapper.selectVoById(deptId);
+        SysDept dept = sysDeptData.findById(deptId);
         if (ObjectUtil.isNull(dept)) {
             return null;
         }
-        SysDeptVo parentDept = baseMapper.selectVoOne(new LambdaQueryWrapper<SysDept>()
-            .select(SysDept::getDeptName).eq(SysDept::getDeptId, dept.getParentId()));
+
+        SysDept parentDept = sysDeptData.findById(dept.getParentId());
         dept.setParentName(ObjectUtil.isNotNull(parentDept) ? parentDept.getDeptName() : null);
-        return dept;
+        return MapstructUtils.convert(dept, SysDeptVo.class);
     }
 
     /**
@@ -145,9 +144,10 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public long selectNormalChildrenDeptById(Long deptId) {
-        return baseMapper.selectCount(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
-            .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
+//        return baseMapper.selectCount(new LambdaQueryWrapper<SysDept>()
+//                .eq(SysDept::getStatus, UserConstants.DEPT_NORMAL)
+//                .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
+        return 0;
     }
 
     /**
@@ -158,8 +158,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public boolean hasChildByDeptId(Long deptId) {
-        return baseMapper.exists(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getParentId, deptId));
+        return sysDeptData.countByParentId(deptId) > 0;
     }
 
     /**
@@ -170,8 +169,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public boolean checkDeptExistUser(Long deptId) {
-        return userMapper.exists(new LambdaQueryWrapper<SysUser>()
-            .eq(SysUser::getDeptId, deptId));
+        return sysUserData.countByDeptId(deptId) > 0;
     }
 
     /**
@@ -182,11 +180,12 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      */
     @Override
     public boolean checkDeptNameUnique(SysDeptBo dept) {
-        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysDept>()
-            .eq(SysDept::getDeptName, dept.getDeptName())
-            .eq(SysDept::getParentId, dept.getParentId())
-            .ne(ObjectUtil.isNotNull(dept.getDeptId()), SysDept::getDeptId, dept.getDeptId()));
-        return !exist;
+//        boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysDept>()
+//                .eq(SysDept::getDeptName, dept.getDeptName())
+//                .eq(SysDept::getParentId, dept.getParentId())
+//                .ne(ObjectUtil.isNotNull(dept.getDeptId()), SysDept::getDeptId, dept.getDeptId()));
+//        return !exist;
+        return false;
     }
 
     /**
@@ -202,9 +201,9 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
         if (LoginHelper.isSuperAdmin()) {
             return;
         }
-        SysDeptVo dept = baseMapper.selectDeptById(deptId);
+        SysDept dept = sysDeptData.findById(deptId);
         if (ObjectUtil.isNull(dept)) {
-            throw new ServiceException("没有权限访问部门数据!");
+            throw new BizException("没有权限访问部门数据!");
         }
     }
 
@@ -212,18 +211,17 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      * 新增保存部门信息
      *
      * @param bo 部门信息
-     * @return 结果
      */
     @Override
-    public int insertDept(SysDeptBo bo) {
-        SysDept info = baseMapper.selectById(bo.getParentId());
+    public void insertDept(SysDeptBo bo) {
+        SysDept parent = sysDeptData.findById(bo.getParentId());
         // 如果父节点不为正常状态,则不允许新增子节点
-        if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) {
-            throw new ServiceException("部门停用,不允许新增");
+        if (!UserConstants.DEPT_NORMAL.equals(parent.getStatus())) {
+            throw new BizException("部门停用,不允许新增");
         }
         SysDept dept = MapstructUtils.convert(bo, SysDept.class);
-        dept.setAncestors(info.getAncestors() + StringUtils.SEPARATOR + dept.getParentId());
-        return baseMapper.insert(dept);
+        dept.setAncestors(parent.getAncestors() + StringUtils.SEPARATOR + dept.getParentId());
+        sysDeptData.save(dept);
     }
 
     /**
@@ -232,29 +230,29 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      * @param bo 部门信息
      * @return 结果
      */
-    @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#bo.deptId")
+//    @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#bo.deptId")
     @Override
-    public int updateDept(SysDeptBo bo) {
-        SysDept dept = MapstructUtils.convert(bo, SysDept.class);
-        SysDept oldDept = baseMapper.selectById(dept.getDeptId());
-        if (!oldDept.getParentId().equals(dept.getParentId())) {
-            // 如果是新父部门 则校验是否具有新父部门权限 避免越权
-            this.checkDeptDataScope(dept.getParentId());
-            SysDept newParentDept = baseMapper.selectById(dept.getParentId());
-            if (ObjectUtil.isNotNull(newParentDept) && ObjectUtil.isNotNull(oldDept)) {
-                String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getDeptId();
-                String oldAncestors = oldDept.getAncestors();
-                dept.setAncestors(newAncestors);
-                updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors);
-            }
-        }
-        int result = baseMapper.updateById(dept);
-        if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors())
-            && !StringUtils.equals(UserConstants.DEPT_NORMAL, dept.getAncestors())) {
-            // 如果该部门是启用状态,则启用该部门的所有上级部门
-            updateParentDeptStatusNormal(dept);
-        }
-        return result;
+    public void updateDept(SysDeptBo bo) {
+//        SysDept dept = MapstructUtils.convert(bo, SysDept.class);
+//        SysDept oldDept = baseMapper.selectById(dept.getDeptId());
+//        if (!oldDept.getParentId().equals(dept.getParentId())) {
+//            // 如果是新父部门 则校验是否具有新父部门权限 避免越权
+//            this.checkDeptDataScope(dept.getParentId());
+//            SysDept newParentDept = baseMapper.selectById(dept.getParentId());
+//            if (ObjectUtil.isNotNull(newParentDept) && ObjectUtil.isNotNull(oldDept)) {
+//                String newAncestors = newParentDept.getAncestors() + StringUtils.SEPARATOR + newParentDept.getDeptId();
+//                String oldAncestors = oldDept.getAncestors();
+//                dept.setAncestors(newAncestors);
+//                updateDeptChildren(dept.getDeptId(), newAncestors, oldAncestors);
+//            }
+//        }
+//        int result = baseMapper.updateById(dept);
+//        if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()) && StringUtils.isNotEmpty(dept.getAncestors())
+//                && !StringUtils.equals(UserConstants.DEPT_NORMAL, dept.getAncestors())) {
+//            // 如果该部门是启用状态,则启用该部门的所有上级部门
+//            updateParentDeptStatusNormal(dept);
+//        }
+//        return result;
     }
 
     /**
@@ -263,11 +261,11 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      * @param dept 当前部门
      */
     private void updateParentDeptStatusNormal(SysDept dept) {
-        String ancestors = dept.getAncestors();
-        Long[] deptIds = Convert.toLongArray(ancestors);
-        baseMapper.update(null, new LambdaUpdateWrapper<SysDept>()
-            .set(SysDept::getStatus, UserConstants.DEPT_NORMAL)
-            .in(SysDept::getDeptId, Arrays.asList(deptIds)));
+//        String ancestors = dept.getAncestors();
+//        Long[] deptIds = Convert.toLongArray(ancestors);
+//        baseMapper.update(null, new LambdaUpdateWrapper<SysDept>()
+//                .set(SysDept::getStatus, UserConstants.DEPT_NORMAL)
+//                .in(SysDept::getDeptId, Arrays.asList(deptIds)));
     }
 
     /**
@@ -278,20 +276,20 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      * @param oldAncestors 旧的父ID集合
      */
     private void updateDeptChildren(Long deptId, String newAncestors, String oldAncestors) {
-        List<SysDept> children = baseMapper.selectList(new LambdaQueryWrapper<SysDept>()
-            .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
-        List<SysDept> list = new ArrayList<>();
-        for (SysDept child : children) {
-            SysDept dept = new SysDept();
-            dept.setDeptId(child.getDeptId());
-            dept.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
-            list.add(dept);
-        }
-        if (CollUtil.isNotEmpty(list)) {
-            if (baseMapper.updateBatchById(list)) {
-                list.forEach(dept -> CacheUtils.evict(CacheNames.SYS_DEPT, dept.getDeptId()));
-            }
-        }
+//        List<SysDept> children = baseMapper.selectList(new LambdaQueryWrapper<SysDept>()
+//                .apply(DataBaseHelper.findInSet(deptId, "ancestors")));
+//        List<SysDept> list = new ArrayList<>();
+//        for (SysDept child : children) {
+//            SysDept dept = new SysDept();
+//            dept.setDeptId(child.getDeptId());
+//            dept.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
+//            list.add(dept);
+//        }
+//        if (CollUtil.isNotEmpty(list)) {
+//            if (baseMapper.updateBatchById(list)) {
+//                list.forEach(dept -> CacheUtils.evict(CacheNames.SYS_DEPT, dept.getDeptId()));
+//            }
+//        }
     }
 
     /**
@@ -300,10 +298,10 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
      * @param deptId 部门ID
      * @return 结果
      */
-    @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#deptId")
+//    @CacheEvict(cacheNames = CacheNames.SYS_DEPT, key = "#deptId")
     @Override
-    public int deleteDeptById(Long deptId) {
-        return baseMapper.deleteById(deptId);
+    public void deleteDeptById(Long deptId) {
+        sysDeptData.deleteById(deptId);
     }
 
 }