update 优化 实体类隔离
This commit is contained in:
parent
54e4a8c023
commit
89c1cf63eb
@ -0,0 +1,71 @@
|
||||
package org.dromara.common.core.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 办理任务请求对象
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@Data
|
||||
public class CompleteTaskDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 附件id
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 抄送人员
|
||||
*/
|
||||
private List<FlowCopyDTO> flowCopyList;
|
||||
|
||||
/**
|
||||
* 消息类型
|
||||
*/
|
||||
private List<String> messageType;
|
||||
|
||||
/**
|
||||
* 办理意见
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 消息通知
|
||||
*/
|
||||
private String notice;
|
||||
|
||||
/**
|
||||
* 流程变量
|
||||
*/
|
||||
private Map<String, Object> variables;
|
||||
|
||||
/**
|
||||
* 扩展变量(此处为逗号分隔的ossId)
|
||||
*/
|
||||
private String ext;
|
||||
|
||||
public Map<String, Object> getVariables() {
|
||||
if (variables == null) {
|
||||
return new HashMap<>(16);
|
||||
}
|
||||
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
|
||||
return variables;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package org.dromara.common.core.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 抄送
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@Data
|
||||
public class FlowCopyDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
package org.dromara.common.core.domain.dto;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 启动流程对象
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@Data
|
||||
public class StartProcessDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 业务唯一值id
|
||||
*/
|
||||
private String businessId;
|
||||
|
||||
/**
|
||||
* 流程定义编码
|
||||
*/
|
||||
private String flowCode;
|
||||
|
||||
/**
|
||||
* 流程变量,前端会提交一个元素{'entity': {业务详情数据对象}}
|
||||
*/
|
||||
private Map<String, Object> variables;
|
||||
|
||||
public Map<String, Object> getVariables() {
|
||||
if (variables == null) {
|
||||
return new HashMap<>(16);
|
||||
}
|
||||
variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue()));
|
||||
return variables;
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package org.dromara.common.core.service;
|
||||
|
||||
import org.dromara.common.core.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.common.core.domain.bo.StartProcessBo;
|
||||
import org.dromara.common.core.domain.dto.CompleteTaskDTO;
|
||||
import org.dromara.common.core.domain.dto.StartProcessDTO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -63,16 +63,16 @@ public interface WorkflowService {
|
||||
/**
|
||||
* 启动流程
|
||||
*
|
||||
* @param startProcessBo 参数
|
||||
* @param startProcess 参数
|
||||
* @return 结果
|
||||
*/
|
||||
Map<String, Object> startWorkFlow(StartProcessBo startProcessBo);
|
||||
Map<String, Object> startWorkFlow(StartProcessDTO startProcess);
|
||||
|
||||
/**
|
||||
* 办理任务
|
||||
*
|
||||
* @param completeTaskBo 参数
|
||||
* @param completeTask 参数
|
||||
* @return 结果
|
||||
*/
|
||||
boolean completeTask(CompleteTaskBo completeTaskBo);
|
||||
boolean completeTask(CompleteTaskDTO completeTask);
|
||||
}
|
||||
|
@ -2,8 +2,6 @@ package org.dromara.workflow.controller;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.common.core.domain.bo.StartProcessBo;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package org.dromara.common.core.domain.bo;
|
||||
package org.dromara.workflow.domain.bo;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
@ -36,7 +36,7 @@ public class CompleteTaskBo implements Serializable {
|
||||
/**
|
||||
* 抄送人员
|
||||
*/
|
||||
private List<FlowCopy> flowCopyList;
|
||||
private List<FlowCopyBo> flowCopyList;
|
||||
|
||||
/**
|
||||
* 消息类型
|
@ -1,4 +1,4 @@
|
||||
package org.dromara.common.core.domain.bo;
|
||||
package org.dromara.workflow.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@ -12,7 +12,7 @@ import java.io.Serializable;
|
||||
* @author may
|
||||
*/
|
||||
@Data
|
||||
public class FlowCopy implements Serializable {
|
||||
public class FlowCopyBo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
@ -1,4 +1,4 @@
|
||||
package org.dromara.common.core.domain.bo;
|
||||
package org.dromara.workflow.domain.bo;
|
||||
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
@ -1,7 +1,5 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import org.dromara.common.core.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.common.core.domain.bo.StartProcessBo;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
@ -11,8 +11,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.common.core.domain.bo.StartProcessBo;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
@ -39,7 +37,6 @@ import org.dromara.warm.flow.orm.mapper.FlowTaskMapper;
|
||||
import org.dromara.workflow.common.enums.TaskAssigneeType;
|
||||
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
||||
import org.dromara.workflow.domain.bo.*;
|
||||
import org.dromara.common.core.domain.bo.FlowCopy;
|
||||
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||
import org.dromara.workflow.handler.FlowProcessEventHandler;
|
||||
@ -139,7 +136,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
List<String> messageType = completeTaskBo.getMessageType();
|
||||
String notice = completeTaskBo.getNotice();
|
||||
// 获取抄送人
|
||||
List<FlowCopy> flowCopyList = completeTaskBo.getFlowCopyList();
|
||||
List<FlowCopyBo> flowCopyList = completeTaskBo.getFlowCopyList();
|
||||
FlowTask flowTask = flowTaskMapper.selectById(taskId);
|
||||
Instance ins = insService.getById(flowTask.getInstanceId());
|
||||
// 获取流程定义信息
|
||||
@ -175,7 +172,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* @param task (当前任务)未办理的任务
|
||||
* @param flowCopyList 抄送人
|
||||
*/
|
||||
private void setHandler(Instance instance, FlowTask task, List<FlowCopy> flowCopyList) {
|
||||
private void setHandler(Instance instance, FlowTask task, List<FlowCopyBo> flowCopyList) {
|
||||
if (ObjectUtil.isNull(instance)) {
|
||||
return;
|
||||
}
|
||||
@ -208,7 +205,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* @param task 任务信息
|
||||
* @param flowCopyList 抄送人
|
||||
*/
|
||||
public void setCopy(FlowTask task, List<FlowCopy> flowCopyList) {
|
||||
public void setCopy(FlowTask task, List<FlowCopyBo> flowCopyList) {
|
||||
if (CollUtil.isEmpty(flowCopyList)) {
|
||||
return;
|
||||
}
|
||||
@ -225,7 +222,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
FlowParams flowParams = FlowParams.build();
|
||||
flowParams.skipType(SkipType.NONE.getKey());
|
||||
flowParams.hisStatus(TaskStatusEnum.COPY.getStatus());
|
||||
flowParams.message("【抄送给】" + StreamUtils.join(flowCopyList, FlowCopy::getUserName));
|
||||
flowParams.message("【抄送给】" + StreamUtils.join(flowCopyList, FlowCopyBo::getUserName));
|
||||
HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams);
|
||||
hisTask.setCreateTime(updateTime);
|
||||
hisTask.setUpdateTime(updateTime);
|
||||
|
@ -1,12 +1,15 @@
|
||||
package org.dromara.workflow.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.common.core.domain.bo.StartProcessBo;
|
||||
import org.dromara.common.core.domain.dto.CompleteTaskDTO;
|
||||
import org.dromara.common.core.domain.dto.StartProcessDTO;
|
||||
import org.dromara.common.core.service.WorkflowService;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||
import org.dromara.workflow.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.workflow.domain.bo.StartProcessBo;
|
||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||
import org.dromara.workflow.service.IFlwInstanceService;
|
||||
import org.dromara.workflow.service.IFlwTaskService;
|
||||
@ -26,7 +29,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
|
||||
private final IFlwInstanceService flwInstanceService;
|
||||
private final IFlwDefinitionService flwDefinitionService;
|
||||
private final IFlwTaskService iFlwTaskService;
|
||||
private final IFlwTaskService flwTaskService;
|
||||
|
||||
/**
|
||||
* 删除流程实例
|
||||
@ -97,20 +100,20 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
/**
|
||||
* 启动流程
|
||||
*
|
||||
* @param startProcessBo 参数
|
||||
* @param startProcess 参数
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> startWorkFlow(StartProcessBo startProcessBo) {
|
||||
return iFlwTaskService.startWorkFlow(startProcessBo);
|
||||
public Map<String, Object> startWorkFlow(StartProcessDTO startProcess) {
|
||||
return flwTaskService.startWorkFlow(BeanUtil.toBean(startProcess, StartProcessBo.class));
|
||||
}
|
||||
|
||||
/**
|
||||
* 办理任务
|
||||
*
|
||||
* @param completeTaskBo 参数
|
||||
* @param completeTask 参数
|
||||
*/
|
||||
@Override
|
||||
public boolean completeTask(CompleteTaskBo completeTaskBo) {
|
||||
return iFlwTaskService.completeTask(completeTaskBo);
|
||||
public boolean completeTask(CompleteTaskDTO completeTask) {
|
||||
return flwTaskService.completeTask(BeanUtil.toBean(completeTask, CompleteTaskBo.class));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user