From 11e8a8f6e8cc27514447a49606842b890cdadba8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 14 二月 2025 14:43:56 +0800
Subject: [PATCH] 流程日志查询完善

---
 system/src/main/java/com/ycl/system/service/impl/SysRoleServiceImpl.java |   49 ++++++-----
 system/src/main/java/com/ycl/system/mapper/SysRoleMapper.java            |    2 
 sql/project_management-2月14.sql                                          |    0 
 system/src/main/java/com/ycl/system/service/ISysRoleService.java         |   44 +++++-----
 system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java            |    3 
 system/src/main/resources/mapper/system/SysUserMapper.xml                |    5 +
 system/src/main/resources/mapper/system/SysRoleMapper.xml                |    5 +
 system/src/main/java/com/ycl/system/mapper/SysUserMapper.java            |    2 
 business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java   |   52 ++++++++++++
 system/src/main/java/com/ycl/system/service/ISysDeptService.java         |    2 
 system/src/main/resources/mapper/system/SysDeptMapper.xml                |    7 +
 business/src/main/java/com/ycl/domain/json/DelegateData.java             |   10 ++
 flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java               |    3 
 system/src/main/java/com/ycl/system/service/ISysUserService.java         |    8 ++
 flowable/src/main/resources/mapper/ProcessLogMapper.xml                  |    7 +
 system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java |    5 +
 system/src/main/java/com/ycl/system/service/impl/SysUserServiceImpl.java |    5 +
 17 files changed, 163 insertions(+), 46 deletions(-)

diff --git a/business/src/main/java/com/ycl/domain/json/DelegateData.java b/business/src/main/java/com/ycl/domain/json/DelegateData.java
index 486b19f..a0f4b6f 100644
--- a/business/src/main/java/com/ycl/domain/json/DelegateData.java
+++ b/business/src/main/java/com/ycl/domain/json/DelegateData.java
@@ -20,6 +20,11 @@
     private List<String> beforeHandlerIds;
 
     /**
+     * 杞姙鍓嶇殑澶勭悊浜哄鍚�
+     */
+    private List<String> beforeHandlerNames;
+
+    /**
      * 杞姙鍓嶇殑澶勭悊浜虹被鍨�
      */
     private HandlerTypeEnum beforeHandlerType;
@@ -30,6 +35,11 @@
     private List<String> afterHandlerIds;
 
     /**
+     * 杞姙鍚庣殑澶勭悊浜哄鍚�
+     */
+    private List<String> afterHandlerNames;
+
+    /**
      * 杞姙鍚庣殑澶勭悊浜虹被鍨�
      */
     private HandlerTypeEnum afterHandlerType;
diff --git a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
index 7037772..2d31b69 100644
--- a/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
+++ b/business/src/main/java/com/ycl/service/impl/ProcessLogServiceImpl.java
@@ -5,6 +5,10 @@
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.common.base.Result;
+import com.ycl.common.core.domain.entity.SysDept;
+import com.ycl.common.core.domain.entity.SysRole;
+import com.ycl.common.core.domain.entity.SysUser;
+import com.ycl.common.enums.business.HandlerTypeEnum;
 import com.ycl.common.enums.business.ProcessLogEventTypeEnum;
 import com.ycl.domain.entity.ProcessLog;
 import com.ycl.domain.json.DelegateData;
@@ -16,13 +20,18 @@
 import com.ycl.framework.utils.PageUtil;
 import com.ycl.mapper.ProcessLogMapper;
 import com.ycl.service.ProcessLogService;
