update 优化 工作流代码小改动

dev
疯狂的狮子Li 6 months ago
parent 06b145cb83
commit df7f282e41

@ -3,11 +3,14 @@ package org.dromara.workflow.handler;
import cn.hutool.core.collection.CollUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.api.domain.vo.RemoteUserVo;
import org.dromara.warm.flow.core.dto.FlowParams;
import org.dromara.warm.flow.core.handler.PermissionHandler;
import org.dromara.workflow.common.ConditionalOnEnable;
import org.dromara.workflow.service.IFlwCommonService;
import org.dromara.workflow.service.IFlwTaskAssigneeService;
import org.springframework.stereotype.Component;
import java.util.Collections;
@ -24,7 +27,7 @@ import java.util.List;
@Slf4j
public class WorkflowPermissionHandler implements PermissionHandler {
private final IFlwCommonService flwCommonService;
private final IFlwTaskAssigneeService flwTaskAssigneeService;
/**
*
@ -51,9 +54,12 @@ public class WorkflowPermissionHandler implements PermissionHandler {
*/
@Override
public List<String> convertPermissions(List<String> permissions) {
if (CollUtil.isNotEmpty(permissions)) {
permissions = flwCommonService.buildUser(permissions);
if (CollUtil.isEmpty(permissions)) {
return permissions;
}
return permissions;
String storageIds = CollUtil.join(permissions, StringUtils.SEPARATOR);
List<RemoteUserVo> users = flwTaskAssigneeService.fetchUsersByStorageIds(storageIds);
return StreamUtils.toList(users, userDTO -> String.valueOf(userDTO.getUserId()));
}
}

@ -9,8 +9,6 @@ import org.dromara.workflow.domain.bo.FlowTaskBo;
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
import org.dromara.workflow.domain.vo.FlowTaskVo;
import java.util.List;
/**
* Mapper
@ -29,14 +27,6 @@ public interface FlwTaskMapper {
*/
Page<FlowTaskVo> getListRunTask(@Param("page") Page<FlowTaskVo> page, @Param(Constants.WRAPPER) Wrapper<FlowTaskBo> queryWrapper);
/**
*
*
* @param queryWrapper
* @return
*/
List<FlowTaskVo> getListRunTask(@Param(Constants.WRAPPER) Wrapper<FlowTaskBo> queryWrapper);
/**
*
*

@ -9,14 +9,6 @@ import java.util.List;
*/
public interface IFlwCommonService {
/**
*
*
* @param permissionList
* @return
*/
List<String> buildUser(List<String> permissionList);
/**
*
*

@ -52,24 +52,6 @@ public class FlwCommonServiceImpl implements IFlwCommonService {
@DubboReference
private RemoteMailService remoteMailService;
/**
*
*
* @param permissionList
* @return
*/
@Override
public List<String> buildUser(List<String> permissionList) {
if (CollUtil.isEmpty(permissionList)) {
return List.of();
}
IFlwTaskAssigneeService taskAssigneeService = SpringUtils.getBean(IFlwTaskAssigneeService.class);
String processedBys = CollUtil.join(permissionList, StringUtils.SEPARATOR);
// 根据 processedBy 前缀判断处理人类型,分别获取用户列表
List<RemoteUserVo> users = taskAssigneeService.fetchUsersByStorageIds(processedBys);
return StreamUtils.toList(users, userDTO -> String.valueOf(userDTO.getUserId()));
}
/**
*
*

Loading…
Cancel
Save