소스 검색

所有的远程方法

shiqian 4 년 전
부모
커밋
a37af94519
25개의 변경된 파일264개의 추가작업 그리고 12개의 파일을 삭제
  1. 11 0
      boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteDeptService.java
  2. 27 0
      boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteMenuService.java
  3. 27 0
      boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteRoleDataService.java
  4. 14 0
      boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteUserService.java
  5. 1 1
      boman-api/boman-api-web-core/src/main/java/com/boman/web/core/api/RemoteObjService.java
  6. 3 0
      boman-api/boman-domain/src/main/java/com.boman.domain/GenTable.java
  7. 1 2
      boman-api/boman-domain/src/main/java/com.boman.domain/SysRoleData.java
  8. 15 0
      boman-api/boman-domain/src/main/java/com.boman.domain/exception/UnSuchFunctionException.java
  9. 5 0
      boman-common/boman-common-core/src/main/java/com/boman/common/core/constant/ServiceNameConstants.java
  10. 1 1
      boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/obj/ObjectUtils.java
  11. 11 0
      boman-modules/boman-system/src/main/java/com/boman/system/controller/SysDeptController.java
  12. 8 0
      boman-modules/boman-system/src/main/java/com/boman/system/controller/SysMenuController.java
  13. 9 1
      boman-modules/boman-system/src/main/java/com/boman/system/controller/SysRoleDataController.java
  14. 10 0
      boman-modules/boman-system/src/main/java/com/boman/system/controller/SysUserController.java
  15. 10 1
      boman-modules/boman-system/src/main/java/com/boman/system/mapper/SysRoleDataMapper.java
  16. 4 0
      boman-modules/boman-system/src/main/java/com/boman/system/mapper/SysUserMapper.java
  17. 9 0
      boman-modules/boman-system/src/main/java/com/boman/system/service/ISysDeptService.java
  18. 9 1
      boman-modules/boman-system/src/main/java/com/boman/system/service/ISysRoleDataService.java
  19. 5 0
      boman-modules/boman-system/src/main/java/com/boman/system/service/ISysUserService.java
  20. 33 0
      boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysDeptServiceImpl.java
  21. 12 1
      boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysRoleDataServiceImpl.java
  22. 7 0
      boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysUserServiceImpl.java
  23. 13 4
      boman-modules/boman-system/src/main/resources/mapper/system/SysRoleDataMapper.xml
  24. 7 0
      boman-modules/boman-system/src/main/resources/mapper/system/SysUserMapper.xml
  25. 12 0
      boman-web-core/src/main/java/com/boman/web/core/utils/ColumnUtils.java

+ 11 - 0
boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteDeptService.java

@@ -6,6 +6,8 @@ import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 
+import java.util.List;
+
 /**
  * @author shiqian
  * @date 2021年04月07日 10:31
@@ -21,5 +23,14 @@ public interface RemoteDeptService {
      */
     @GetMapping(value = "/dept/getById/{id}")
     SysDept getById(@PathVariable("id") Long id);
+
+    /**
+     * 功能描述: 拿到部门下所有的部门
+     *
+     * @param deptId deptId
+     * @return com.boman.common.core.web.domain.AjaxResult
+     */
+    @GetMapping("/dept/list/children/depts/{deptId}")
+    List<SysDept> listChildrenDepts(@PathVariable(value = "deptId") Long deptId);
 }
 

+ 27 - 0
boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteMenuService.java

@@ -0,0 +1,27 @@
+package com.boman.system.api;
+
+import com.boman.common.core.constant.ServiceNameConstants;
+import com.boman.system.api.domain.SysMenu;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+
+import java.util.List;
+
+/**
+ * @author shiqian
+ * @date 2021年04月07日 10:31
+ **/
+@FeignClient(contextId = "remoteMenuService", value = ServiceNameConstants.SYSTEM_SERVICE)
+public interface RemoteMenuService {
+
+    /**
+     * 功能描述: 根据userId查找此人的所有菜单
+     *
+     * @param userId userId
+     * @return java.util.List<com.boman.system.api.domain.SysMenu>
+     */
+    @GetMapping("/menu/listMenusByUserId/{userId}")
+    List<SysMenu> listMenusByUserId(@PathVariable("userId") Long userId);
+}
+

