Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
69e1b420
提交
69e1b420
authored
6月 23, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
9c64cf16
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
117 行增加
和
0 行删除
+117
-0
RemoteDeptService.java
...c/main/java/org/dromara/system/api/RemoteDeptService.java
+11
-0
RemoteDeptServiceImpl.java
.../java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java
+15
-0
ISysUserService.java
...main/java/org/dromara/system/service/ISysUserService.java
+9
-0
SysUserServiceImpl.java
...a/org/dromara/system/service/impl/SysUserServiceImpl.java
+22
-0
DeptFileApproveGroupListener.java
...kflow/flowable/listener/DeptFileApproveGroupListener.java
+42
-0
IDeptService.java
.../main/java/org/dromara/workflow/service/IDeptService.java
+11
-0
DeptServiceImpl.java
...va/org/dromara/workflow/service/impl/DeptServiceImpl.java
+7
-0
没有找到文件。
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteDeptService.java
浏览文件 @
69e1b420
package
org
.
dromara
.
system
.
api
;
import
java.util.List
;
/**
* 部门服务
*
...
...
@@ -23,6 +25,15 @@ public interface RemoteDeptService {
*/
Long
selectLeaderIdByUserId
(
Long
userId
);
/**
* 获取用户列表
*
* @param fileId 文件id
* @param roleKey 角色编码
* @return 用户列表
*/
List
<
Long
>
selectUserListByFileIdAndRoleKey
(
Long
fileId
,
String
roleKey
);
/**
* 获取部门负责人id
*
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteDeptServiceImpl.java
浏览文件 @
69e1b420
...
...
@@ -2,6 +2,7 @@ package org.dromara.system.dubbo;
import
lombok.RequiredArgsConstructor
;
import
org.apache.dubbo.config.annotation.DubboService
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.system.api.RemoteDeptService
;
import
org.dromara.system.domain.vo.SysDeptOssVo
;
import
org.dromara.system.domain.vo.SysDeptVo
;
...
...
@@ -11,6 +12,8 @@ import org.dromara.system.service.ISysDeptService;
import
org.dromara.system.service.ISysUserService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 部门服务
*
...
...
@@ -63,4 +66,16 @@ public class RemoteDeptServiceImpl implements RemoteDeptService {
SysDeptVo
dept
=
sysDeptService
.
selectDeptById
(
sdo
.
getDeptId
());
return
dept
.
getLeader
();
}
@Override
public
List
<
Long
>
selectUserListByFileIdAndRoleKey
(
Long
fileId
,
String
roleKey
)
{
if
(
StringUtils
.
isEmpty
(
roleKey
))
{
return
List
.
of
();
}
SysDeptOssVo
sdo
=
deptOssService
.
queryById
(
fileId
);
if
(
sdo
==
null
)
{
return
List
.
of
();
}
return
userService
.
selectUserIdsByRoleKeyAndDeptId
(
roleKey
,
sdo
.
getDeptId
());
}
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java
浏览文件 @
69e1b420
...
...
@@ -284,6 +284,15 @@ public interface ISysUserService {
*/
List
<
Long
>
selectUserIdsByRoleIds
(
List
<
Long
>
roleIds
);
/**
* 通过角色key和部门id查询用户id集合
*
* @param roleKey 角色key
* @param deptId 部门id
* @return 数据
*/
List
<
Long
>
selectUserIdsByRoleKeyAndDeptId
(
String
roleKey
,
Long
deptId
);
/**
* 保存或更新用户信息
*
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
浏览文件 @
69e1b420
...
...
@@ -706,6 +706,28 @@ public class SysUserServiceImpl implements ISysUserService {
return
StreamUtils
.
toList
(
userRoles
,
SysUserRole:
:
getUserId
);
}
@Override
public
List
<
Long
>
selectUserIdsByRoleKeyAndDeptId
(
String
roleKey
,
Long
deptId
)
{
if
(
StringUtils
.
isBlank
(
roleKey
)
||
deptId
==
null
)
{
return
List
.
of
();
}
SysRole
role
=
roleMapper
.
selectOne
(
SysRole:
:
getRoleKey
,
roleKey
);
if
(
role
==
null
)
{
return
List
.
of
();
}
List
<
SysUserRole
>
surList
=
userRoleMapper
.
selectList
(
SysUserRole:
:
getRoleId
,
role
.
getRoleId
());
//获取用户id
if
(
CollectionUtils
.
isEmpty
(
surList
))
{
return
List
.
of
();
}
List
<
SysUser
>
userList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysUser
>()
.
in
(
SysUser:
:
getUserId
,
StreamUtils
.
toList
(
surList
,
SysUserRole:
:
getUserId
))
.
eq
(
SysUser:
:
getStatus
,
UserConstants
.
USER_NORMAL
)
.
eq
(
SysUser:
:
getDeptId
,
deptId
)
.
select
(
SysUser:
:
getUserId
));
return
StreamUtils
.
toList
(
userList
,
SysUser:
:
getUserId
);
}
/**
* 通过用户ID查询用户账户
*
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/listener/DeptFileApproveGroupListener.java
0 → 100644
浏览文件 @
69e1b420
package
org
.
dromara
.
workflow
.
flowable
.
listener
;
import
lombok.extern.slf4j.Slf4j
;
import
org.dromara.common.core.utils.SpringUtils
;
import
org.dromara.workflow.common.constant.FlowConstant
;
import
org.dromara.workflow.domain.FileApprove
;
import
org.dromara.workflow.mapper.FileApproveMapper
;
import
org.dromara.workflow.service.IDeptService
;
import
org.flowable.task.service.delegate.DelegateTask
;
import
org.flowable.task.service.delegate.TaskListener
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
/**
* 部门文件下载申请自定义审批人监听器
*
* @author wenhe
*/
@Component
@Slf4j
public
class
DeptFileApproveGroupListener
implements
TaskListener
{
@Override
public
void
notify
(
DelegateTask
delegateTask
)
{
// 获取业务id
Long
businessKey
=
Long
.
parseLong
(
delegateTask
.
getVariable
(
FlowConstant
.
BUSINESS_KEY
).
toString
());
FileApproveMapper
mapper
=
SpringUtils
.
getBean
(
FileApproveMapper
.
class
);
FileApprove
fa
=
mapper
.
selectById
(
businessKey
);
IDeptService
deptService
=
SpringUtils
.
getBean
(
IDeptService
.
class
);
// 调用服务获取审批人列表
List
<
Long
>
userIds
=
deptService
.
selectUserListByFileIdAndRoleKey
(
fa
.
getSysDeptFileId
(),
"file_approve"
);
// 设置候选用户
delegateTask
.
setVariable
(
"group"
,
userIds
);
}
}
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IDeptService.java
浏览文件 @
69e1b420
package
org
.
dromara
.
workflow
.
service
;
import
java.util.List
;
public
interface
IDeptService
{
/**
...
...
@@ -18,4 +20,13 @@ public interface IDeptService {
*/
Long
selectLeaderIdByFileId
(
Long
fileId
);
/**
* 获取用户列表
*
* @param fileId 文件id
* @param roleKey 角色编码
* @return 用户列表
*/
List
<
Long
>
selectUserListByFileIdAndRoleKey
(
Long
fileId
,
String
roleKey
);
}
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/DeptServiceImpl.java
浏览文件 @
69e1b420
...
...
@@ -6,6 +6,8 @@ import org.dromara.system.api.RemoteDeptService;
import
org.dromara.workflow.service.IDeptService
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author hzh
* @date 2025-05-20
...
...
@@ -26,4 +28,9 @@ public class DeptServiceImpl implements IDeptService {
public
Long
selectLeaderIdByFileId
(
Long
fileId
)
{
return
remoteDeptService
.
selectLeaderIdByFileId
(
fileId
);
}
@Override
public
List
<
Long
>
selectUserListByFileIdAndRoleKey
(
Long
fileId
,
String
roleKey
)
{
return
remoteDeptService
.
selectUserListByFileIdAndRoleKey
(
fileId
,
roleKey
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论