Explorar o código

service、mapper代码调整优化

Yue %!s(int64=2) %!d(string=hai) anos
pai
achega
2c1beec5a2
Modificáronse 31 ficheiros con 218 adicións e 79 borrados
  1. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysDeptMapper.java
  2. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysDictDataMapper.java
  3. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysDictTypeMapper.java
  4. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysLogininforMapper.java
  5. 17 0
      vber-system/src/main/java/com/vber/system/mapper/SysMenuMapper.java
  6. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysNoticeMapper.java
  7. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysOperLogMapper.java
  8. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysOrderMapper.java
  9. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysPostMapper.java
  10. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysRoleDeptMapper.java
  11. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysRoleMapper.java
  12. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysRoleMenuMapper.java
  13. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysUserMapper.java
  14. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysUserPostMapper.java
  15. 2 0
      vber-system/src/main/java/com/vber/system/mapper/SysUserRoleMapper.java
  16. 2 0
      vber-system/src/main/java/com/vber/system/mapper/TestUserMapper.java
  17. 9 1
      vber-system/src/main/java/com/vber/system/service/ISysMenuService.java
  18. 7 5
      vber-system/src/main/java/com/vber/system/service/impl/SysConfigServiceImpl.java
  19. 7 7
      vber-system/src/main/java/com/vber/system/service/impl/SysDeptServiceImpl.java
  20. 5 5
      vber-system/src/main/java/com/vber/system/service/impl/SysDictDataServiceImpl.java
  21. 7 7
      vber-system/src/main/java/com/vber/system/service/impl/SysDictTypeServiceImpl.java
  22. 5 3
      vber-system/src/main/java/com/vber/system/service/impl/SysLogininforServiceImpl.java
  23. 33 9
      vber-system/src/main/java/com/vber/system/service/impl/SysMenuServiceImpl.java
  24. 5 3
      vber-system/src/main/java/com/vber/system/service/impl/SysNoticeServiceImpl.java
  25. 5 3
      vber-system/src/main/java/com/vber/system/service/impl/SysOperLogServiceImpl.java
  26. 5 3
      vber-system/src/main/java/com/vber/system/service/impl/SysOrderServiceImpl.java
  27. 7 5
      vber-system/src/main/java/com/vber/system/service/impl/SysPostServiceImpl.java
  28. 11 9
      vber-system/src/main/java/com/vber/system/service/impl/SysRoleServiceImpl.java
  29. 20 18
      vber-system/src/main/java/com/vber/system/service/impl/SysUserServiceImpl.java
  30. 35 1
      vber-system/src/main/resources/mapper/system/SysMenuMapper.xml
  31. 10 0
      vber-web/src/main/java/com/vber/web/controller/system/SysMenuController.java

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysDeptMapper.java

@@ -2,12 +2,14 @@ package com.vber.system.mapper;
 
 import com.vber.common.core.domain.entity.SysDept;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 部门管理 数据层
  */
+@Repository
 public interface SysDeptMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysDictDataMapper.java

@@ -2,12 +2,14 @@ package com.vber.system.mapper;
 
 import com.vber.common.core.domain.entity.SysDictData;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 字典表 数据层
  */
+@Repository
 public interface SysDictDataMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysDictTypeMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.common.core.domain.entity.SysDictType;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 字典表 数据层
  */
+@Repository
 public interface SysDictTypeMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysLogininforMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysLogininfor;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 系统访问日志情况信息 数据层
  */
