package cn.iocoder.yudao.module.system.api.approval;
|
|
import java.util.Set;
|
|
/**
|
* 通用审批配置 API 接口
|
*
|
* 供各业务模块(ERP / CRM / HRM / MES / 售后)在提交审批、执行审核时调用,
|
* 替代原先依赖 BPM(Flowable)流程定义的方式。
|
*
|
* @author 超级管理员
|
*/
|
public interface ApprovalConfigApi {
|
|
/**
|
* 校验业务类型已启用审批且配置了有效审批人,并返回审批人编号集合
|
*
|
* 业务模块在「提交审核」时调用。校验失败时抛出业务异常:
|
* 未配置审批 / 未启用审批 / 未配置审批人。
|
*
|
* @param bizType 业务类型编码
|
* @return 审批人用户编号集合
|
*/
|
Set<Long> validateApprovalEnabledAndGetApprovers(String bizType);
|
|
/**
|
* 校验指定用户是否为该业务类型的审批人
|
*
|
* 业务模块在「执行审核」时调用,非审批人将抛出业务异常。
|
*
|
* @param bizType 业务类型编码
|
* @param userId 用户编号
|
*/
|
void validateApprover(String bizType, Long userId);
|
|
/**
|
* 获得指定业务类型的审批人编号集合
|
*
|
* 用于列表页判断是否展示审核按钮,未配置时返回空集合。
|
*
|
* @param bizType 业务类型编码
|
* @return 审批人用户编号集合
|
*/
|
Set<Long> getApproverUserIds(String bizType);
|
|
/**
|
* 判断指定用户是否为该业务类型的审批人
|
*
|
* @param bizType 业务类型编码
|
* @param userId 用户编号
|
* @return 是否为审批人
|
*/
|
default boolean isApprover(String bizType, Long userId) {
|
return userId != null && getApproverUserIds(bizType).contains(userId);
|
}
|
|
}
|