+import com.ycl.system.service.ISysDeptService;
+import com.ycl.system.service.ISysRoleService;
+import com.ycl.system.service.ISysUserService;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -36,6 +45,9 @@
 public class ProcessLogServiceImpl extends ServiceImpl<ProcessLogMapper, ProcessLog> implements ProcessLogService {
 
     private final ProcessLogMapper processLogMapper;
+    private final ISysUserService userService;
+    private final ISysDeptService deptService;
+    private final ISysRoleService roleService;
 
     /**
      * 娣诲姞鏃ュ織
@@ -133,16 +145,52 @@
         list.stream().forEach(log -> {
             if (StringUtils.isNotBlank(log.getEventDataJson())) {
                 if (ProcessLogEventTypeEnum.DELEGATE.equals(log.getEventType())) {
-                    log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), DelegateData.class));
+                    DelegateData delegateData = JSON.parseObject(log.getEventDataJson(), DelegateData.class);
+                    // 鏌ヨ杞姙鍚庣殑澶勭悊浜哄悕绉�
+                    List<String> names = new ArrayList<>(2);
+                    List<Long> ids = delegateData.getAfterHandlerIds().stream().map(Long::parseLong).collect(Collectors.toList());
+                    this.getName(delegateData.getAfterHandlerType(), ids, names);
+                    delegateData.setAfterHandlerNames(names);
+                    log.setEventDataObj(delegateData);
                 } else if (ProcessLogEventTypeEnum.JUMP.equals(log.getEventType())) {
                     log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), JumpData.class));
                 } else if (ProcessLogEventTypeEnum.REJECT.equals(log.getEventType())) {
                     log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), RejectData.class));
                 } else if (ProcessLogEventTypeEnum.SUPERVISE.equals(log.getEventType())) {
-                    log.setEventDataObj(JSON.parseObject(log.getEventDataJson(), SuperviseData.class));
+                    SuperviseData superviseData = JSON.parseObject(log.getEventDataJson(), SuperviseData.class);
+                    SysUser user = userService.selectUserById(Long.parseLong(superviseData.getSenderId()));
+                    if (Objects.nonNull(user)) {
+                        superviseData.setSenderName(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
+                    }
+                    log.setEventDataObj(superviseData);
                 }
             }
         });
         return Result.ok().data(list);
     }
+
+    /**
+     * 瑙f瀽娴佺▼鏃ュ織涓殑鏁版嵁-鍚嶇О
+     *
+     * @param handlerType
+     * @param ids
+     * @param names
+     */
+    private void getName(HandlerTypeEnum handlerType, List<Long> ids, List<String> names) {
+        if (HandlerTypeEnum.FIX_USER.equals(handlerType)) {
+            SysUser user = userService.selectUserById(ids.get(0));
+            if (Objects.nonNull(user)) {
+                names.add(user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")");
+            }
+        } else if (HandlerTypeEnum.USER.equals(handlerType)) {
+            List<SysUser> users = userService.selectUserByIds(ids);
+            names = users.stream().map(user -> user.getNickName() + "(" + (Objects.nonNull(user.getDept()) ? user.getDept().getDeptName() : "鏃犻儴闂�") + ")").collect(Collectors.toList());
+        } else if (HandlerTypeEnum.DEPT.equals(handlerType)) {
+            List<SysDept> depts = deptService.selectDeptByIds(ids);
+            names = depts.stream().map(SysDept::getDeptName).collect(Collectors.toList());
+        } else if (HandlerTypeEnum.ROLE.equals(handlerType)) {
+            List<SysRole> roles = roleService.selectRoleByIds(ids);
+            names = roles.stream().map(SysRole::getRoleName).collect(Collectors.toList());
+        }
+    }
 }
diff --git a/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java b/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
index e12e7bd..a9655e4 100644
--- a/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
+++ b/flowable/src/main/java/com/ycl/domain/vo/ProcessLogVO.java
@@ -23,6 +23,9 @@
     @ApiModelProperty("浠诲姟id")
     private String taskId;
 
+    @ApiModelProperty("浠诲姟鍚嶇О")
+    private String taskName;
+
     /** 浜嬩欢鏃ュ織绫诲瀷 */
     @ApiModelProperty("浜嬩欢鏃ュ織绫诲瀷")
     private ProcessLogEventTypeEnum eventType;