+ 27 - 0
boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteRoleDataService.java

@@ -0,0 +1,27 @@
+package com.boman.system.api;
+
+import com.boman.common.core.constant.ServiceNameConstants;
+import com.boman.domain.SysRoleData;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * @author shiqian
+ * @date 2021年04月07日 10:31
+ **/
+@FeignClient(contextId = "remoteRoleDataService", value = ServiceNameConstants.SYSTEM_SERVICE)
+public interface RemoteRoleDataService {
+
+    /**
+     * 功能描述: 根据userId查找此人的所有菜单
+     *
+     * @param idList idList
+     * @return java.util.List<com.boman.system.api.domain.SysMenu>
+     */
+    @PostMapping(value = "/roleData/listByRoleIdList")
+    List<SysRoleData> listByRoleIdList(@RequestBody List<Long> idList);
+}
+

+ 14 - 0
boman-api/boman-api-system/src/main/java/com/boman/system/api/RemoteUserService.java

@@ -1,5 +1,6 @@
 package com.boman.system.api;
 
+import com.boman.system.api.domain.SysUser;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -7,6 +8,10 @@ import com.boman.common.core.constant.ServiceNameConstants;
 import com.boman.common.core.domain.R;
 import com.boman.system.api.factory.RemoteUserFallbackFactory;
 import com.boman.system.api.model.LoginUser;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
 
 /**
  * 用户服务
@@ -24,4 +29,13 @@ public interface RemoteUserService
      */
     @GetMapping(value = "/user/info/{username}")
     public R<LoginUser> getUserInfo(@PathVariable("username") String username);
+
+    /**
+     * 部门下所有人
+     *
+     * @param deptIdList deptIdList
+     * @return 结果
+     */
+    @PostMapping("/user/listByDeptId")
+    List<SysUser> listByDeptId(@RequestBody List<Long> deptIdList);
 }

+ 1 - 1
boman-api/boman-api-web-core/src/main/java/com/boman/web/core/api/RemoteObjService.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.PathVariable;
  * @author shiqian
  * @date 2021年04月07日 10:31
  **/
-@FeignClient(contextId = "remoteObjService", value = ServiceNameConstants.SYSTEM_SERVICE)
+@FeignClient(contextId = "remoteObjService", value = ServiceNameConstants.WEB_CORE_SERVICE)
 public interface RemoteObjService {
 
     /**

+ 3 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/GenTable.java

@@ -11,6 +11,9 @@ public class GenTable extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
+    /** 查询 */
+    public static final String Q = "Q";
+
     /** 编号 */
     private Long Id;
 

+ 1 - 2
boman-modules/boman-system/src/main/java/com/boman/system/domain/SysRoleData.java → boman-api/boman-domain/src/main/java/com.boman.domain/SysRoleData.java

@@ -1,6 +1,5 @@
-package com.boman.system.domain;
+package com.boman.domain;
 
-import com.boman.common.core.web.domain.BaseEntity;
 import java.util.Date;
 
 /**

+ 15 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/exception/UnSuchFunctionException.java

@@ -0,0 +1,15 @@
+package com.boman.domain.exception;
+
+/**
+ * @author shiqian
+ * @date 2021年04月21日 15:44
+ **/
+public class UnSuchFunctionException extends RuntimeException{
+
+    public UnSuchFunctionException(){}
+
+    public UnSuchFunctionException(String errorMsg){
+        super(errorMsg);
+    }
+
+}

+ 5 - 0
boman-common/boman-common-core/src/main/java/com/boman/common/core/constant/ServiceNameConstants.java

@@ -26,4 +26,9 @@ public class ServiceNameConstants
      * 代生成服务的serviceid
      */
     public static final String GEN_SERVICE = "boman-gen";
+
+    /**
+     * boman-web-core
+     */
+    public static final String WEB_CORE_SERVICE = "boman-web-core";
 }

+ 1 - 1
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/obj/ObjectUtils.java

