From b9e71660ca35e947ccac8079d3033b88ece5190e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 22 五月 2026 16:01:21 +0800
Subject: [PATCH] fix(approve): 修复审批流程中空节点ID列表导致的异常
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 1 +
src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java | 10 +++-------
src/main/resources/mapper/system/SysUserMapper.xml | 18 +++++++++++-------
3 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index 219fa6f..c152605 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -72,6 +72,7 @@
List<Long> nodeIds = list.stream()
.map(ApproveProcessConfigNodeVo::getApproverId)
.collect(Collectors.toList());
+ if (nodeIds.isEmpty()) throw new RuntimeException("娣诲姞瀹℃壒鑺傜偣鍜屼汉鍛�");
List<SysUser> sysUsers = sysUserMapper.selectUserByIds(nodeIds);
if (CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
if (sysDept == null) throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
diff --git a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index 5507b3f..831f1b5 100644
--- a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -1,15 +1,11 @@
package com.ruoyi.project.system.mapper;
-import java.util.ArrayList;
-import java.util.List;
-
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.collaborativeApproval.pojo.MeetingMinutes;
+import com.ruoyi.project.system.domain.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
-import com.ruoyi.project.system.domain.SysUser;
-import org.springframework.beans.PropertyValues;
+import java.util.List;
/**
* 鐢ㄦ埛琛� 鏁版嵁灞�
@@ -149,7 +145,7 @@
*/
public SysUser checkEmailUnique(String email);
- List<SysUser> selectRegistrantIds(List<Long> registrantIds);
+ List<SysUser> selectRegistrantIds(@Param("registrantIds") List<Long> registrantIds);
List<SysUser> selectUsersByIds(@Param("userIds") List<Long> userIds);
diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml
index 9d799bf..16b0d40 100644
--- a/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/src/main/resources/mapper/system/SysUserMapper.xml
@@ -161,21 +161,25 @@
</select>
<select id="selectUserByIds" resultType="com.ruoyi.project.system.domain.SysUser">
<include refid="selectUserVo"/>
- where u.user_id in <foreach collection="userIds" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- and u.del_flag = '0'
+ <where>
+ u.del_flag = '0'
+ <if test="userIds != null and userIds.size() > 0">
+ and u.user_id in <foreach collection="userIds" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ </where>
</select>
<select id="selectRegistrantIds" resultType="com.ruoyi.project.system.domain.SysUser">
SELECT user_id, nick_name FROM sys_user
<where>
- <if test="list != null and list.size() > 0">
+ <if test="registrantIds != null and registrantIds.size() > 0">
user_id IN
- <foreach item="id" collection="list" open="(" separator="," close=")">
+ <foreach item="id" collection="registrantIds" open="(" separator="," close=")">
#{id}
</foreach>
</if>
- <if test="list == null or list.size() == 0">
+ <if test="registrantIds == null or registrantIds.size() == 0">
1=0 <!-- 绌哄垪琛ㄦ椂杩斿洖绌虹粨鏋� -->
</if>
</where>
--
Gitblit v1.9.3