diff --git a/flowable/src/main/resources/mapper/ProcessLogMapper.xml b/flowable/src/main/resources/mapper/ProcessLogMapper.xml
index 78dc89a..6dd004e 100644
--- a/flowable/src/main/resources/mapper/ProcessLogMapper.xml
+++ b/flowable/src/main/resources/mapper/ProcessLogMapper.xml
@@ -5,6 +5,7 @@
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProcessLogVO">
         <result column="task_id" property="taskId" />
+        <result column="task_name" property="taskName" />
         <result column="event_type" property="eventType" typeHandler="com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler"/>
         <result column="project_id" property="projectId" />
         <result column="process_ins_id" property="processInsId" />
@@ -23,6 +24,7 @@
     <select id="getById" resultMap="BaseResultMap">
         SELECT
             TFL.task_id,
+            TFL.task_name,
             TFL.event_type,
             TFL.project_id,
             TFL.process_ins_id,
@@ -39,6 +41,7 @@
     <select id="getPage" resultMap="BaseResultMap">
         SELECT
             TFL.task_id,
+            TFL.task_name,
             TFL.event_type,
             TFL.project_id,
             TFL.process_ins_id,
@@ -56,17 +59,19 @@
     <select id="projectProcessLogPage" resultMap="BaseResultMap">
         SELECT
             TFL.task_id,
+            TFL.task_name,
             TFL.event_type,
             TFL.project_id,
             TFL.process_ins_id,
             TFL.user_id,
-            SU.nick_name,
+            CONCAT(SU.nick_name, '(',COALESCE(SD.dept_name, '鏃犻儴闂�'), ')') as nick_name,
             TFL.event_data_json,
             TFL.gmt_create,
             TFL.id
         FROM
             t_process_log TFL
                 LEFT JOIN sys_user SU ON SU.user_id = TFL.user_id
+                LEFT JOIN sys_dept SD ON SU.dept_id = SD.dept_id
         WHERE
             TFL.deleted = 0 AND TFL.project_id = #{query.projectId} AND TFL.process_ins_id = #{query.processInsId}
         ORDER BY
diff --git "a/sql/project_management-2\346\234\21014.sql" "b/sql/project_management-2\346\234\21014.sql"
new file mode 100644
index 0000000..456eaec
--- /dev/null
+++ "b/sql/project_management-2\346\234\21014.sql"
Binary files differ
diff --git a/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java b/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
index 24916bd..49894b1 100644
--- a/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
+++ b/system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
@@ -36,6 +36,8 @@
      */
     public SysDept selectDeptById(Long deptId);
 
+    List<SysDept> selectDeptByIds(List<Long> deptIds);
+
     /**
      * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬
      *
@@ -117,4 +119,5 @@
     public int deleteDeptById(Long deptId);
 
     String selectAncestors(Long userId);
+
 }
diff --git a/system/src/main/java/com/ycl/system/mapper/SysRoleMapper.java b/system/src/main/java/com/ycl/system/mapper/SysRoleMapper.java
index 8725d49..ee29c8c 100644
--- a/system/src/main/java/com/ycl/system/mapper/SysRoleMapper.java
+++ b/system/src/main/java/com/ycl/system/mapper/SysRoleMapper.java
@@ -49,6 +49,8 @@
      */
     public SysRole selectRoleById(Long roleId);
 
+    public List<SysRole> selectRoleByIds(List<Long> roleIds);
+
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊
      *
diff --git a/system/src/main/java/com/ycl/system/mapper/SysUserMapper.java b/system/src/main/java/com/ycl/system/mapper/SysUserMapper.java
index ccedacb..91e35fe 100644
--- a/system/src/main/java/com/ycl/system/mapper/SysUserMapper.java
+++ b/system/src/main/java/com/ycl/system/mapper/SysUserMapper.java
@@ -51,6 +51,8 @@
      */
     public SysUser selectUserById(Long userId);
 
