Merge branch 'warm-flow-future' of https://gitee.com/dromara/RuoYi-Vue-Plus into warm-flow-future

This commit is contained in:
gssong 2024-12-15 00:22:32 +08:00
commit 71a4577995
7 changed files with 39 additions and 53 deletions

View File

@ -32,9 +32,4 @@ public interface TransConstant {
*/
String OSS_ID_TO_URL = "oss_id_to_url";
/**
* 任务Id转任务办理人名称
*/
String TASK_ID_TO_ASSIGNEE = "task_id_to_assignee";
}

View File

@ -8,6 +8,11 @@ package org.dromara.workflow.common.constant;
*/
public interface FlowConstant {
/**
* 任务Id转任务办理人名称
*/
String TASK_ID_TO_ASSIGNEE = "task_id_to_assignee";
/**
* 流程发起人
*/

View File

@ -4,6 +4,7 @@ import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.warm.flow.core.entity.User;
import org.dromara.workflow.common.constant.FlowConstant;
import java.io.Serial;
import java.io.Serializable;
@ -123,7 +124,7 @@ public class FlowTaskVo implements Serializable {
/**
* 办理人名称
*/
@Translation(type = TransConstant.TASK_ID_TO_ASSIGNEE, mapper = "id")
@Translation(type = FlowConstant.TASK_ID_TO_ASSIGNEE, mapper = "id")
private String transactorNames;
/**

View File

@ -1,30 +0,0 @@
package org.dromara.workflow.service;
import org.dromara.common.core.domain.dto.UserDTO;
import java.util.List;
/**
* 通用 办理人服务
*
* @author AprilWind
*/
public interface AssigneeService {
/**
* 通过taskId查询对应的任务办理人
*
* @param taskIds taskId串逗号分隔
* @return 任务办理人名称串逗号分隔
*/
String selectAssigneeByIds(String taskIds);
/**
* 通过taskId查询对应的任务办理人列表
*
* @param taskIdList 任务id
* @return 列表
*/
List<UserDTO> selectByIds(List<Long> taskIdList);
}

View File

@ -3,7 +3,6 @@ package org.dromara.workflow.service;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.warm.flow.core.entity.HisTask;
import org.dromara.warm.flow.orm.entity.FlowHisTask;
import org.dromara.warm.flow.orm.entity.FlowTask;
import org.dromara.workflow.domain.bo.*;
@ -115,6 +114,22 @@ public interface IFlwTaskService {
*/
boolean terminationTask(FlowTerminationBo bo);
/**
* 通过taskId查询对应的任务办理人
*
* @param taskIds taskId串逗号分隔
* @return 任务办理人名称串逗号分隔
*/
String selectAssigneeNamesByIds(String taskIds);
/**
* 通过taskId查询对应的任务办理人列表
*
* @param taskIdList 任务id
* @return 列表
*/
List<UserDTO> selectAssigneeByIds(List<Long> taskIdList);
/**
* 按照任务id查询任务
*

View File

@ -2,6 +2,7 @@ package org.dromara.workflow.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
@ -12,7 +13,6 @@ import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.dto.UserDTO;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.workflow.service.AssigneeService;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
@ -61,7 +61,7 @@ import static org.dromara.workflow.common.constant.FlowConstant.*;
@Slf4j
@RequiredArgsConstructor
@Service
public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
public class FlwTaskServiceImpl implements IFlwTaskService {
private final TaskService taskService;
private final InsService insService;
@ -417,16 +417,16 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
* @return 任务办理人名称串逗号分隔
*/
@Override
public String selectAssigneeByIds(String taskIds) {
public String selectAssigneeNamesByIds(String taskIds) {
if (StringUtils.isBlank(taskIds)) {
return null;
}
List<User> userList = userService.getByAssociateds(List.of(Long.valueOf(taskIds))
, UserType.APPROVAL.getKey(), UserType.TRANSFER.getKey(), UserType.DEPUTE.getKey());
// 获取处理用户的昵称并将其合并为一个字符串
return WorkflowUtils.getHandlerUser(userList).stream()
.map(UserDTO::getNickName)
.collect(Collectors.joining(","));
List<Long> taskIdList = StringUtils.splitTo(taskIds, Convert::toLong);
List<UserDTO> list = this.selectAssigneeByIds(taskIdList);
if (CollUtil.isEmpty(list)) {
return StringUtils.EMPTY;
}
return StreamUtils.join(list, UserDTO::getNickName);
}
/**
@ -436,7 +436,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
* @return 列表
*/
@Override
public List<UserDTO> selectByIds(List<Long> taskIdList) {
public List<UserDTO> selectAssigneeByIds(List<Long> taskIdList) {
if (CollUtil.isEmpty(taskIdList)) {
return Collections.emptyList();
}

View File

@ -3,9 +3,9 @@ package org.dromara.workflow.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.translation.annotation.TranslationType;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.common.translation.core.TranslationInterface;
import org.dromara.workflow.service.AssigneeService;
import org.dromara.workflow.common.constant.FlowConstant;
import org.dromara.workflow.service.IFlwTaskService;
import org.springframework.stereotype.Service;
/**
@ -16,17 +16,17 @@ import org.springframework.stereotype.Service;
@Slf4j
@RequiredArgsConstructor
@Service
@TranslationType(type = TransConstant.TASK_ID_TO_ASSIGNEE)
@TranslationType(type = FlowConstant.TASK_ID_TO_ASSIGNEE)
public class TaskAssigneeTranslationImpl implements TranslationInterface<String> {
private final AssigneeService assigneeService;
private final IFlwTaskService flwTaskService;
@Override
public String translation(Object key, String other) {
if (key instanceof Long id) {
return assigneeService.selectAssigneeByIds(id.toString());
return flwTaskService.selectAssigneeNamesByIds(id.toString());
} else if (key instanceof String id) {
return assigneeService.selectAssigneeByIds(id);
return flwTaskService.selectAssigneeNamesByIds(id);
}
return null;
}