|
@@ -1,22 +1,16 @@
|
|
|
package org.dromara.workflow.handler;
|
|
package org.dromara.workflow.handler;
|
|
|
|
|
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.dromara.common.core.domain.model.LoginUser;
|
|
|
|
|
-import org.dromara.workflow.common.ConditionalOnEnable;
|
|
|
|
|
-import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
|
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
import org.dromara.warm.flow.core.dto.FlowParams;
|
|
import org.dromara.warm.flow.core.dto.FlowParams;
|
|
|
import org.dromara.warm.flow.core.handler.PermissionHandler;
|
|
import org.dromara.warm.flow.core.handler.PermissionHandler;
|
|
|
import org.dromara.warm.flow.core.service.impl.TaskServiceImpl;
|
|
import org.dromara.warm.flow.core.service.impl.TaskServiceImpl;
|
|
|
|
|
+import org.dromara.workflow.common.ConditionalOnEnable;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
|
-import java.util.Collection;
|
|
|
|
|
|
|
+import java.util.Collections;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 办理人权限处理器
|
|
* 办理人权限处理器
|
|
@@ -36,28 +30,7 @@ public class WorkflowPermissionHandler implements PermissionHandler {
|
|
|
*/
|
|
*/
|
|
|
@Override
|
|
@Override
|
|
|
public List<String> permissions() {
|
|
public List<String> permissions() {
|
|
|
- LoginUser loginUser = LoginHelper.getLoginUser();
|
|
|
|
|
- if (ObjectUtil.isNull(loginUser)) {
|
|
|
|
|
- return new ArrayList<>();
|
|
|
|
|
- }
|
|
|
|
|
- // 使用一个流来构建权限列表
|
|
|
|
|
- return Stream.of(
|
|
|
|
|
- // 角色权限前缀
|
|
|
|
|
- loginUser.getRoles().stream()
|
|
|
|
|
- .map(role -> TaskAssigneeEnum.ROLE.getCode() + role.getRoleId()),
|
|
|
|
|
-
|
|
|
|
|
- // 岗位权限前缀
|
|
|
|
|
- Stream.ofNullable(loginUser.getPosts())
|
|
|
|
|
- .flatMap(Collection::stream)
|
|
|
|
|
- .map(post -> TaskAssigneeEnum.POST.getCode() + post.getPostId()),
|
|
|
|
|
-
|
|
|
|
|
- // 用户和部门权限
|
|
|
|
|
- Stream.of(String.valueOf(loginUser.getUserId()),
|
|
|
|
|
- TaskAssigneeEnum.DEPT.getCode() + loginUser.getDeptId()
|
|
|
|
|
- )
|
|
|
|
|
- )
|
|
|
|
|
- .flatMap(stream -> stream)
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ return Collections.singletonList(LoginHelper.getUserIdStr());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|