+    public List<SysUser> selectUserByIds(List<Long> userIds);
+
     /**
      * 鏂板鐢ㄦ埛淇℃伅
      *
diff --git a/system/src/main/java/com/ycl/system/service/ISysDeptService.java b/system/src/main/java/com/ycl/system/service/ISysDeptService.java
index 06c068a..6d0bf90 100644
--- a/system/src/main/java/com/ycl/system/service/ISysDeptService.java
+++ b/system/src/main/java/com/ycl/system/service/ISysDeptService.java
@@ -75,6 +75,8 @@
      */
     public SysDept selectDeptById(Long deptId);
 
+    public List<SysDept> selectDeptByIds(List<Long> deptIds);
+
     /**
      * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級
      *
diff --git a/system/src/main/java/com/ycl/system/service/ISysRoleService.java b/system/src/main/java/com/ycl/system/service/ISysRoleService.java
index 411466e..aa8ddf3 100644
--- a/system/src/main/java/com/ycl/system/service/ISysRoleService.java
+++ b/system/src/main/java/com/ycl/system/service/ISysRoleService.java
@@ -7,14 +7,14 @@
 
 /**
  * 瑙掕壊涓氬姟灞�
- * 
+ *
  * @author ycl
  */
 public interface ISysRoleService
 {
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瑙掕壊鏁版嵁
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 瑙掕壊鏁版嵁闆嗗悎淇℃伅
      */
@@ -22,7 +22,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊鍒楄〃
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 瑙掕壊鍒楄〃
      */
@@ -30,7 +30,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -38,14 +38,14 @@
 
     /**
      * 鏌ヨ鎵�鏈夎鑹�
-     * 
+     *
      * @return 瑙掕壊鍒楄〃
      */
     public List<SysRole> selectRoleAll();
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛�
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 閫変腑瑙掕壊ID鍒楄〃
      */
@@ -53,15 +53,17 @@
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 瑙掕壊瀵硅薄淇℃伅
      */
     public SysRole selectRoleById(Long roleId);
 
+    public List<SysRole> selectRoleByIds(List<Long> roleIds);
+
     /**
      * 鏍¢獙瑙掕壊鍚嶇О鏄惁鍞竴
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -69,7 +71,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏉冮檺鏄惁鍞竴
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -77,21 +79,21 @@
 
     /**
      * 鏍¢獙瑙掕壊鏄惁鍏佽鎿嶄綔
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      */
     public void checkRoleAllowed(SysRole role);
 
     /**
      * 鏍¢獙瑙掕壊鏄惁鏈夋暟鎹潈闄�
-     * 
+     *
      * @param roleId 瑙掕壊id
      */
     public void checkRoleDataScope(Long roleId);
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊浣跨敤鏁伴噺
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -99,7 +101,7 @@
 
     /**
      * 鏂板淇濆瓨瑙掕壊淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -107,7 +109,7 @@
 
     /**
      * 淇敼淇濆瓨瑙掕壊淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -115,7 +117,7 @@
 
     /**
      * 淇敼瑙掕壊鐘舵��
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -123,7 +125,7 @@
 
     /**
      * 淇敼鏁版嵁鏉冮檺淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -131,7 +133,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鍒犻櫎瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -139,7 +141,7 @@
 
     /**
      * 鎵归噺鍒犻櫎瑙掕壊淇℃伅
-     * 
+     *
      * @param roleIds 闇�瑕佸垹闄ょ殑瑙掕壊ID
      * @return 缁撴灉
      */
@@ -147,7 +149,7 @@
 
     /**
      * 鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param userRole 鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
      * @return 缁撴灉
      */
@@ -155,7 +157,7 @@
 
     /**
      * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佸彇娑堟巿鏉冪殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
@@ -164,7 +166,7 @@
 
     /**
      * 鎵归噺閫夋嫨鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佸垹闄ょ殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
diff --git a/system/src/main/java/com/ycl/system/service/ISysUserService.java b/system/src/main/java/com/ycl/system/service/ISysUserService.java
index 0ed4f8f..3a63496 100644
--- a/system/src/main/java/com/ycl/system/service/ISysUserService.java
+++ b/system/src/main/java/com/ycl/system/service/ISysUserService.java
@@ -53,6 +53,14 @@
     public SysUser selectUserById(Long userId);
 
     /**
+     * 閫氳繃鐢ㄦ埛IDs鏌ヨ鐢ㄦ埛
+     *
+     * @param userIds 鐢ㄦ埛ID
+     * @return 鐢ㄦ埛瀵硅薄淇℃伅
+     */
+    public List<SysUser> selectUserByIds(List<Long> userIds);
+
+    /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍
      *
      * @param userName 鐢ㄦ埛鍚�
diff --git a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
index b24b1ea..6e291af 100644
--- a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
+++ b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
@@ -172,6 +172,11 @@
         return deptMapper.selectDeptById(deptId);
     }
 
