提交 3b6f14f0 authored 作者: ww1xhqc's avatar ww1xhqc

Merge remote-tracking branch 'origin/master'

......@@ -18,6 +18,9 @@ public class Parameter {
@ApiModelProperty(value = "类名")
private String className;
@ApiModelProperty("流程表达式")
private String exp;
/**
* Map形式的实例对象
* key为字段名 value为字段值
......
......@@ -21,6 +21,12 @@ public class ResultUtil<T> {
public static <T> ResponseEntity<ResultObj<T>> success(T data,String message) {
return ResponseEntity.ok(new ResultObj<>(data,message));
}
/**
* 成功返回结果
*/
public static <T> ResponseEntity<ResultObj<T>> success(String message) {
return ResponseEntity.ok(new ResultObj<>(message));
}
/**
* 成功返回结果
......
......@@ -3,7 +3,9 @@ package com.tykj.workflowcore.workflow_editer.controller;
import com.tykj.workflowcore.base.result.ResultUtil;
import com.tykj.workflowcore.workflow_editer.entity.FlowsInfo;
import com.tykj.workflowcore.workflow_editer.entity.NodePage;
import com.tykj.workflowcore.workflow_editer.entity.VariableStorage;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser;
import com.tykj.workflowcore.workflow_editer.entity.vo.VariableStorageVo;
import com.tykj.workflowcore.workflow_editer.service.*;
import com.tykj.workflowcore.workflow_editer.vo.DeployedVo;
import com.tykj.workflowcore.workflow_editer.vo.FlowsInfoVo;
......@@ -80,31 +82,25 @@ public class FlowsInfoController {
return deployedVos;
}
// @PostMapping("/saveXml")
// @ApiOperation("保存xml")
// public String saveXml(@RequestParam("file") MultipartFile file){
// String xml = workFlowService.saveXml(file);
// return xml;
// }
@GetMapping("/deploy")
@ApiOperation(value = "部署流程",notes = "0 部署成功")
public Integer deploy(Long id) throws FileNotFoundException {
public ResponseEntity deploy(Long id) throws FileNotFoundException {
//根据id 查询出flowsInfo
FlowsInfo flowsInfo = flowInfoService.findById(id);
if (flowsInfo.getState() == 0){
return 0;
return ResultUtil.success(flowsInfo.getState(),"该流程已经被部署");
}
workFlowService.deployXml(flowsInfo);
return flowsInfo.getState();
return ResultUtil.success(flowsInfo.getState(),"流程部署成功");
}
@PostMapping("/saveXml02")
@ApiOperation(value = "保存xml02")
public void saveXml02(@RequestBody FlowsInfoVo flowsInfoVo) {
public ResponseEntity saveXml02(@RequestBody FlowsInfoVo flowsInfoVo) {
List<NodePage> nodePages = flowsInfoVo.getNodePages();
nodePageService.saveNodePages(nodePages);
workFlowService.flowXml(flowsInfoVo);
return ResultUtil.success("文件保存成功");
}
@PostMapping("/updateByProcessName")
......@@ -124,8 +120,15 @@ public class FlowsInfoController {
@PostMapping("/createFlow")
@ApiModelProperty("创建成功")
public Long createFlow(@RequestBody FlowsInfoVo flowsInfovo){
return workFlowService.createFlow(flowsInfovo.toEntity());
public ResponseEntity createFlow(@RequestBody FlowsInfoVo flowsInfovo){
return ResultUtil.success(workFlowService.createFlow(flowsInfovo.toEntity()),"流程创建成功");
}
@PostMapping("/saveVariableStorage")
@ApiModelProperty("保存函数调用配置")
public ResponseEntity saveVariableStorage(@RequestBody VariableStorageVo variableStorageVo){
VariableStorage variableStorage = variableStorageService.saveVariableStorageService(variableStorageVo.toEntity());
return ResultUtil.success(variableStorage,"调用接口成功");
}
@PostMapping("/test")
......
......@@ -25,8 +25,8 @@ import java.util.List;
*
* @Author: zsp
*/
@RestController("/formPage")
@RequestMapping
@RestController()
@RequestMapping("/formPage")
@Api("页面管理接口")
public class FormPageController {
......@@ -63,8 +63,9 @@ public class FormPageController {
@ApiOperation("删除页面")
@DeleteMapping("deletePage")
public void deletePage(Long id){
public ResponseEntity deletePage(Long id){
formPageService.deletePage(id);
return ResultUtil.success("删除页面成功");
}
@PostMapping("/findByPages")
......
package com.tykj.workflowcore.workflow_editer.controller;
import com.tykj.workflowcore.base.result.ResultUtil;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowRole;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowRoleType;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser;
import com.tykj.workflowcore.workflow_editer.service.UserService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author HuangXiahao
* @version V1.0
* @class UserController
* @packageName com.tykj.workflowcore.workflow_editer.controller
**/
@RestController()
@RequestMapping("/workflow/user")
@Api("页面管理接口")
public class UserController {
@Autowired(required = false)
UserService userService;
@PostMapping("/getCurrentUser")
public ResponseEntity getCurrentUser(){
WorkFlowUser currentUser = userService.getCurrentUser();
return ResultUtil.success(currentUser,"查询成功");
}
@PostMapping("/getAllUser")
public ResponseEntity getAllUser(){
List<WorkFlowUser> allUser = userService.getAllUser();
return ResultUtil.success(allUser,"查询成功");
}
@PostMapping("/getAllRole")
public ResponseEntity getAllRole(String roleType){
List<WorkFlowRole> allRole = userService.getAllRole(roleType);
return ResultUtil.success(allRole,"查询成功");
}
@PostMapping("/getRoleType")
public ResponseEntity getRoleType(){
List<WorkFlowRoleType> roleType = userService.getRoleType();
return ResultUtil.success(roleType,"查询成功");
}
}
package com.tykj.workflowcore.workflow_editer.controller;
import com.tykj.workflowcore.api.entity.InvokeRequest;
import com.tykj.workflowcore.base.result.ResultUtil;
import com.tykj.workflowcore.workflow_editer.entity.FlowsInfo;
import com.tykj.workflowcore.workflow_editer.service.FlowInfoService;
import com.tykj.workflowcore.workflow_editer.service.WorkFlowService;
import com.tykj.workflowcore.workflow_editer.util.PageUtil;
import com.tykj.workflowcore.workflow_editer.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.FileNotFoundException;
......@@ -65,43 +66,40 @@ public class WorkFlowController {
@PostMapping("/findTaskDetail")
@ApiOperation("任务个人待办详情")
public Map<String, Object> findTaskDetail(Long userId,String taskId){
return workFlowService.findTaskDetail(userId, taskId);
public Map<String, Object> findTaskDetail(String taskId){
return workFlowService.findTaskDetail(taskId);
}
@PostMapping("/completeTask")
@ApiOperation("完成任务")
public void completeTask(@RequestBody TaskVo taskVo){
public ResponseEntity completeTask(@RequestBody TaskVo taskVo){
workFlowService.completeTask(taskVo);
}
@PostMapping("/getVariable")
@ApiOperation("获取变量池")
public void getVariable(){
// workFlowService.setVariables()
return ResultUtil.success("该任务已完成");
}
@PostMapping("/isTransferTask")
@ApiOperation("是否转交任务")
public void isTransferTask(@RequestBody TransferTask transferTask){
public ResponseEntity isTransferTask(@RequestBody TransferTask transferTask){
workFlowService.transferTask(transferTask);
return ResultUtil.success("该任务转交成功");
}
@PostMapping("/isSuspension")
@ApiOperation("是否挂起")
public void isSuspension(@RequestBody SuspendVo suspendVo){
public ResponseEntity isSuspension(@RequestBody SuspendVo suspendVo){
workFlowService.suspendOrActivateProcessDefinitionByKey(suspendVo);
return ResultUtil.success("该流程已被挂起");
}
@DeleteMapping("/deleteFlow")
@ApiOperation("是否删除")
public void deleteFlow(String deployId){
public ResponseEntity deleteFlow(String deployId){
//根据流程id查询出flowsInfo
FlowsInfo flowsInfo = flowInfoService.findByDeployId(deployId);
//删除flowsInfo
flowInfoService.deleteById(flowsInfo.getId());
workFlowService.deleteFlow(deployId);
return ResultUtil.success("该流程已被删除");
}
@PostMapping("/flowProgress")
......@@ -110,9 +108,10 @@ public class WorkFlowController {
workFlowService.flowProgress(flowProcessVo.getResponse(),flowProcessVo.getProcessInstanceId());
}
@PostMapping("getInvokeRequest")
@ApiOperation("调用服务接口")
public InvokeRequest getInvokeRequest(@RequestBody InvokeRequestVo invokeRequestVo) throws IOException {
return workFlowService.saveInvokeRequest(invokeRequestVo);
@PostMapping("/findHistoryTask")
@ApiOperation("已办任务")
public List findHistoryTask(String userId) {
return workFlowService.findHistoryTask(userId);
}
}
package com.tykj.workflowcore.workflow_editer.entity;
import org.flowable.common.engine.api.delegate.Expression;
import org.flowable.common.engine.impl.interceptor.Command;
import org.flowable.common.engine.impl.interceptor.CommandContext;
import org.flowable.engine.impl.persistence.entity.ExecutionEntity;
import org.flowable.engine.impl.persistence.entity.ExecutionEntityManager;
import org.flowable.engine.impl.util.CommandContextUtil;
/**
* @author HuangXiahao
* @version V1.0
* @class Test
* @packageName com.example.flowable.expense.controller
**/
public class CommandGetValue implements Command<Object> {
private String processInstanceId;
private Expression expression;
public CommandGetValue(String processInstanceId, Expression expression) {
this.processInstanceId = processInstanceId;
this.expression = expression;
}
@Override
public Object execute(CommandContext commandContext) {
ExecutionEntityManager executionEntityManager = CommandContextUtil.getExecutionEntityManager();
ExecutionEntity executionEntity = executionEntityManager.findChildExecutionsByProcessInstanceId(processInstanceId).get(0);
return expression.getValue(executionEntity);
}
}
......@@ -34,8 +34,13 @@ public class VariableStorage {
@ApiModelProperty("流程主键")
private String flowKey;
@ApiModelProperty("变量池")
private String variable;
@ApiModelProperty("调用类名")
private String className;
@ApiModelProperty("调用方法")
private String method;
@ApiModelProperty("详情json")
private String variableInfo;
}
......@@ -20,12 +20,20 @@ import java.util.List;
@NoArgsConstructor
public class WorkFlowRole {
private String roleName;
/**
* 例如研发部、管理员等
*/
private String name;
/**
* 例如: department,subject 等
*/
private String type;
private String roleType;
/**
* 权限在数据库中的ID
*/
private String roleId;
}
package com.tykj.workflowcore.workflow_editer.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* ClassName: Role
* Package: com.tykj.entity
* Description:
* Datetime: 2021/2/23 15:05
*
* @Author: zsp
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WorkFlowRoleType {
//例如:部门、角色
private String name;
/**
* 例如: department,subject 等
*/
private String type;
}
package com.tykj.workflowcore.workflow_editer.entity;
package com.tykj.workflowcore.workflow_editer.entity.vo;
import com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan;
import lombok.AllArgsConstructor;
......
package com.tykj.workflowcore.workflow_editer.entity.vo;
import com.tykj.workflowcore.workflow_editer.entity.VariableStorage;
import com.tykj.workflowcore.workflow_editer.vo.OutFormPageVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
/**
* @author HuangXiahao
* @version V1.0
* @class VariableStorageVo
* @packageName com.tykj.workflowcore.workflow_editer.entity.vo
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class VariableStorageVo {
private Long id;
private String flowKey;
private String className;
private String method;
private String variableInfo;
public VariableStorage toEntity(){
VariableStorage variableStorage = new VariableStorage();
BeanUtils.copyProperties(this,variableStorage);
return variableStorage;
}
}
......@@ -27,4 +27,10 @@ public interface FlowsInfoMapper extends JpaRepository<FlowsInfo,Long>, JpaSpeci
*/
FlowsInfo findByDeployId(String deployId);
/**
* 根据流程实例id查询
* @param processInstanceId 流程实例id
* @return
*/
FlowsInfo findByProcessInstanceId(String processInstanceId);
}
......@@ -4,6 +4,8 @@ import com.tykj.workflowcore.workflow_editer.entity.VariableStorage;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import java.util.List;
/**
* ClassName: VariableStorageMapper
* Package: com.tykj.mapper
......@@ -19,5 +21,5 @@ public interface VariableStorageMapper extends JpaRepository<VariableStorage,Lon
* @param flowKey 流程主键
* @return
*/
VariableStorage findByFlowKey(String flowKey);
List<VariableStorage> findAllByFlowKey(String flowKey);
}
package com.tykj.workflowcore.workflow_editer.service;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowRole;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowRoleType;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
......@@ -32,6 +36,12 @@ public interface UserService {
* 获取当前系统中的用户以及用户分组
* @return
*/
List<WorkFlowRole> getAllRole();
List<WorkFlowRole> getAllRole(String roleType);
/**
* 获取当前系统中的用户分组类别
* @return
*/
List<WorkFlowRoleType> getRoleType();
}
......@@ -3,6 +3,8 @@ package com.tykj.workflowcore.workflow_editer.service;
import com.tykj.workflowcore.workflow_editer.entity.VariableStorage;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* ClassName: VariableStorageService
* Package: com.tykj.service
......@@ -17,12 +19,12 @@ public interface VariableStorageService {
* 保存变量池
* @param variableStorage 变量池
*/
void saveVariableStorageService(@RequestBody VariableStorage variableStorage);
VariableStorage saveVariableStorageService(@RequestBody VariableStorage variableStorage);
/**
* 查询变量池
* @param flowKey 流程主键
* @return VariableStorage 变量池
*/
VariableStorage findByFlowKey(String flowKey);
List<VariableStorage> findByFlowKey(String flowKey);
}
......@@ -76,11 +76,13 @@ public interface WorkFlowService {
/**
* 查看具体的任务详情
* @param userId 用户id
* @param taskId 任务Id
// * @param detailTaskVo 任务详情
* @return 任务列表
*/
Map<String,Object> findTaskDetail(Long userId, String taskId);
// Map<String,Object> findTaskDetail(DetailTaskVo detailTaskVo);
Map<String,Object> findTaskDetail(String taskId);
/**
......@@ -126,10 +128,10 @@ public interface WorkFlowService {
void flowProgress (HttpServletResponse httpServletResponse, String processId) throws IOException;
/**
* 调用服务接口vo
* @param invokeRequestVo 调用服务接口vo
* @return 调用服务接口实体
* 查已办任务
* @param userId 用户id
* @return 任务已办列表
*/
InvokeRequest saveInvokeRequest(InvokeRequestVo invokeRequestVo);
List<Object> findHistoryTask(String userId);
}
......@@ -7,6 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* ClassName: VariableStorageServiceImpl
* Package: com.tykj.service.impl
......@@ -21,13 +23,15 @@ public class VariableStorageServiceImpl implements VariableStorageService {
private VariableStorageMapper variableStorageMapper;
@Override
public void saveVariableStorageService(@RequestBody VariableStorage variableStorage) {
variableStorageMapper.save(variableStorage);
public VariableStorage saveVariableStorageService(@RequestBody VariableStorage variableStorage) {
return variableStorageMapper.save(variableStorage);
}
@Override
public VariableStorage findByFlowKey(String flowKey) {
VariableStorage variableStorage = variableStorageMapper.findByFlowKey(flowKey);
return variableStorage;
public List<VariableStorage> findByFlowKey(String flowKey) {
List<VariableStorage> allByFlowKey = variableStorageMapper.findAllByFlowKey(flowKey);
return allByFlowKey;
}
}
package com.tykj.workflowcore.workflow_editer.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.tykj.workflowcore.api.entity.InvokeRequest;
import com.tykj.workflowcore.api.entity.Parameter;
import com.tykj.workflowcore.workflow_editer.entity.FlowsInfo;
import com.tykj.workflowcore.workflow_editer.entity.VariablesMap;
import com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser;
import com.tykj.workflowcore.workflow_editer.entity.*;
import com.tykj.workflowcore.workflow_editer.mapper.FlowsInfoMapper;
import com.tykj.workflowcore.workflow_editer.service.NodePageService;
import com.tykj.workflowcore.workflow_editer.service.UserService;
import com.tykj.workflowcore.workflow_editer.service.VariableStorageService;
import com.tykj.workflowcore.workflow_editer.service.WorkFlowService;
import com.tykj.workflowcore.workflow_editer.vo.*;
import org.dom4j.Attribute;
......@@ -27,9 +28,12 @@ import org.flowable.image.ProcessDiagramGenerator;
import org.flowable.task.api.Task;
import org.flowable.task.api.TaskQuery;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.task.api.history.HistoricTaskInstanceQuery;
import org.flowable.variable.api.history.HistoricVariableInstance;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
......@@ -69,6 +73,9 @@ public class WorkFlowServiceImpl implements WorkFlowService {
@Autowired
private ProcessEngine processEngine;
@Autowired
private VariableStorageService variableStorageService;
@Autowired
ClassLoader classLoader;
@Override
......@@ -258,6 +265,7 @@ public class WorkFlowServiceImpl implements WorkFlowService {
map.put("taskDesc",task.getDescription());
map.put("createTime",task.getCreateTime());
map.put("promoter",processInstance.getStartUserId());
map.put("processInstanceId",processInstance.getId());
listMap.add(map);
}
return listMap;
......@@ -265,9 +273,18 @@ public class WorkFlowServiceImpl implements WorkFlowService {
}
@Override
public Map<String, Object> findTaskDetail(Long userId, String taskId) {
Map<String, Object> variables = taskService.getVariables(taskId);
public Map<String, Object> findTaskDetail(String taskId) {
Map<String, Object> variables = new HashMap<>();
//流程还在运行
if (taskId != null){
variables = taskService.getVariables(taskId);
}else {
//流程已经结束
//从历史中查询
HistoricTaskInstance historicTaskInstance =
historyService.createHistoricTaskInstanceQuery().taskId(taskId).finished().singleResult();
variables.put("historicTaskInstance",historicTaskInstance);
}
return variables;
}
......@@ -292,7 +309,17 @@ public class WorkFlowServiceImpl implements WorkFlowService {
}
if (taskVo.getTaskId() == null){
//流程结束了
//保存调用接口
//通过processInstanceId查询出flowKey
FlowsInfo flowsInfo = flowsInfoMapper.findByProcessInstanceId(processInstanceId);
List<VariableStorage> variableStorageList = variableStorageService.findByFlowKey(flowsInfo.getFlowKey());
for (VariableStorage variableStorage : variableStorageList) {
String variableInfo = variableStorage.getVariableInfo();
//调用服务接口
InvokeRequestVo invokeRequestVo = (InvokeRequestVo) JSONObject.parse(variableInfo);
getApiInvokeParam(invokeRequestVo);
}
}
}
......@@ -372,41 +399,50 @@ public class WorkFlowServiceImpl implements WorkFlowService {
}
@Override
public InvokeRequest saveInvokeRequest(InvokeRequestVo invokeRequestVo) {
//取出变量池的值
Expression expression = processEngineConfiguration.getExpressionManager().createExpression(invokeRequestVo.getExp());
ManagementService managementService = processEngine.getManagementService();
VariablesMap variablesMap = new VariablesMap(invokeRequestVo.getProcessInstanceId(),expression);
Object o = managementService.executeCommand(variablesMap);
Map<String, Object> map = new HashMap<>();
if (o instanceof Map){
//如果是对象
map = (Map<String, Object>) o;
public List<Object> findHistoryTask(String userId) {
List<HistoricTaskInstance> taskInstanceList =
historyService.createHistoricTaskInstanceQuery().taskAssignee(userId).finished().list();
ArrayList<Object> arrayList = new ArrayList<>();
arrayList.addAll(taskInstanceList);
return arrayList;
}
/**
* 获取调用Api用的参数
* @param invokeRequestVo 调用服务接口vo
* @return 调用服务接口实体
*/
public InvokeRequest getApiInvokeParam(InvokeRequestVo invokeRequestVo) {
//拿出taskId
String processInstanceId = invokeRequestVo.getProcessInstanceId();
List<Parameter> parameterList = invokeRequestVo.getParameterList();
List<Parameter> newParameterList = new ArrayList<>();
for (int i = 0; i < parameterList.size(); i++) {
Parameter parameter = parameterList.get(i);
if (!StringUtils.isEmpty(parameter.getExp())){
parameter.setInstance((Map<String, Object>) getProcessValue(processInstanceId,parameter.getExp()));
}else {
//如果是字段
map.put("o",o);
Map<String, Object> instance = parameter.getInstance();
JSONObject newInstance = new JSONObject();
//遍历param的key
Set<String> oldInstanceKey = instance.keySet();
for (String key : oldInstanceKey) {
newInstance.put(key,getProcessValue(processInstanceId, (String) instance.get(key)));
}
parameter.setInstance(newInstance);
}
newParameterList.add(i,parameter);
}
invokeRequestVo.setParameterList(newParameterList);
return JSONObject.parseObject(JSONObject.toJSONString(invokeRequestVo),InvokeRequest.class) ;
}
//构建InvokeRequest
InvokeRequest invokeRequest = new InvokeRequest();
// invokeRequest.setClassName("com.tykj.www");
// invokeRequest.setName("add");
invokeRequest.setClassName(invokeRequestVo.getClassName());
invokeRequest.setName(invokeRequestVo.getName());
// Parameter parameter = new Parameter();
// parameter.setClassName("expense");
List<Parameter> parameterList = invokeRequestVo.getParameterList();
Parameter parameter = new Parameter();
parameter.setInstance(map);
parameterList.add(parameter);
invokeRequest.setParams(parameterList);
return invokeRequest;
public Object getProcessValue(String processInstanceId, String exp) {
Expression expression = processEngineConfiguration.getExpressionManager().createExpression(exp);
ManagementService managementService = processEngine.getManagementService();
CommandGetValue test = new CommandGetValue(processInstanceId,expression);
Object o = managementService.executeCommand(test);
return o ;
}
@Override
......
......@@ -23,10 +23,9 @@ import java.util.List;
@Data
@Api(tags = "调用服务接口vo")
public class InvokeRequestVo {
@ApiModelProperty("流程实例id")
private String processInstanceId;
@ApiModelProperty("流程表达式")
private String exp;
@ApiModelProperty("类名")
private String className;
......@@ -34,5 +33,6 @@ public class InvokeRequestVo {
@ApiModelProperty("方法名")
private String name;
@ApiModelProperty("参数列表")
private List<Parameter> parameterList;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论