@@ -244,7 +244,7 @@ public class ObjectUtils {
      */
     public static <T, R> List<R> map(List<T> input, Function<T, R> function) {
         return requireNonNull(input, "list is null")
-                .stream().map(function).collect(Collectors.toList());
+                .stream().map(function).distinct().collect(Collectors.toList());
     }
 
 

+ 11 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysDeptController.java

@@ -68,6 +68,17 @@ public class SysDeptController extends BaseController
         return AjaxResult.success(depts);
     }
 
+    /**
+     * 功能描述: 根据deptId查找部门下的所有部门
+     *
+     * @param deptId deptId
+     * @return com.boman.common.core.web.domain.AjaxResult
+     */
+    @GetMapping("/list/children/depts/{deptId}")
+    public List<SysDept> listChildrenDepts(@PathVariable(value = "deptId") Long deptId) {
+        return deptService.listChildrenDepts(deptId);
+    }
+
     /**
      * 根据部门编号获取详细信息
      */

+ 8 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysMenuController.java

@@ -48,6 +48,14 @@ public class SysMenuController extends BaseController
         return AjaxResult.success(menus);
     }
 
+    /**
+     * 获取某人的所有菜单
+     */
+    @GetMapping("/listMenusByUserId/{userId}")
+    public List<SysMenu> list(@PathVariable Long userId) {
+        return menuService.selectMenuList(new SysMenu(), userId);
+    }
+
     /**
      * 根据菜单编号获取详细信息
      */

+ 9 - 1
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysRoleDataController.java

@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
-import com.boman.system.domain.SysRoleData;
+import com.boman.domain.SysRoleData;
 
 
 /**
@@ -72,6 +72,14 @@ public class SysRoleDataController extends BaseController
         return AjaxResult.success(sysRoleDataService.selectSysRoleDataById(id));
     }
 
+    /**
+     * 获取角色权限数据详细信息
+     */
+    @PostMapping(value = "/listByRoleIdList")
+    public List<SysRoleData> listByRoleIdList(@RequestBody List<Long> idList) {
+        return sysRoleDataService.listByRoleIdList(idList);
+    }
+
     /**
      * 新增角色权限数据
      */

+ 10 - 0
boman-modules/boman-system/src/main/java/com/boman/system/controller/SysUserController.java

@@ -246,4 +246,14 @@ public class SysUserController extends BaseController
         user.setUpdateBy(SecurityUtils.getUsername());
         return toAjax(userService.updateUserStatus(user));
     }
+
+    /**
+     * 部门下所有人
+     */
+//    @PreAuthorize(hasPermi = "system:user:edit")
+    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @PostMapping("/listByDeptId")
+    public List<SysUser> listByDeptId(@RequestBody List<Long> deptIdList) {
+       return userService.listByDeptId(deptIdList);
+    }
 }

+ 10 - 1
boman-modules/boman-system/src/main/java/com/boman/system/mapper/SysRoleDataMapper.java

@@ -1,7 +1,8 @@
 package com.boman.system.mapper;
 
 import java.util.List;
-import com.boman.system.domain.SysRoleData;
+import com.boman.domain.SysRoleData;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 角色权限数据Mapper接口
@@ -19,6 +20,14 @@ public interface SysRoleDataMapper
      */
     public SysRoleData selectSysRoleDataById(Long id);
 
+    /**
+     * 查询角色权限数据
+     *
+     * @param idList 角色权限数据ID
+     * @return 角色权限数据
+     */
+    List<SysRoleData> listByRoleIdList(@Param("roleIdList") List<Long> idList);
+
     /**
      * 查询角色权限数据列表
      * 

+ 4 - 0
boman-modules/boman-system/src/main/java/com/boman/system/mapper/SysUserMapper.java

@@ -110,4 +110,8 @@ public interface SysUserMapper
      * @return 结果
      */
     public SysUser checkEmailUnique(String email);
+    /**
+     * 部门下所有人
+     */
+    List<SysUser> listByDeptId(@Param("deptIdList") List<Long> deptIdList);
 }

+ 9 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/ISysDeptService.java

