package org.dromara.workflow.rule; import cn.hutool.core.util.ObjectUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.DeptService; import org.dromara.workflow.common.ConditionalOnEnable; import org.springframework.stereotype.Component; /** * spel表达式规则组件 *

* 通过该组件统一管理流程定义中的spel表达式 *

* * @author Michelle.Chung */ @ConditionalOnEnable @Slf4j @Component @RequiredArgsConstructor public class SpelRuleComponent { private final DeptService deptService; /** * 通过发起人部门id获取部门负责人 */ public Long selectDeptLeaderById(Long initiatorDeptId) { Long leaderId = deptService.selectDeptLeaderById(initiatorDeptId); if (ObjectUtil.isNull(leaderId)) { throw new ServiceException("当前部门未设置负责人,请联系管理员操作。"); } return leaderId; } }