+    @Override
+    public List<SysDept> selectDeptByIds(List<Long> deptIds) {
+        return deptMapper.selectDeptByIds(deptIds);
+    }
+
     /**
      * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級
      *
diff --git a/system/src/main/java/com/ycl/system/service/impl/SysRoleServiceImpl.java b/system/src/main/java/com/ycl/system/service/impl/SysRoleServiceImpl.java
index 44f9e5e..17c9157 100644
--- a/system/src/main/java/com/ycl/system/service/impl/SysRoleServiceImpl.java
+++ b/system/src/main/java/com/ycl/system/service/impl/SysRoleServiceImpl.java
@@ -27,7 +27,7 @@
 
 /**
  * 瑙掕壊 涓氬姟灞傚鐞�
- * 
+ *
  * @author ycl
  */
 @Service
@@ -47,7 +47,7 @@
 
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瑙掕壊鏁版嵁
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 瑙掕壊鏁版嵁闆嗗悎淇℃伅
      */
@@ -60,7 +60,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ瑙掕壊
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 瑙掕壊鍒楄〃
      */
@@ -85,7 +85,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鏉冮檺
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 鏉冮檺鍒楄〃
      */
@@ -106,7 +106,7 @@
 
     /**
      * 鏌ヨ鎵�鏈夎鑹�
-     * 
+     *
      * @return 瑙掕壊鍒楄〃
      */
     @Override
@@ -117,7 +117,7 @@
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛�
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 閫変腑瑙掕壊ID鍒楄〃
      */
@@ -129,7 +129,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 瑙掕壊瀵硅薄淇℃伅
      */
@@ -139,9 +139,14 @@
         return roleMapper.selectRoleById(roleId);
     }
 
+    @Override
+    public List<SysRole> selectRoleByIds(List<Long> roleIds) {
+        return roleMapper.selectRoleByIds(roleIds);
+    }
+
     /**
      * 鏍¢獙瑙掕壊鍚嶇О鏄惁鍞竴
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -159,7 +164,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏉冮檺鏄惁鍞竴
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -177,7 +182,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏄惁鍏佽鎿嶄綔
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      */
     @Override
@@ -191,7 +196,7 @@
 
     /**
      * 鏍¢獙瑙掕壊鏄惁鏈夋暟鎹潈闄�
-     * 
+     *
      * @param roleId 瑙掕壊id
      */
     @Override
@@ -211,7 +216,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鏌ヨ瑙掕壊浣跨敤鏁伴噺
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -223,7 +228,7 @@
 
     /**
      * 鏂板淇濆瓨瑙掕壊淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -238,7 +243,7 @@
 
     /**
      * 淇敼淇濆瓨瑙掕壊淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -255,7 +260,7 @@
 
     /**
      * 淇敼瑙掕壊鐘舵��
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -267,7 +272,7 @@
 
     /**
      * 淇敼鏁版嵁鏉冮檺淇℃伅
-     * 
+     *
      * @param role 瑙掕壊淇℃伅
      * @return 缁撴灉
      */
@@ -285,7 +290,7 @@
 
     /**
      * 鏂板瑙掕壊鑿滃崟淇℃伅
-     * 
+     *
      * @param role 瑙掕壊瀵硅薄
      */
     public int insertRoleMenu(SysRole role)
@@ -333,7 +338,7 @@
 
     /**
      * 閫氳繃瑙掕壊ID鍒犻櫎瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @return 缁撴灉
      */