@@ -2,6 +2,7 @@ package com.boman.system.service;
 
 import java.util.List;
 
+import com.boman.common.core.web.domain.AjaxResult;
 import com.boman.system.api.domain.SysDept;
 import com.boman.system.domain.vo.TreeSelect;
 
@@ -107,4 +108,12 @@ public interface ISysDeptService
      * @return 结果
      */
     public int deleteDeptById(Long id);
+
+    /**
+     * 功能描述: 根据deptId查找部门下的所有部门
+     *
+     * @param deptId deptId
+     * @return com.boman.common.core.web.domain.AjaxResult
+     */
+    List<SysDept> listChildrenDepts(Long deptId);
 }

+ 9 - 1
boman-modules/boman-system/src/main/java/com/boman/system/service/ISysRoleDataService.java

@@ -1,7 +1,7 @@
 package com.boman.system.service;
 
 import java.util.List;
-import com.boman.system.domain.SysRoleData;
+import com.boman.domain.SysRoleData;
 
 /**
  * 角色权限数据Service接口
@@ -19,6 +19,14 @@ public interface ISysRoleDataService
      */
     public SysRoleData selectSysRoleDataById(Long id);
 
+    /**
+     * 查询角色权限数据
+     *
+     * @param idList 角色权限数据ID
+     * @return 角色权限数据
+     */
+    List<SysRoleData> listByRoleIdList(List<Long> idList);
+
     /**
      * 查询角色权限数据列表
      * 

+ 5 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/ISysUserService.java

@@ -165,4 +165,9 @@ public interface ISysUserService
      * @return 结果
      */
     public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName);
+
+    /**
+     * 部门下所有人
+     */
+    List<SysUser> listByDeptId(List<Long> deptIdList);
 }

+ 33 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysDeptServiceImpl.java

@@ -4,6 +4,11 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.stream.Collectors;
+
+import com.boman.common.core.utils.obj.ObjectUtils;
+import com.boman.common.core.web.domain.AjaxResult;
+import com.google.common.collect.Lists;
+import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.boman.common.core.constant.UserConstants;
@@ -303,4 +308,32 @@ public class SysDeptServiceImpl implements ISysDeptService
     {
         return getChildList(list, t).size() > 0 ? true : false;
     }
+
+    /**
+     * 功能描述: 根据deptId查找部门下的所有部门
+     *
+     * @param deptId deptId
+     * @return com.boman.common.core.web.domain.AjaxResult
+     */
+    @Override
+    public List<SysDept> listChildrenDepts(Long deptId) {
+        List<SysDept> allDepts = selectDeptList(new SysDept());
+        SysDept sysDept = ObjectUtils.filterOne(allDepts, dept -> deptId.equals(dept.getId()));
+        List<SysDept> returnData = Lists.newArrayListWithCapacity(16);
+        return recursionChildrenDepts(allDepts, sysDept, returnData);
+    }
+
+    private List<SysDept> recursionChildrenDepts(List<SysDept> allDepts, SysDept sysDept, List<SysDept> returnData) {
+        // 得到子节点列表
+        List<SysDept> childList = getChildList(allDepts, sysDept);
+        returnData.addAll(childList);
+        for (SysDept tChild : childList) {
+            if (hasChild(allDepts, tChild)) {
+                recursionChildrenDepts(allDepts, tChild, returnData);
+            }
+        }
+
+        return returnData;
+    }
+
 }

+ 12 - 1
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysRoleDataServiceImpl.java