+@Repository
 public interface SysLogininforMapper
 {
     /**

+ 17 - 0
vber-system/src/main/java/com/vber/system/mapper/SysMenuMapper.java

@@ -2,12 +2,14 @@ package com.vber.system.mapper;
 
 import com.vber.common.core.domain.entity.SysMenu;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 菜单表 数据层
  */
+@Repository
 public interface SysMenuMapper
 {
     /**
@@ -33,6 +35,21 @@ public interface SysMenuMapper
      */
     public List<SysMenu> selectMenuListByUserId(SysMenu menu);
 
+    /**
+     * 根据用户查询系统菜单列表
+     *
+     * @param menu 菜单信息
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectMenuListChildren(SysMenu menu);
+
+    /**
+     * 根据用户查询系统菜单列表
+     *
+     * @param menu 菜单信息
+     * @return 菜单列表
+     */
+    public List<SysMenu> selectMenuListChildrenByUserId(SysMenu menu);
     /**
      * 根据用户查询系统菜单列表
      *

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysNoticeMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysNotice;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 通知公告表 数据层
  */
+@Repository
 public interface SysNoticeMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysOperLogMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysOperLog;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 操作日志 数据层
  */
+@Repository
 public interface SysOperLogMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysOrderMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysOrder;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 订单Mapper接口
  */
+@Repository
 public interface SysOrderMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysPostMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysPost;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 岗位信息 数据层
  */
+@Repository
 public interface SysPostMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysRoleDeptMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysRoleDept;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 角色与部门关联表 数据层
  */
+@Repository
 public interface SysRoleDeptMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysRoleMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.common.core.domain.entity.SysRole;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 角色表 数据层
  */
+@Repository
 public interface SysRoleMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysRoleMenuMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysRoleMenu;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 角色与菜单关联表 数据层
  */
+@Repository
 public interface SysRoleMenuMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysUserMapper.java

@@ -2,12 +2,14 @@ package com.vber.system.mapper;
 
 import com.vber.common.core.domain.entity.SysUser;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 用户表 数据层
  */
+@Repository
 public interface SysUserMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysUserPostMapper.java

@@ -1,12 +1,14 @@
 package com.vber.system.mapper;
 
 import com.vber.system.SysUserPost;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 用户与岗位关联表 数据层
  */
+@Repository
 public interface SysUserPostMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/SysUserRoleMapper.java

@@ -2,12 +2,14 @@ package com.vber.system.mapper;
 
 import com.vber.system.SysUserRole;
 import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
 /**
  * 用户与角色关联表 数据层
  */
+@Repository
 public interface SysUserRoleMapper
 {
     /**

+ 2 - 0
vber-system/src/main/java/com/vber/system/mapper/TestUserMapper.java

@@ -1,9 +1,11 @@
 package com.vber.system.mapper;
 
 import com.vber.system.TestUser;
+import org.springframework.stereotype.Repository;
 
 import java.util.List;
 
+@Repository
 public interface TestUserMapper {
     /**
      * 通过用户ID查询用户

+ 9 - 1
vber-system/src/main/java/com/vber/system/service/ISysMenuService.java

@@ -29,6 +29,15 @@ public interface ISysMenuService
      */
     public List<SysMenu> selectMenuList(SysMenu menu, Long userId);
 
+    /**
+     * 根据用户查询系统子菜单列表
+     *
+     * @param menu 菜单信息
+     * @param userId 用户ID
+     * @return 菜单列表
+     */
+    List<SysMenu> selectMenuListChildren(SysMenu menu, Long userId);
+
     /**
      * 根据用户ID查询权限
      * 
@@ -36,7 +45,6 @@ public interface ISysMenuService
      * @return 权限列表
      */
     public Set<String> selectMenuPermsByUserId(Long userId);
-
     /**
      * 根据角色ID查询权限
      * 

+ 7 - 5
vber-system/src/main/java/com/vber/system/service/impl/SysConfigServiceImpl.java

@@ -11,7 +11,6 @@ import com.vber.common.utils.StringUtils;
 import com.vber.system.SysConfig;
 import com.vber.system.mapper.SysConfigMapper;
 import com.vber.system.service.ISysConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -24,11 +23,14 @@ import java.util.List;
 @Service
 public class SysConfigServiceImpl implements ISysConfigService
 {
-    @Autowired
-    private SysConfigMapper configMapper;
+    private final SysConfigMapper configMapper;
 
-    @Autowired
-    private RedisCache redisCache;
+    private final RedisCache redisCache;
+
+    public SysConfigServiceImpl(SysConfigMapper configMapper, RedisCache redisCache) {
+        this.configMapper = configMapper;
+        this.redisCache = redisCache;
+    }
 
     /**
      * 项目启动时,初始化参数到缓存

+ 7 - 7
vber-system/src/main/java/com/vber/system/service/impl/SysDeptServiceImpl.java

@@ -1,14 +1,12 @@
 package com.vber.system.service.impl;
 
 import com.vber.common.annotation.DataScope;
-import com.vber.common.annotation.DataSource;
 import com.vber.common.constant.UserConstants;
 import com.vber.common.core.domain.TreeSelect;
 import com.vber.common.core.domain.entity.SysDept;
 import com.vber.common.core.domain.entity.SysRole;
 import com.vber.common.core.domain.entity.SysUser;
 import com.vber.common.core.text.Convert;
-import com.vber.common.enums.DataSourceType;
 import com.vber.common.exception.ServiceException;
 import com.vber.common.utils.SecurityUtils;
 import com.vber.common.utils.StringUtils;
@@ -16,7 +14,6 @@ import com.vber.common.utils.spring.SpringUtils;
 import com.vber.system.mapper.SysDeptMapper;
 import com.vber.system.mapper.SysRoleMapper;
 import com.vber.system.service.ISysDeptService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -30,11 +27,14 @@ import java.util.stream.Collectors;
 @Service
 public class SysDeptServiceImpl implements ISysDeptService
 {
-    @Autowired
-    private SysDeptMapper deptMapper;
+    private final SysDeptMapper deptMapper;
 
-    @Autowired
-    private SysRoleMapper roleMapper;
+    private final SysRoleMapper roleMapper;
+
+    public SysDeptServiceImpl(SysDeptMapper deptMapper, SysRoleMapper roleMapper) {
+        this.deptMapper = deptMapper;
+        this.roleMapper = roleMapper;
+    }
 
     /**
      * 查询部门管理数据

+ 5 - 5
vber-system/src/main/java/com/vber/system/service/impl/SysDictDataServiceImpl.java

@@ -1,12 +1,9 @@
 package com.vber.system.service.impl;
 
-import com.vber.common.annotation.DataSource;
 import com.vber.common.core.domain.entity.SysDictData;
-import com.vber.common.enums.DataSourceType;
 import com.vber.common.utils.DictUtils;
 import com.vber.system.mapper.SysDictDataMapper;
 import com.vber.system.service.ISysDictDataService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -17,8 +14,11 @@ import java.util.List;
 @Service
 public class SysDictDataServiceImpl implements ISysDictDataService
 {
-    @Autowired
-    private SysDictDataMapper dictDataMapper;
+    private final SysDictDataMapper dictDataMapper;
+
+    public SysDictDataServiceImpl(SysDictDataMapper dictDataMapper) {
+        this.dictDataMapper = dictDataMapper;
+    }
 
     /**
      * 根据条件分页查询字典数据

+ 7 - 7
vber-system/src/main/java/com/vber/system/service/impl/SysDictTypeServiceImpl.java

@@ -1,17 +1,14 @@
 package com.vber.system.service.impl;
 
-import com.vber.common.annotation.DataSource;
 import com.vber.common.constant.UserConstants;
 import com.vber.common.core.domain.entity.SysDictData;
 import com.vber.common.core.domain.entity.SysDictType;
-import com.vber.common.enums.DataSourceType;
 import com.vber.common.exception.ServiceException;
 import com.vber.common.utils.DictUtils;
 import com.vber.common.utils.StringUtils;
 import com.vber.system.mapper.SysDictDataMapper;
 import com.vber.system.mapper.SysDictTypeMapper;
 import com.vber.system.service.ISysDictTypeService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -27,11 +24,14 @@ import java.util.stream.Collectors;
 @Service
 public class SysDictTypeServiceImpl implements ISysDictTypeService
 {
-    @Autowired
-    private SysDictTypeMapper dictTypeMapper;
+    private final SysDictTypeMapper dictTypeMapper;
 
-    @Autowired
-    private SysDictDataMapper dictDataMapper;
+    private final SysDictDataMapper dictDataMapper;
+
+    public SysDictTypeServiceImpl(SysDictTypeMapper dictTypeMapper, SysDictDataMapper dictDataMapper) {
+        this.dictTypeMapper = dictTypeMapper;
+        this.dictDataMapper = dictDataMapper;
+    }
 
     /**
      * 项目启动时,初始化字典到缓存

+ 5 - 3
vber-system/src/main/java/com/vber/system/service/impl/SysLogininforServiceImpl.java

@@ -3,7 +3,6 @@ package com.vber.system.service.impl;
 import com.vber.system.SysLogininfor;
 import com.vber.system.mapper.SysLogininforMapper;
 import com.vber.system.service.ISysLogininforService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -15,8 +14,11 @@ import java.util.List;
 public class SysLogininforServiceImpl implements ISysLogininforService
 {
 
-    @Autowired
-    private SysLogininforMapper logininforMapper;
+    private final SysLogininforMapper logininforMapper;
+
+    public SysLogininforServiceImpl(SysLogininforMapper logininforMapper) {
+        this.logininforMapper = logininforMapper;
+    }
 
     /**
      * 新增系统登录日志

+ 33 - 9
vber-system/src/main/java/com/vber/system/service/impl/SysMenuServiceImpl.java

@@ -1,13 +1,11 @@
 package com.vber.system.service.impl;
 
-import com.vber.common.annotation.DataSource;
 import com.vber.common.constant.Constants;
 import com.vber.common.constant.UserConstants;
 import com.vber.common.core.domain.TreeSelect;
 import com.vber.common.core.domain.entity.SysMenu;
 import com.vber.common.core.domain.entity.SysRole;
 import com.vber.common.core.domain.entity.SysUser;
-import com.vber.common.enums.DataSourceType;
 import com.vber.common.utils.SecurityUtils;
 import com.vber.common.utils.StringUtils;
 import com.vber.system.domain.vo.MetaVo;
@@ -16,7 +14,6 @@ import com.vber.system.mapper.SysMenuMapper;
 import com.vber.system.mapper.SysRoleMapper;
 import com.vber.system.mapper.SysRoleMenuMapper;
 import com.vber.system.service.ISysMenuService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.*;
@@ -30,14 +27,17 @@ public class SysMenuServiceImpl implements ISysMenuService
 {
     public static final String PREMISSION_STRING = "perms[\"{0}\"]";
 
-    @Autowired
-    private SysMenuMapper menuMapper;
+    private final SysMenuMapper menuMapper;
 
-    @Autowired
-    private SysRoleMapper roleMapper;
+    private final SysRoleMapper roleMapper;
 
-    @Autowired
-    private SysRoleMenuMapper roleMenuMapper;
+    private final SysRoleMenuMapper roleMenuMapper;
+
+    public SysMenuServiceImpl(SysMenuMapper menuMapper, SysRoleMapper roleMapper, SysRoleMenuMapper roleMenuMapper) {
+        this.menuMapper = menuMapper;
+        this.roleMapper = roleMapper;
+        this.roleMenuMapper = roleMenuMapper;
+    }
 
     /**
      * 根据用户查询系统菜单列表
@@ -74,6 +74,30 @@ public class SysMenuServiceImpl implements ISysMenuService
         return menuList;
     }
 
+    /**
+     * 查询系统菜单列表
+     *
+     * @param menu 菜单信息
+     * @return 菜单列表
+     */
+    @Override
+    public List<SysMenu> selectMenuListChildren(SysMenu menu, Long userId)
+    {
+        List<SysMenu> menuList = null;
+        // 管理员显示所有菜单信息
+        if (SysUser.isAdmin(userId))
+        {
+            menuList = menuMapper.selectMenuListChildren(menu);
+        }
+        else
+        {
+            menu.getParams().put("userId", userId);
+            menuList = menuMapper.selectMenuListChildrenByUserId(menu);
+        }
+        return menuList;
+    }
+
+
     /**
      * 根据用户ID查询权限
      * 

+ 5 - 3
vber-system/src/main/java/com/vber/system/service/impl/SysNoticeServiceImpl.java

@@ -3,7 +3,6 @@ package com.vber.system.service.impl;
 import com.vber.system.SysNotice;
 import com.vber.system.mapper.SysNoticeMapper;
 import com.vber.system.service.ISysNoticeService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -14,8 +13,11 @@ import java.util.List;
 @Service
 public class SysNoticeServiceImpl implements ISysNoticeService
 {
-    @Autowired
-    private SysNoticeMapper noticeMapper;
+    private final SysNoticeMapper noticeMapper;
+
+    public SysNoticeServiceImpl(SysNoticeMapper noticeMapper) {
+        this.noticeMapper = noticeMapper;
+    }
 
     /**
      * 查询公告信息

+ 5 - 3
vber-system/src/main/java/com/vber/system/service/impl/SysOperLogServiceImpl.java

@@ -3,7 +3,6 @@ package com.vber.system.service.impl;
 import com.vber.system.SysOperLog;
 import com.vber.system.mapper.SysOperLogMapper;
 import com.vber.system.service.ISysOperLogService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -14,8 +13,11 @@ import java.util.List;
 @Service
 public class SysOperLogServiceImpl implements ISysOperLogService
 {
-    @Autowired
-    private SysOperLogMapper operLogMapper;
+    private final SysOperLogMapper operLogMapper;
+
+    public SysOperLogServiceImpl(SysOperLogMapper operLogMapper) {
+        this.operLogMapper = operLogMapper;
+    }
 
     /**
      * 新增操作日志

+ 5 - 3
vber-system/src/main/java/com/vber/system/service/impl/SysOrderServiceImpl.java

@@ -5,7 +5,6 @@ import com.vber.common.enums.DataSourceType;
 import com.vber.system.SysOrder;
 import com.vber.system.mapper.SysOrderMapper;
 import com.vber.system.service.ISysOrderService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,8 +15,11 @@ import java.util.List;
 @Service
 public class SysOrderServiceImpl implements ISysOrderService 
 {
-    @Autowired
-    private SysOrderMapper myShardingMapper;
+    private final SysOrderMapper myShardingMapper;
+
+    public SysOrderServiceImpl(SysOrderMapper myShardingMapper) {
+        this.myShardingMapper = myShardingMapper;
+    }
 
     /**
      * 查询订单

+ 7 - 5
vber-system/src/main/java/com/vber/system/service/impl/SysPostServiceImpl.java

@@ -7,7 +7,6 @@ import com.vber.system.SysPost;
 import com.vber.system.mapper.SysPostMapper;
 import com.vber.system.mapper.SysUserPostMapper;
 import com.vber.system.service.ISysPostService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -18,11 +17,14 @@ import java.util.List;
 @Service
 public class SysPostServiceImpl implements ISysPostService
 {
-    @Autowired
-    private SysPostMapper postMapper;
+    private final SysPostMapper postMapper;
 
-    @Autowired
-    private SysUserPostMapper userPostMapper;
+    private final SysUserPostMapper userPostMapper;
+
+    public SysPostServiceImpl(SysPostMapper postMapper, SysUserPostMapper userPostMapper) {
+        this.postMapper = postMapper;
+        this.userPostMapper = userPostMapper;
+    }
 
     /**
      * 查询岗位信息集合

+ 11 - 9
vber-system/src/main/java/com/vber/system/service/impl/SysRoleServiceImpl.java

@@ -16,7 +16,6 @@ import com.vber.system.mapper.SysRoleMapper;
 import com.vber.system.mapper.SysRoleMenuMapper;
 import com.vber.system.mapper.SysUserRoleMapper;
 import com.vber.system.service.ISysRoleService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -28,17 +27,20 @@ import java.util.*;
 @Service
 public class SysRoleServiceImpl implements ISysRoleService
 {
-    @Autowired
-    private SysRoleMapper roleMapper;
+    private final SysRoleMapper roleMapper;
 
-    @Autowired
-    private SysRoleMenuMapper roleMenuMapper;
+    private final SysRoleMenuMapper roleMenuMapper;
 
-    @Autowired
-    private SysUserRoleMapper userRoleMapper;
+    private final SysUserRoleMapper userRoleMapper;
 
-    @Autowired
-    private SysRoleDeptMapper roleDeptMapper;
+    private final SysRoleDeptMapper roleDeptMapper;
+
+    public SysRoleServiceImpl(SysRoleMapper roleMapper, SysRoleMenuMapper roleMenuMapper, SysUserRoleMapper userRoleMapper, SysRoleDeptMapper roleDeptMapper) {
+        this.roleMapper = roleMapper;
+        this.roleMenuMapper = roleMenuMapper;
+        this.userRoleMapper = userRoleMapper;
+        this.roleDeptMapper = roleDeptMapper;
+    }
 
     /**
      * 根据条件分页查询角色数据

+ 20 - 18
vber-system/src/main/java/com/vber/system/service/impl/SysUserServiceImpl.java

@@ -17,7 +17,6 @@ import com.vber.system.service.ISysConfigService;
 import com.vber.system.service.ISysUserService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -35,26 +34,29 @@ public class SysUserServiceImpl implements ISysUserService
 {
     private static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class);
 
-    @Autowired
-    private SysUserMapper userMapper;
+    private final SysUserMapper userMapper;
 
-    @Autowired
-    private SysRoleMapper roleMapper;
+    private final SysRoleMapper roleMapper;
 
-    @Autowired
-    private SysPostMapper postMapper;
+    private final SysPostMapper postMapper;
 
-    @Autowired
-    private SysUserRoleMapper userRoleMapper;
+    private final SysUserRoleMapper userRoleMapper;
 
-    @Autowired
-    private SysUserPostMapper userPostMapper;
+    private final SysUserPostMapper userPostMapper;
 
-    @Autowired
-    private ISysConfigService configService;
+    private final ISysConfigService configService;
 
-    @Autowired
-    protected Validator validator;
+    protected final Validator validator;
+
+    public SysUserServiceImpl(SysUserMapper userMapper, SysRoleMapper roleMapper, SysPostMapper postMapper, SysUserRoleMapper userRoleMapper, SysUserPostMapper userPostMapper, ISysConfigService configService, Validator validator) {
+        this.userMapper = userMapper;
+        this.roleMapper = roleMapper;
+        this.postMapper = postMapper;
+        this.userRoleMapper = userRoleMapper;
+        this.userPostMapper = userPostMapper;
+        this.configService = configService;
+        this.validator = validator;
+    }
 
     /**
      * 根据条件分页查询用户列表
@@ -175,7 +177,7 @@ public class SysUserServiceImpl implements ISysUserService
      * 校验手机号码是否唯一
      *
      * @param user 用户信息
-     * @return
+     * @return boolean
      */
     @Override
     public boolean checkPhoneUnique(SysUser user)
@@ -193,7 +195,7 @@ public class SysUserServiceImpl implements ISysUserService
      * 校验email是否唯一
      *
      * @param user 用户信息
-     * @return
+     * @return boolean
      */
     @Override
     public boolean checkEmailUnique(SysUser user)
@@ -391,7 +393,7 @@ public class SysUserServiceImpl implements ISysUserService
         if (StringUtils.isNotEmpty(posts))
         {
             // 新增用户与岗位管理
-            List<SysUserPost> list = new ArrayList<SysUserPost>(posts.length);
+            List<SysUserPost> list = new ArrayList<>(posts.length);
             for (Long postId : posts)
             {
                 SysUserPost up = new SysUserPost();

+ 35 - 1
vber-system/src/main/resources/mapper/system/SysMenuMapper.xml

@@ -49,7 +49,22 @@
 		</where>
 		order by parent_id, order_num
 	</select>
-	
+
+  <select id="selectMenuListChildren" parameterType="SysMenu" resultMap="SysMenuResult">
+	<include refid="selectMenuVo"/>
+	  WHERE  parent_id = #{menu_id}
+	  <if test="menuName != null and menuName != ''">
+		  AND menu_name like concat('%', #{menuName}, '%')
+	  </if>
+	  <if test="visible != null and visible != ''">
+		  AND visible = #{visible}
+	  </if>
+	  <if test="status != null and status != ''">
+		  AND status = #{status}
+	  </if>
+	order by parent_id, order_num
+</select>
+
 	<select id="selectMenuTreeAll" resultMap="SysMenuResult">
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.btn_class, m.btn_script, m.order_num, m.create_time
 		from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0
@@ -74,6 +89,25 @@
 		</if>
 		order by m.parent_id, m.order_num
 	</select>
+	<select id="selectMenuListChildrenByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
+		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.btn_class, m.btn_script, m.order_num, m.create_time
+		from sys_menu m
+		left join sys_role_menu rm on m.menu_id = rm.menu_id
+		left join sys_user_role ur on rm.role_id = ur.role_id
+		left join sys_role ro on ur.role_id = ro.role_id
+
+		where m.parent_id= #{menu_id} AND ur.user_id = #{params.userId}
+		<if test="menuName != null and menuName != ''">
+            AND m.menu_name like concat('%', #{menuName}, '%')
+		</if>
+		<if test="visible != null and visible != ''">
+            AND m.visible = #{visible}
+		</if>
+		<if test="status != null and status != ''">
+            AND m.status = #{status}
+		</if>
+		order by m.parent_id, m.order_num
+	</select>
     
     <select id="selectMenuTreeByUserId" parameterType="Long" resultMap="SysMenuResult">
 		select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.btn_class, m.btn_script, m.order_num, m.create_time

+ 10 - 0
vber-web/src/main/java/com/vber/web/controller/system/SysMenuController.java

@@ -36,6 +36,16 @@ public class SysMenuController extends BaseController {
         return success(menus);
     }
 
+    /**
+     * 获取菜单列表
+     */
+    @PreAuthorize("@ss.hasPermission(@pn.SystemMenu)")
+    @GetMapping("/list/children")
+    public AjaxResult listChildren(SysMenu menu) {
+        List<SysMenu> menus = menuService.selectMenuListChildren(menu, getUserId());
+        return success(menus);
+    }
+
     /**
      * 根据菜单编号获取详细信息
      */