Browse Source

自定义流程接口新增-流程重命名接口

wangliang 3 years ago
parent
commit
0d425fbb27

+ 14 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/flow/CustomFlowVarDto.java

@@ -36,6 +36,9 @@ public class CustomFlowVarDto implements Serializable {
     @ApiModelProperty(value = "自定义流程驳回重新提交类型")
     @ApiModelProperty(value = "自定义流程驳回重新提交类型")
     CustomFlowRejectResubmitTypeEnum rejectResubmitType;
     CustomFlowRejectResubmitTypeEnum rejectResubmitType;
 
 
+    @ApiModelProperty(value = "审批人")
+    String approveUserNames;
+
     public CustomFlowVarDto() {
     public CustomFlowVarDto() {
 
 
     }
     }
@@ -53,13 +56,23 @@ public class CustomFlowVarDto implements Serializable {
                             CustomFlowApproveUserTypeEnum approveUserType,
                             CustomFlowApproveUserTypeEnum approveUserType,
                             CustomFlowMultipleUserApproveTypeEnum multipleUserApproveType,
                             CustomFlowMultipleUserApproveTypeEnum multipleUserApproveType,
                             CustomFlowRejectTypeEnum rejectType,
                             CustomFlowRejectTypeEnum rejectType,
-                            CustomFlowRejectResubmitTypeEnum rejectResubmitType) {
+                            CustomFlowRejectResubmitTypeEnum rejectResubmitType,
+                            String approveUserNames) {
         this.flowTaskVar = flowTaskVar;
         this.flowTaskVar = flowTaskVar;
         this.approveIds = approveIds;
         this.approveIds = approveIds;
         this.approveUserType = approveUserType;
         this.approveUserType = approveUserType;
         this.multipleUserApproveType = multipleUserApproveType;
         this.multipleUserApproveType = multipleUserApproveType;
         this.rejectType = rejectType;
         this.rejectType = rejectType;
         this.rejectResubmitType = rejectResubmitType;
         this.rejectResubmitType = rejectResubmitType;
+        this.approveUserNames = approveUserNames;
+    }
+
+    public String getApproveUserNames() {
+        return approveUserNames;
+    }
+
+    public void setApproveUserNames(String approveUserNames) {
+        this.approveUserNames = approveUserNames;
     }
     }
 
 
     public CustomFlowApproveUserTypeEnum getApproveUserType() {
     public CustomFlowApproveUserTypeEnum getApproveUserType() {

+ 1 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/customFlowParam.java → distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/CustomFlowParam.java

@@ -14,7 +14,7 @@ import java.io.Serializable;
  * @Author: wangliang
  * @Author: wangliang
  * @Date: 2021/8/6
  * @Date: 2021/8/6
  */
  */
-public class customFlowParam implements Serializable {
+public class CustomFlowParam implements Serializable {
 
 
     @ApiModelProperty(value = "id")
     @ApiModelProperty(value = "id")
     @JsonSerialize(using = ToStringSerializer.class)
     @JsonSerialize(using = ToStringSerializer.class)

+ 44 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/params/CustomFlowRenameParam.java

@@ -0,0 +1,44 @@
+package com.qmth.distributed.print.business.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * @Description: 流程重命名参数
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/8/6
+ */
+public class CustomFlowRenameParam implements Serializable {
+
+    @ApiModelProperty(value = "自定义流程id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    @NotNull(message = "id不能为空")
+    private Long id;
+
+    @ApiModelProperty(value = "自定义流程名称")
+    @NotNull(message = "流程名称不能为空")
+    private String name;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+}

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/FlowTaskResult.java

@@ -28,6 +28,9 @@ public class FlowTaskResult implements Serializable {
     @ApiModelProperty(value = "流程节点步骤")
     @ApiModelProperty(value = "流程节点步骤")
     private Integer setup;
     private Integer setup;
 
 
+    @ApiModelProperty(value = "审批人")
+    String approveUserNames;
+
     public FlowTaskResult() {
     public FlowTaskResult() {
 
 
     }
     }
@@ -45,6 +48,14 @@ public class FlowTaskResult implements Serializable {
         this.setup = setup;
         this.setup = setup;
     }
     }
 
 
+    public String getApproveUserNames() {
+        return approveUserNames;
+    }
+
+    public void setApproveUserNames(String approveUserNames) {
+        this.approveUserNames = approveUserNames;
+    }
+
     public Long getFlowId() {
     public Long getFlowId() {
         return flowId;
         return flowId;
     }
     }

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ActivitiService.java

@@ -1,7 +1,9 @@
 package com.qmth.distributed.print.business.service;
 package com.qmth.distributed.print.business.service;
 
 
 import com.qmth.distributed.print.business.bean.flow.CustomFlowSaveDto;
 import com.qmth.distributed.print.business.bean.flow.CustomFlowSaveDto;
+import com.qmth.distributed.print.business.bean.flow.CustomFlowVarDto;
 import com.qmth.distributed.print.business.bean.result.*;
 import com.qmth.distributed.print.business.bean.result.*;
+import com.qmth.distributed.print.business.enums.TFCustomTypeEnum;
 import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
@@ -171,4 +173,12 @@ public interface ActivitiService {
      * @return
      * @return
      */
      */
     public FlowViewResult getFlowView(Long flowId);
     public FlowViewResult getFlowView(Long flowId);
+
+    /**
+     * 根据流程类型获取流程节点
+     *
+     * @param type
+     * @return
+     */
+    public List<FlowTaskResult> getFlowInfoByType(TFCustomTypeEnum type);
 }
 }

+ 43 - 11
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java

@@ -17,7 +17,6 @@ import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.enums.*;
-import com.qmth.teachcloud.common.service.CommonCacheService;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.JacksonUtil;
 import com.qmth.teachcloud.common.util.RedisUtil;
 import com.qmth.teachcloud.common.util.RedisUtil;
@@ -116,9 +115,6 @@ public class ActivitiServiceImpl implements ActivitiService {
     @Resource
     @Resource
     TFCustomFlowEntityService tfCustomFlowEntityService;
     TFCustomFlowEntityService tfCustomFlowEntityService;
 
 
-    @Resource
-    CommonCacheService commonCacheService;
-
     /**
     /**
      * 注册流程
      * 注册流程
      *
      *
@@ -768,11 +764,18 @@ public class ActivitiServiceImpl implements ActivitiService {
     /**
     /**
      * 获取流程节点信息
      * 获取流程节点信息
      *
      *
-     * @param tfCustomFlowEntity
+     * @param o
      * @return
      * @return
      */
      */
-    protected List<FlowTaskResult> getFlowTaskResult(TFCustomFlowEntity tfCustomFlowEntity) {
-        Map<String, Object> flowProcessVarMap = this.getFlowProcessVarMap(tfCustomFlowEntity);
+    protected List<FlowTaskResult> getFlowTaskResult(Object o) {
+        Long flowId = null;
+        if (o instanceof TFCustomFlow) {
+            o = (TFCustomFlow) o;
+        } else if (o instanceof TFCustomFlowEntity) {
+            o = (TFCustomFlowEntity) o;
+            flowId = ((TFCustomFlowEntity) o).getFlowId();
+        }
+        Map<String, Object> flowProcessVarMap = this.getFlowProcessVarMap(o);
         Map<String, FlowTaskResult> setupMap = (Map<String, FlowTaskResult>) flowProcessVarMap.get(SystemConstant.SETUP_MAP);
         Map<String, FlowTaskResult> setupMap = (Map<String, FlowTaskResult>) flowProcessVarMap.get(SystemConstant.SETUP_MAP);
         Optional.ofNullable(setupMap).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程没有步骤数据!"));
         Optional.ofNullable(setupMap).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程没有步骤数据!"));
 
 
@@ -781,7 +784,7 @@ public class ActivitiServiceImpl implements ActivitiService {
         for (Map.Entry<String, FlowTaskResult> entry : setupMap.entrySet()) {
         for (Map.Entry<String, FlowTaskResult> entry : setupMap.entrySet()) {
             FlowTaskResult flowTaskResult = gson.fromJson(gson.toJson(entry.getValue()), FlowTaskResult.class);
             FlowTaskResult flowTaskResult = gson.fromJson(gson.toJson(entry.getValue()), FlowTaskResult.class);
             if (flowTaskResult.getSetup() > 0) {
             if (flowTaskResult.getSetup() > 0) {
-                flowTaskResult.setFlowId(tfCustomFlowEntity.getFlowId());
+                flowTaskResult.setFlowId(flowId);
                 flowTaskResultList.add(flowTaskResult);
                 flowTaskResultList.add(flowTaskResult);
             }
             }
         }
         }
@@ -1121,6 +1124,8 @@ public class ActivitiServiceImpl implements ActivitiService {
                 removeApproveUserId(customFlowVarDto, String.valueOf(sysUser.getId()), userId);
                 removeApproveUserId(customFlowVarDto, String.valueOf(sysUser.getId()), userId);
             }
             }
         }
         }
+        ApproveUserResult approveUserResult = sysUserService.findByIds(customFlowVarDto.getApproveIds().stream().map(x -> SystemConstant.convertIdToLong(x)).collect(Collectors.toList()));
+        customFlowVarDto.setApproveUserNames(approveUserResult.getPendApproveUsers());
         agginessMap.put(userTask.getId(), customFlowVarDto);
         agginessMap.put(userTask.getId(), customFlowVarDto);
         tfFlowApprove.setTransferAssignee(JacksonUtil.parseJson(agginessMap));
         tfFlowApprove.setTransferAssignee(JacksonUtil.parseJson(agginessMap));
         tfFlowApproveService.updateById(tfFlowApprove);
         tfFlowApproveService.updateById(tfFlowApprove);
@@ -1857,7 +1862,8 @@ public class ActivitiServiceImpl implements ActivitiService {
                             default:
                             default:
                                 break;
                                 break;
                         }
                         }
-                        agginessMap.put(node.getTask().getFlowTaskId(), new CustomFlowVarDto(DefaultInstanceConvertToMultiInstance.DEFAULT_ASSIGNEE_LIST + i, approveUserIds, node.getTask().getProperty().getApproveUserType(), node.getTask().getProperty().getMultipleUserApproveType(), node.getTask().getProperty().getRejectType(), node.getTask().getProperty().getRejectResubmitType()));
+                        ApproveUserResult approveUserResult = sysUserService.findByIds(approveUserIds.stream().map(x -> SystemConstant.convertIdToLong(x)).collect(Collectors.toList()));
+                        agginessMap.put(node.getTask().getFlowTaskId(), new CustomFlowVarDto(DefaultInstanceConvertToMultiInstance.DEFAULT_ASSIGNEE_LIST + i, approveUserIds, node.getTask().getProperty().getApproveUserType(), node.getTask().getProperty().getMultipleUserApproveType(), node.getTask().getProperty().getRejectType(), node.getTask().getProperty().getRejectResubmitType(), approveUserResult.getPendApproveUsers()));
                         if (Objects.nonNull(customFlowPropertyDto.getRejectType()) && !Objects.equals(customFlowPropertyDto.getRejectType(), "")) {
                         if (Objects.nonNull(customFlowPropertyDto.getRejectType()) && !Objects.equals(customFlowPropertyDto.getRejectType(), "")) {
                             //驳回属性
                             //驳回属性
                             switch (customFlowPropertyDto.getRejectType()) {
                             switch (customFlowPropertyDto.getRejectType()) {
@@ -2300,14 +2306,40 @@ public class ActivitiServiceImpl implements ActivitiService {
         } else {
         } else {
             if (Objects.nonNull(currFlowTaskResult)) {
             if (Objects.nonNull(currFlowTaskResult)) {
                 CustomFlowVarDto customFlowVarDto = gson.fromJson(gson.toJson(agginessMap.get(currFlowTaskResult.getTaskKey())), CustomFlowVarDto.class);
                 CustomFlowVarDto customFlowVarDto = gson.fromJson(gson.toJson(agginessMap.get(currFlowTaskResult.getTaskKey())), CustomFlowVarDto.class);
-                ApproveUserResult approveUserResult = Objects.nonNull(customFlowVarDto.getApproveIds()) ? sysUserService.findByIds(customFlowVarDto.getApproveIds().stream().map(x -> SystemConstant.convertIdToLong(x)).collect(Collectors.toList())) : null;
-                return new FlowViewResult(customFlowVarDto.getMultipleUserApproveType(), currFlowTaskResult, Objects.nonNull(approveUserResult) ? approveUserResult.getPendApproveUsers() : null, null);
+                return new FlowViewResult(customFlowVarDto.getMultipleUserApproveType(), currFlowTaskResult, customFlowVarDto.getApproveUserNames(), null);
             } else {
             } else {
                 return null;
                 return null;
             }
             }
         }
         }
     }
     }
 
 
+    /**
+     * 根据流程类型获取流程节点
+     *
+     * @param type
+     * @return
+     */
+    @Override
+    public List<FlowTaskResult> getFlowInfoByType(TFCustomTypeEnum type) {
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        TFCustomFlow tfCustomFlow = tfCustomFlowService.findMaxVersion(sysUser.getSchoolId(), sysUser.getOrgId(), type);
+        Optional.ofNullable(tfCustomFlow).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到自定义流程数据"));
+
+        List<FlowTaskResult> flowTaskResultList = this.getFlowTaskResult(tfCustomFlow);
+        Map<String, Object> flowProcessVarMap = this.getFlowProcessVarMap(tfCustomFlow);
+        Map<String, CustomFlowVarDto> agginessMap = (Map<String, CustomFlowVarDto>) flowProcessVarMap.get(SystemConstant.AGGINESS_MAP);
+        Optional.ofNullable(tfCustomFlow).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到自定义流程数据"));
+
+        Gson gson = new Gson();
+        for (FlowTaskResult f : flowTaskResultList) {
+            CustomFlowVarDto customFlowVarDto = gson.fromJson(gson.toJson(agginessMap.get(f.getTaskKey())), CustomFlowVarDto.class);
+            if (Objects.nonNull(customFlowVarDto)) {
+                f.setApproveUserNames(customFlowVarDto.getApproveUserNames());
+            }
+        }
+        return flowTaskResultList;
+    }
+
     /**
     /**
      * 获取流程变量
      * 获取流程变量
      *
      *

+ 34 - 20
distributed-print/src/main/java/com/qmth/distributed/print/api/TFCustomFlowController.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.api;
 package com.qmth.distributed.print.api;
 
 
 
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.gson.Gson;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.google.gson.reflect.TypeToken;
@@ -10,12 +11,17 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.flow.CustomFlowDto;
 import com.qmth.distributed.print.business.bean.flow.CustomFlowDto;
 import com.qmth.distributed.print.business.bean.flow.CustomFlowSaveDto;
 import com.qmth.distributed.print.business.bean.flow.CustomFlowSaveDto;
+import com.qmth.distributed.print.business.bean.params.CustomFlowParam;
+import com.qmth.distributed.print.business.bean.params.CustomFlowRenameParam;
 import com.qmth.distributed.print.business.bean.params.FlowTaskApproveParam;
 import com.qmth.distributed.print.business.bean.params.FlowTaskApproveParam;
-import com.qmth.distributed.print.business.bean.params.customFlowParam;
-import com.qmth.distributed.print.business.bean.result.*;
+import com.qmth.distributed.print.business.bean.result.FlowApproveListResult;
+import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
+import com.qmth.distributed.print.business.bean.result.FlowViewResult;
+import com.qmth.distributed.print.business.bean.result.TaskInfoResult;
 import com.qmth.distributed.print.business.entity.TFCustomFlow;
 import com.qmth.distributed.print.business.entity.TFCustomFlow;
 import com.qmth.distributed.print.business.entity.TFCustomFlowEntity;
 import com.qmth.distributed.print.business.entity.TFCustomFlowEntity;
 import com.qmth.distributed.print.business.entity.TFFlowApprove;
 import com.qmth.distributed.print.business.entity.TFFlowApprove;
+import com.qmth.distributed.print.business.enums.TFCustomTypeEnum;
 import com.qmth.distributed.print.business.service.ActivitiService;
 import com.qmth.distributed.print.business.service.ActivitiService;
 import com.qmth.distributed.print.business.service.TFCustomFlowEntityService;
 import com.qmth.distributed.print.business.service.TFCustomFlowEntityService;
 import com.qmth.distributed.print.business.service.TFCustomFlowService;
 import com.qmth.distributed.print.business.service.TFCustomFlowService;
@@ -245,7 +251,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "流程逻辑删除")
     @ApiOperation(value = "流程逻辑删除")
     @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
-    public Result enable(@Valid @RequestBody customFlowParam customFlowParam, BindingResult bindingResult) {
+    public Result enable(@Valid @RequestBody CustomFlowParam customFlowParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
         }
@@ -261,7 +267,7 @@ public class TFCustomFlowController {
         return ResultUtil.ok(tfCustomFlowService.updateById(tfCustomFlow));
         return ResultUtil.ok(tfCustomFlowService.updateById(tfCustomFlow));
     }
     }
 
 
-    @ApiOperation(value = "查看审批流程")
+    @ApiOperation(value = "查看流程流程")
     @ApiResponses({@ApiResponse(code = 200, message = "审批流程信息", response = FlowViewResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "审批流程信息", response = FlowViewResult.class)})
     @RequestMapping(value = "/view", method = RequestMethod.POST)
     @RequestMapping(value = "/view", method = RequestMethod.POST)
     public Result view(@ApiParam(value = "流程id", required = true) @RequestParam String flowId) {
     public Result view(@ApiParam(value = "流程id", required = true) @RequestParam String flowId) {
@@ -271,7 +277,7 @@ public class TFCustomFlowController {
     @ApiOperation(value = "流程审批记录逻辑删除")
     @ApiOperation(value = "流程审批记录逻辑删除")
     @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
     @RequestMapping(value = "/approve/enable", method = RequestMethod.POST)
     @RequestMapping(value = "/approve/enable", method = RequestMethod.POST)
-    public Result approveEnable(@Valid @RequestBody customFlowParam customFlowParam, BindingResult bindingResult) {
+    public Result approveEnable(@Valid @RequestBody CustomFlowParam customFlowParam, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
         }
@@ -304,25 +310,33 @@ public class TFCustomFlowController {
         return ResultUtil.ok(activitiService.taskApproverExchange(userId, taskId));
         return ResultUtil.ok(activitiService.taskApproverExchange(userId, taskId));
     }
     }
 
 
-//    @ApiOperation(value = "获取转他人审批人")
-//    @ApiResponses({@ApiResponse(code = 200, message = "流程节点审批人", response = FlowTaskApprovePeopleAllResult.class)})
-//    @RequestMapping(value = "/task/approver/exchange/people", method = RequestMethod.POST)
-//    public Result taskApproverExchangePeople(@ApiParam(value = "流程节点id", required = true) @RequestParam String taskId,
-//                                             @ApiParam(value = "用户姓名", required = false) @RequestParam(required = false) String realName) {
-//        return ResultUtil.ok(activitiService.taskApproverExchangePeople(taskId, realName));
-//    }
-
-//    @ApiOperation(value = "获取提交记录")
-//    @ApiResponses({@ApiResponse(code = 200, message = "流程提交记录", response = FlowTaskApprovePeopleAllResult.class)})
-//    @RequestMapping(value = "/task/approver/submit/list", method = RequestMethod.POST)
-//    public Result taskApproverSubmitList(@ApiParam(value = "考试任务id", required = true) @RequestParam String examTaskId) {
-//        return ResultUtil.ok(activitiService.taskApproverSubmitList(examTaskId));
-//    }
-
     @ApiOperation(value = "获取当前流程节点信息")
     @ApiOperation(value = "获取当前流程节点信息")
     @ApiResponses({@ApiResponse(code = 200, message = "当前流程节点信息", response = TaskInfoResult.class)})
     @ApiResponses({@ApiResponse(code = 200, message = "当前流程节点信息", response = TaskInfoResult.class)})
     @RequestMapping(value = "/task/info", method = RequestMethod.POST)
     @RequestMapping(value = "/task/info", method = RequestMethod.POST)
     public Result taskInfo(@ApiParam(value = "流程节点id", required = true) @RequestParam String taskId) {
     public Result taskInfo(@ApiParam(value = "流程节点id", required = true) @RequestParam String taskId) {
         return ResultUtil.ok(activitiService.getTaskInfo(SystemConstant.convertIdToLong(taskId)));
         return ResultUtil.ok(activitiService.getTaskInfo(SystemConstant.convertIdToLong(taskId)));
     }
     }
+
+    @ApiOperation(value = "重命名自定义流程名称")
+    @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
+    @RequestMapping(value = "/rename", method = RequestMethod.POST)
+    public Result rename(@Valid @RequestBody CustomFlowRenameParam customFlowRenameParam, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
+        }
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        UpdateWrapper<TFCustomFlow> tfCustomFlowUpdateWrapper = new UpdateWrapper<>();
+        tfCustomFlowUpdateWrapper.lambda().eq(TFCustomFlow::getId, customFlowRenameParam.getId())
+                .set(TFCustomFlow::getName, customFlowRenameParam.getName())
+                .set(TFCustomFlow::getUpdateId, sysUser.getId())
+                .set(TFCustomFlow::getUpdateTime, System.currentTimeMillis());
+        return ResultUtil.ok(tfCustomFlowService.update(tfCustomFlowUpdateWrapper));
+    }
+
+    @ApiOperation(value = "根据流程类型获取流程节点")
+    @ApiResponses({@ApiResponse(code = 200, message = "当前流程节点信息", response = ResultUtil.class)})
+    @RequestMapping(value = "/get_flow_info_by_type", method = RequestMethod.POST)
+    public Result getFlowInfoByType(@ApiParam(value = "流程类型", required = true) @RequestParam TFCustomTypeEnum type) {
+        return ResultUtil.ok(activitiService.getFlowInfoByType(type));
+    }
 }
 }