@@ -350,7 +355,7 @@
 
     /**
      * 鎵归噺鍒犻櫎瑙掕壊淇℃伅
-     * 
+     *
      * @param roleIds 闇�瑕佸垹闄ょ殑瑙掕壊ID
      * @return 缁撴灉
      */
@@ -377,7 +382,7 @@
 
     /**
      * 鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param userRole 鐢ㄦ埛鍜岃鑹插叧鑱斾俊鎭�
      * @return 缁撴灉
      */
@@ -389,7 +394,7 @@
 
     /**
      * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佸彇娑堟巿鏉冪殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
@@ -402,7 +407,7 @@
 
     /**
      * 鎵归噺閫夋嫨鎺堟潈鐢ㄦ埛瑙掕壊
-     * 
+     *
      * @param roleId 瑙掕壊ID
      * @param userIds 闇�瑕佹巿鏉冪殑鐢ㄦ埛鏁版嵁ID
      * @return 缁撴灉
diff --git a/system/src/main/java/com/ycl/system/service/impl/SysUserServiceImpl.java b/system/src/main/java/com/ycl/system/service/impl/SysUserServiceImpl.java
index d78a816..191b39d 100644
--- a/system/src/main/java/com/ycl/system/service/impl/SysUserServiceImpl.java
+++ b/system/src/main/java/com/ycl/system/service/impl/SysUserServiceImpl.java
@@ -129,6 +129,11 @@
         return userMapper.selectUserById(userId);
     }
 
+    @Override
+    public List<SysUser> selectUserByIds(List<Long> userIds) {
+        return userMapper.selectUserByIds(userIds);
+    }
+
     /**
      * 鏌ヨ鐢ㄦ埛鎵�灞炶鑹茬粍
      *
diff --git a/system/src/main/resources/mapper/system/SysDeptMapper.xml b/system/src/main/resources/mapper/system/SysDeptMapper.xml
index 049098e..e0faa04 100644
--- a/system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -65,6 +65,13 @@
 		where d.dept_id = #{deptId}
 	</select>
 
+	<select id="selectDeptByIds" parameterType="Long" resultMap="SysDeptResult">
+		select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status,
+			   (select dept_name from sys_dept where dept_id = d.parent_id) parent_name
+		from sys_dept d
+		where d.dept_id in <foreach collection="deptIds" open="(" separator="," close=")" item="deptId">#{deptId}</foreach>
+	</select>
+
     <select id="checkDeptExistUser" parameterType="Long" resultType="int">
 		select count(1) from sys_user where dept_id = #{deptId} and del_flag = '0'
 	</select>
diff --git a/system/src/main/resources/mapper/system/SysRoleMapper.xml b/system/src/main/resources/mapper/system/SysRoleMapper.xml
index 4539c07..8232822 100644
--- a/system/src/main/resources/mapper/system/SysRoleMapper.xml
+++ b/system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -78,6 +78,11 @@
 		where r.role_id = #{roleId}
 	</select>
 
+	<select id="selectRoleByIds" parameterType="Long" resultMap="SysRoleResult">
+		<include refid="selectRoleVo"/>
+		where r.role_id in <foreach collection="roleIds" open="(" separator="," close=")" item="roleId">#{roleId}</foreach>
+	</select>
+
 	<select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult">
 		<include refid="selectRoleVo"/>
 		WHERE r.del_flag = '0' and u.user_name = #{userName}
diff --git a/system/src/main/resources/mapper/system/SysUserMapper.xml b/system/src/main/resources/mapper/system/SysUserMapper.xml
index b01ab9b..4e2e32b 100644
--- a/system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -133,6 +133,11 @@
 		where u.user_id = #{userId}
 	</select>
 
+	<select id="selectUserByIds" parameterType="Long" resultMap="SysUserResult">
+		<include refid="selectUserVo"/>
+		where u.user_id in <foreach collection="userIds" open="(" separator="," close=")" item="userId">#{userId}</foreach>
+	</select>
+
 	<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1
 	</select>

--
Gitblit v1.8.0