@@ -7,7 +7,7 @@ import com.boman.common.core.utils.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.boman.system.mapper.SysRoleDataMapper;
-import com.boman.system.domain.SysRoleData;
+import com.boman.domain.SysRoleData;
 import com.boman.system.service.ISysRoleDataService;
 
 /**
@@ -34,6 +34,17 @@ public class SysRoleDataServiceImpl implements ISysRoleDataService
         return sysRoleDataMapper.selectSysRoleDataById(id);
     }
 
+    /**
+     * 查询角色权限数据
+     *
+     * @param idList 角色权限数据ID
+     * @return 角色权限数据
+     */
+    @Override
+    public List<SysRoleData> listByRoleIdList(List<Long> idList) {
+        return sysRoleDataMapper.listByRoleIdList(idList);
+    }
+
     /**
      * 查询角色权限数据列表
      * 

+ 7 - 0
boman-modules/boman-system/src/main/java/com/boman/system/service/impl/SysUserServiceImpl.java

@@ -461,4 +461,11 @@ public class SysUserServiceImpl implements ISysUserService
         return successMsg.toString();
     }
 
+    /**
+     * 部门下所有人
+     */
+    @Override
+    public List<SysUser> listByDeptId(List<Long> deptIdList) {
+        return userMapper.listByDeptId(deptIdList);
+    }
 }

+ 13 - 4
boman-modules/boman-system/src/main/resources/mapper/system/SysRoleDataMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.boman.system.mapper.SysRoleDataMapper">
 
-    <resultMap type="SysRoleData" id="SysRoleDataResult">
+    <resultMap type="com.boman.domain.SysRoleData" id="SysRoleDataResult">
         <result property="id" column="id"/>
         <result property="roleId" column="role_id"/>
         <result property="roleName" column="role_name"/>
@@ -24,7 +24,7 @@
         select id, role_id, role_sort, table_name, data_scope, is_use, is_del, create_by, create_time, update_by, update_time, remark from sys_role_data
     </sql>
 
-    <select id="selectSysRoleDataList" parameterType="SysRoleData" resultMap="SysRoleDataResult">
+    <select id="selectSysRoleDataList" parameterType="com.boman.domain.SysRoleData" resultMap="SysRoleDataResult">
         select d.id, d.role_id, d.role_sort, d.table_name, d.data_scope, d.is_use, d.is_del, d.remark, r.role_name
         from sys_role_data d
         left join sys_role r on d.role_id = r.id
@@ -54,7 +54,16 @@
         where is_del = 'N' and id = #{id} order by role_sort asc
     </select>
 
-    <insert id="insertSysRoleData" parameterType="SysRoleData">
+    <select id="listByRoleIdList" resultMap="SysRoleDataResult">
+        <include refid="selectSysRoleDataVo"/>
+        where is_del = 'N' and role_id in
+        <foreach collection="roleIdList" open="(" close=")" separator="," item="id">
+            #{id}
+        </foreach>
+        order by role_sort asc
+    </select>
+
+    <insert id="insertSysRoleData" parameterType="com.boman.domain.SysRoleData">
         insert into sys_role_data
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">id,</if>
@@ -86,7 +95,7 @@
         </trim>
     </insert>
 
-    <update id="updateSysRoleData" parameterType="SysRoleData">
+    <update id="updateSysRoleData" parameterType="com.boman.domain.SysRoleData">
         update sys_role_data
         <trim prefix="SET" suffixOverrides=",">
             <if test="roleId != null">role_id = #{roleId},</if>

+ 7 - 0
boman-modules/boman-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -176,5 +176,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			#{id}
         </foreach> 
  	</delete>
+
+ 	<select id="listByDeptId" resultMap="SysUserResult">
+ 		select id from sys_user where dept_id in
+ 		<foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">
+ 			#{deptId}
+        </foreach>
+ 	</select>
 	
 </mapper> 

+ 12 - 0
boman-web-core/src/main/java/com/boman/web/core/utils/ColumnUtils.java

@@ -7,6 +7,7 @@ import com.boman.common.core.utils.StringUtils;
 import com.boman.common.core.utils.obj.ObjectUtils;
 import com.boman.domain.GenTableColumn;
 import com.boman.domain.exception.UnknownColumnException;
+import com.google.common.base.Joiner;
 import com.google.common.collect.Lists;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.ArrayUtils;
@@ -295,4 +296,15 @@ public class ColumnUtils {
             return columnType;
         }
     }
+
+    /**
+     * 连接字符串数组集合
+     *
+     * @param iterable 集合
+     * @return 连接结果
+     */
+    public static String joinList(Iterable iterable) {
+        Joiner joiner = Joiner.on(", ").skipNulls();
+        return joiner.join(iterable);
+    }
 }