update 优化工作流工具,避免多次获取请求

This commit is contained in:
AprilWind 2024-11-12 10:31:10 +08:00
parent dd01def219
commit e82352deff

View File

@ -6,16 +6,17 @@ import com.warm.flow.core.entity.User;
import com.warm.flow.orm.entity.FlowUser; import com.warm.flow.orm.entity.FlowUser;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.core.domain.dto.RoleDTO;
import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.service.UserService; import org.dromara.common.core.service.UserService;
import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.workflow.common.enums.TaskAssigneeEnum; import org.dromara.workflow.common.enums.TaskAssigneeEnum;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/** /**
* 工作流工具 * 工作流工具
@ -31,12 +32,16 @@ public class WorkflowUtils {
* @return 权限列表 * @return 权限列表
*/ */
public static List<String> permissionList() { public static List<String> permissionList() {
List<RoleDTO> roles = LoginHelper.getLoginUser().getRoles(); LoginUser loginUser = LoginHelper.getLoginUser();
Long deptId = LoginHelper.getDeptId(); Long deptId = loginUser.getDeptId();
List<String> permissionList = StreamUtils.toList(roles, role -> TaskAssigneeEnum.ROLE.getCode() + role.getRoleId()); //todo 岗位获取待考虑
permissionList.add(LoginHelper.getUserIdStr()); return Stream.concat(
permissionList.add(TaskAssigneeEnum.DEPT.getCode() + deptId); loginUser.getRoles().stream().map(role -> TaskAssigneeEnum.ROLE.getCode() + role.getRoleId()),
return permissionList; Stream.of(
TaskAssigneeEnum.USER.getCode() + loginUser.getUserId(),
TaskAssigneeEnum.DEPT.getCode() + deptId
)
).collect(Collectors.toList());
} }
/** /**