feat(flow): 扩展流程发起人权限验证支持岗位类型

- 在NodeUserTypeEnum中新增POST类型以支持岗位权限验证
- 修改CombinationGroupServiceImpl中的权限验证逻辑,增加对岗位权限的检查
- 调整PigxUser结构以支持多部门、多角色、多岗位的存储
- 更新AssignUserLeaderStrategyImpl以适配用户的多部门信息
- 在SysDeptServiceImpl的getOrgTree方法中增加对岗位类型的支持
- 优化UserVO中集合属性的初始化以避免空指针异常
This commit is contained in:
claudecode committed 2025-10-17 15:42:09 +08:00
1 parent 7710baa92a
commit d16d8bc18a
8 files changed
+160 -173

No files matched your search

@@ -20,53 +20,53 @@ import java.util.List;
* 主要包括流程查询、流程启动等操作。该接口用于微服务间的远程调用,
* 使其他服务能够便捷地使用流程引擎的功能。
* </p>
*
*
* @author lengleng
* @date 2025/07/12
*/
@FeignClient(contextId = "remoteFlowApiFlowService", value = ServiceNameConstants.FLOW_SERVER)
@FeignClient(contextId = "remoteFlowApiFlowService", value = ServiceNameConstants.FLOW_ENGINE_SERVER)
public interface RemoteFlowApiFlowService {
/**
* 查询当前用户可发起的流程列表
* <p>
* 根据当前登录用户的权限,查询该用户有权发起的所有流程。
* 返回结果按分组组织,方便前端展示。
* </p>
*
* @return 分组后的流程列表,包含分组信息和各分组下的流程
*/
@GetMapping("/combination/group/listCurrentUserStartGroup")
R<List<FormGroupVo>> listCurrentUserStartGroup();
/**
* 查询当前用户可发起的流程列表
* <p>
* 根据当前登录用户的权限,查询该用户有权发起的所有流程。
* 返回结果按分组组织,方便前端展示。
* </p>
*
* @return 分组后的流程列表,包含分组信息和各分组下的流程
*/
@GetMapping("/combination/group/listCurrentUserStartGroup")
R<List<FormGroupVo>> listCurrentUserStartGroup();
/**
* 获取流程详细信息
* <p>
* 根据流程ID获取流程的完整配置信息,包括:
* - 流程基本信息(名称、图标、描述等)
* - 表单配置(表单项定义、验证规则等)
* - 流程配置(节点定义、流转规则等)
* </p>
*
* @param flowId 流程定义ID
* @return 流程详细信息视图对象
*/
@GetMapping("/process/getDetail")
R<ProcessVO> getDetail(@RequestParam("flowId") String flowId);
/**
* 获取流程详细信息
* <p>
* 根据流程ID获取流程的完整配置信息,包括:
* - 流程基本信息(名称、图标、描述等)
* - 表单配置(表单项定义、验证规则等)
* - 流程配置(节点定义、流转规则等)
* </p>
*
* @param flowId 流程定义ID
* @return 流程详细信息视图对象
*/
@GetMapping("/process/getDetail")
R<ProcessVO> getDetail(@RequestParam("flowId") String flowId);
/**
* 启动流程实例
* <p>
* 根据流程定义创建新的流程实例。启动流程时需要提供:
* - 流程ID
* - 表单数据
* - 需要自选的节点执行人信息
* </p>
*
* @param paramDto 流程实例启动参数,包含流程ID、表单数据等
* @return 启动成功后的流程实例ID
*/
@PostMapping("/process-instance/startProcessInstance")
R<String> startProcessInstance(@RequestBody ProcessInstanceParamDto paramDto);
/**
* 启动流程实例
* <p>
* 根据流程定义创建新的流程实例。启动流程时需要提供:
* - 流程ID
* - 表单数据
* - 需要自选的节点执行人信息
* </p>
*
* @param paramDto 流程实例启动参数,包含流程ID、表单数据等
* @return 启动成功后的流程实例ID
*/
@PostMapping("/process-instance/startProcessInstance")
R<String> startProcessInstance(@RequestBody ProcessInstanceParamDto paramDto);
}