Commit 8f75a19d authored by 赵啸非's avatar 赵啸非

添加用户同步接口

parent da743711
package com.mortals.xhx.feign.flowable;
import com.mortals.xhx.feign.IFeign;
import com.mortals.xhx.feign.req.BaseFlowReq;
import com.mortals.xhx.feign.req.BaseQuery;
import com.mortals.xhx.feign.req.DefinitionReq;
import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.feign.rsp.DefinitionDeployRsp;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 工作流程访问
*
* @author: zxfei
* @date: 2021/8/31 9:34
*/
@FeignClient(name = "workflow-manager",path = "/m")
public interface IApiFlowDefinitionFeign extends IFeign {
/**
* 流程部署列表查询
*
* @param req
* @return
*/
@PostMapping("/api/definition/deploy/list")
ApiResp<DefinitionDeployRsp> deploymentsList(@RequestBody BaseFlowReq<BaseQuery> req);
/**
* 激活或挂起流程定义(已经部署)
*
* @param req
* @return
*/
@PostMapping("/api/definition/deploy/updateState")
ApiResp<String> updateState(@RequestBody DefinitionReq req);
/**
* 激活或挂起流程定义(已经部署)
*
* @param req
* @return
*/
@PostMapping("/api/definition/deploy/readXml")
ApiResp<String> readXml(@RequestBody DefinitionReq req);
}
\ No newline at end of file
package com.mortals.xhx.feign.flowable;
import com.mortals.framework.exception.AppException;
import com.mortals.xhx.common.pdu.api.ApiRespPdu;
import com.mortals.xhx.common.pdu.sms.SmsSendReq;
import com.mortals.xhx.feign.IFeign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 工作流api
*/
@FeignClient(name = "government-flowable",path = "/m")
public interface IApiFlowFeign extends IFeign {
/**
* 流程部署
*
* @param modelId 流程ID,来自 ACT_DE_MODEL
* @return
* @throws AppException
*/
@PostMapping(value = "/flowable/api/deploy")
ApiRespPdu<String> deploy(@RequestParam("modelId") String modelId) throws AppException;
/**
* 启动流程
*
* @param deployId 部署的流程 Id,来自 ACT_RE_PROCDEF
* @param userId 用户 Id
* @param dataKey 数据 Key,业务键,一般为表单数据的 ID,仅作为表单数据与流程实例关联的依据
* @return
* @throws AppException
*/
@PostMapping(value = "/flowable/api/start")
ApiRespPdu<String> start(@RequestParam(value = "deployId") String deployId, @RequestParam(value = "userId") String userId, @RequestParam(value = "dataKey") String dataKey);
/**
* 设置任务参数
*
* @param taskId 任务ID
* @param map 用户列表
* @return
*/
@RequestMapping(value = "/flowable/api/setVariables", method = RequestMethod.POST)
ApiRespPdu<String> setVariables(@RequestParam(value = "taskId") String taskId, @RequestBody Map<String, Object> map);
/**
* 设置任务参数
*
* @param taskId 任务ID
* @param key 键
* @param value 值
* @return
*/
@RequestMapping(value = "/setVariable", method = RequestMethod.POST)
ApiRespPdu<String> setVariable(@RequestParam(value = "taskId") String taskId,
@RequestParam(value = "key") String key,
@RequestParam(value = "value") Object value);
/**
* 设置任务参数,List 使用
*
* @param taskId 任务ID
* @param key 键
* @param value 值
* @return
*/
@RequestMapping(value = "/flowable/api/setListVariable", method = RequestMethod.POST)
ApiRespPdu<String> setListVariable(@RequestParam(value = "taskId") String taskId,
@RequestParam(value = "key") String key,
@RequestParam(value = "value") List<String> value);
/**
* 任务处理1
*
* @param taskId 任务 Id,来自 ACT_RU_TASK
* @return
*/
@RequestMapping(value = "/flowable/api/task", method = RequestMethod.POST)
ApiRespPdu<String> task(@RequestParam(value = "taskId") String taskId);
/**
* 任务处理
*
* @param taskId 任务 Id,来自 ACT_RU_TASK
* @param assignee 设置审核人,替换
* @param map 完成任务需要的条件参数
* @return
*/
@RequestMapping(value = "/flowable/api/taskByAssignee", method = RequestMethod.POST)
ApiRespPdu<String> taskByAssignee(@RequestParam(value = "taskId") String taskId,
@RequestParam(value = "assignee") String assignee,
@RequestBody Map<String, Object> map);
/**
* 中止流程
*
* @param processId 流程ID
* @return
*/
@RequestMapping(value = "/flowable/api/deleteProcess", method = RequestMethod.POST)
ApiRespPdu<String> deleteProcess(@RequestParam(value = "processId") String processId);
/**
* 获取正在运行的数据 Id 列表
*
* @return
*/
@RequestMapping(value = "/flowable/api/getRuntimeDataId", method = RequestMethod.POST)
ApiRespPdu<List<String>> getRuntimeDataId();
/**
* 根据用户,获取需要审核的业务键 business_key 列表
*
* @param userId 用户 Id
* @return
*/
@RequestMapping(value = "/flowable/api/getRuntimeBusinessKeyByUser", method = RequestMethod.POST)
ApiRespPdu<List<Map<String, Object>>> getRuntimeBusinessKeyByUser(@RequestParam(value = "userId") String userId);
/**
* 获取组,获取需要审核的业务键 business_key 列表
*
* @param groupIds 组 Id
* @return
*/
@RequestMapping(value = "/flowable/api/getRuntimeBusinessKeyByGroup", method = RequestMethod.POST)
ApiRespPdu<List<Map<String, Object>>> getRuntimeBusinessKeyByGroup(@RequestBody List<String> groupIds);
/**
* 获取用户审核历史
*
* @param userId 发起人 Id
* @return
*/
@RequestMapping(value = "/flowable/api/getHistoryByUser", method = RequestMethod.POST)
ApiRespPdu<List<Map<String, Object>>> getHistoryByUser(@RequestParam(value = "userId") String userId);
/**
* 通过流程实例 Id,判断流程是否结束
*
* @param processInstanceId 流程实例 Id
* @return true 结束,false 未结束
*/
@RequestMapping(value = "/flowable/api/checkProcessInstanceFinish", method = RequestMethod.POST)
ApiRespPdu<Boolean> checkProcessInstanceFinish(@RequestParam(value = "processInstanceId") String processInstanceId);
/**
* 根据任务节点获取流程实例 Id
*
* @param taskId 任务节点 Id
* @return
*/
@RequestMapping(value = "/flowable/api/getTaskInfo", method = RequestMethod.POST)
ApiRespPdu<String> getTaskInfo(@RequestParam(value = "taskId") String taskId);
/**
* 根据流程实例 ID 获取任务进度流程图
*
* @param processInstanceId 流程实例id
* @return base64图片数据
* @throws AppException
*/
@RequestMapping(value = "/flowable/api/getProcessDiagram", method = RequestMethod.POST)
String getProcessDiagram(@RequestParam("processInstanceId") String processInstanceId);
/**
* 根据任务 ID 获取任务进度流程图
*
* @param taskId 任务节点 Id
* @return
*/
@RequestMapping(value = "/flowable/api/getTaskProcessDiagram", method = RequestMethod.POST)
ApiRespPdu<String> getTaskProcessDiagram(@RequestParam(value = "taskId") String taskId);
}
package com.mortals.xhx.feign.flowable;
import com.mortals.xhx.common.pdu.api.ApiRespPdu;
import com.mortals.xhx.common.pdu.flow.FlowTaskVoPdu;
import com.mortals.xhx.common.pdu.flow.FlowViewerPdu;
import com.mortals.xhx.feign.IFeign;
import com.mortals.xhx.feign.processinstance.ProcessCommonReq;
import com.mortals.xhx.feign.processinstance.ProcessDeleteReq;
import com.mortals.xhx.feign.processinstance.ProcessStopReq;
import com.mortals.xhx.feign.processinstance.ProcessUpdateStateReq;
import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.feign.runtime.StartProcessInstanceReq;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
/**
* 工作流流程实例
*
* @author: finegirl
* @date: 2021/7/31 19:52
*/
@FeignClient(name = "workflow-manager",path = "/m")
public interface IApiFlowInstanceFeign extends IFeign {
/**
* 启动流程
*
* @param req
* @return
*/
@PostMapping("/api/flow/process/start")
ApiResp<String> processStart(@RequestBody StartProcessInstanceReq req);
/**
* 激活或挂起流程实例
*
* @param req
* @return
*/
@PostMapping("/api/flow/process/updateState")
ApiResp updateState(@RequestBody ProcessUpdateStateReq req);
/**
* 终止流程
*
* @param req
* @return
*/
@PostMapping("/api/flow/process/stop")
ApiResp<String> stopProcess(@RequestBody ProcessStopReq req);
/**
* 删除流程
*
* @param req
* @return
*/
@PostMapping("/api/flow/process/delete")
ApiResp<String> deleteProcess(@RequestBody ProcessDeleteReq req);
/**
* 获取流程执行过程
*
* @param req
* @return
*/
@PostMapping("/api/flow/process/getFlowViewer")
ApiResp<List<FlowViewerPdu>> getFlowViewer(@RequestBody ProcessCommonReq req);
/**
* 根据流程实例ID 获取当前流程运行情况 返回BASE64图片
*
* @param req
* @return base64图片数据
*/
@PostMapping("/api/flow/process/getImage")
ApiResp<String> processReadImage(@RequestBody ProcessCommonReq req);
@PostMapping("/api/flow/process/getAllProcessInstanceEl")
ApiResp<List<FlowTaskVoPdu>> getAllProcessInstanceEl(@RequestBody StartProcessInstanceReq req);
}
\ No newline at end of file
package com.mortals.xhx.feign.flowable;
import com.mortals.xhx.common.pdu.flow.FlowNextPdu;
import com.mortals.xhx.common.pdu.flow.FlowUserTaskPdu;
import com.mortals.xhx.feign.IFeign;
import com.mortals.xhx.feign.req.BaseFlowReq;
import com.mortals.xhx.feign.req.BaseQuery;
import com.mortals.xhx.feign.rsp.ApiResp;
import com.mortals.xhx.feign.rsp.TaskRsp;
import com.mortals.xhx.feign.task.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
/**
* 工作流任务管理
*
* @author: finegirl
* @date: 2021/7/31 19:52
*/
@FeignClient(name = "workflow-manager",path = "/m")
public interface IApiFlowTaskFeign extends IFeign {
/**
* 我发起的流程
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/myProcess")
ApiResp<TaskRsp> myProcess(@RequestBody BaseFlowReq<BaseQuery> req);
/**
* 获取待办列表
* 获取的列表需要和业务系统数据合并
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/todoList")
ApiResp<TaskRsp> todoList(@RequestBody BaseFlowReq<BaseQuery> req);
/**
* 获取已办任务
* 获取的列表需要和业务系统数据合并
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/finishedList")
ApiResp<TaskRsp> finishedList(@RequestBody BaseFlowReq<BaseQuery> req);
/**
* 流程历史流转记录
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/flowRecord")
ApiResp<TaskRsp> flowRecord(@RequestBody BaseFlowReq<BaseQuery> req);
/**
* 获取流程变量
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/processVariables")
ApiResp<Map<String, Object>> processVariables(@RequestBody CommonTaskReq req);
/**
* 设置流程变量
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/setProcessVariables")
ApiResp<Map<String, Object>> setProcessVariables(@RequestBody CommonTaskReq req);
/**
* 撤回流程
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/revokeProcess")
ApiResp revokeProcess(@RequestBody RevokeTaskReq req);
/**
* 取消申请
*
* @param commonTaskReq
* @return
*/
@PostMapping("/api/flow/task/stopProcess")
ApiResp stopProcess(@RequestBody CommonTaskReq commonTaskReq);
/**
* 审批任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/complete")
ApiResp<String> complete(@RequestBody CompleteTaskReq req);
/**
* 驳回任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/reject")
ApiResp<String> reject(@RequestBody RejectTaskReq req);
/**
* 退回任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/return")
ApiResp<String> taskReturn(@RequestBody ReturnTaskReq req);
/**
* 删除任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/delete")
ApiResp<String> delete(@RequestBody DeleteTaskReq req);
/**
* 委派任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/delegate")
ApiResp<String> delegateTask(@RequestBody DelegateTaskReq req);
/**
* 转办任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/assign")
ApiResp<String> assignTask(@RequestBody TurnTaskReq req);
/**
* 加签任务
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/addSign")
ApiResp<String> addSignTask(@RequestBody AddSignTaskReq req);
/**
* 获取所有可回退的节点
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/findReturnTaskList")
ApiResp<List<FlowUserTaskPdu>> findReturnTaskList(@RequestBody CommonTaskReq req);
/**
* 获取下一节点
*
* @param req
* @return
*/
@PostMapping("/api/flow/task/nextFlowNode")
ApiResp<FlowNextPdu> nextFlowNode(@RequestBody CommonTaskReq req);
}
package com.mortals.xhx.feign.processinstance;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 实例查询Query
*
* @author: zxfei
* @date: 2021/8/24 20:42
*/
@Data
public class InstanceQueryParamsReq {
/**
* 用户的工号 必填
*/
@ApiModelProperty(value = "用户的工号")
private String userCode;
/**
* 平台应用标识 必填
*/
@ApiModelProperty(value = "平台应用标识")
private String platformSn;
/**
* 开始时间
*/
@ApiModelProperty(value = "开始时间")
private String startTime;
/**
* 结束时间
*/
@ApiModelProperty(value = "结束时间")
private String endTime;
/**
* 业务系统的id
*/
@ApiModelProperty(value = "业务系统的id")
private String businessKey;
/**
* 排序字段 1 升序 0 降序
*/
@ApiModelProperty(value = "排序字段 1 升序 0 降序")
private Integer orderFlag = 0;
/**
* 流程实例ID
*/
@ApiModelProperty(value = "流程实例ID")
private String processInstanceId;
/**
* 流程定义KEY
*/
@ApiModelProperty(value = "流程定义KEY")
private String processDefinitionKey;
/**
* 流程状态
*/
@ApiModelProperty(value = "流程状态")
private String processType;
/**
* 发起人工号集合
*/
@ApiModelProperty(value = "发起人工号集合")
private String startedUserIds;
}
package com.mortals.xhx.feign.processinstance;
import lombok.Data;
/**
* 实例通用请求
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public class ProcessCommonReq {
/**
* 处理人Id
*/
private String userCode;
/**
* 流程实例id
*/
private String processInstanceId;
}
package com.mortals.xhx.feign.processinstance;
import lombok.Data;
/**
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public class ProcessDeleteReq {
/**
* 处理人Id 必填
*/
private String userCode;
/**
* 流程实例id 必填
*/
private String processInstanceId;
/**
* 删除原因 必填
*/
private String deleteReason;
}
package com.mortals.xhx.feign.processinstance;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 流程实例返回数据对象
*
* @author: zxfei
* @date: 2021/8/26 10:31
*/
@Data
@ApiModel(value = "ProcessInstanceInfo" , description = "查询流程实例返回对象")
public class ProcessInstanceInfo implements Serializable {
private static final long serialVersionUID = -5038515846218363889L;
/**
* 流程实例id
*/
private String processInstanceId;
/**
* 流程定义id
*/
private String processDefinitionId;
/**
* 流程定义的名称
*/
private String processDefinitionName;
/**
* 流程定义的key
*/
private String processDefinitionKey;
/**
* 流程定义类型
*/
private Integer processDefinitionType;
/**
* 流程定义的版本号
*/
private Integer processDefinitionVersion;
/**
* 分类编号
*/
private String categoryCode;
/**
* 部署id
*/
private String deploymentId;
/**
* 业务表单的id
*/
private String businessKey;
/**
* 办理人
*/
private String assignees;
/**
* 应用id
*/
private String appId;
/**
* 平台应用标识
*/
private String appSn;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 挂起状态 1激活 2挂起 @see ProcessInstanceStatusEnum
*/
private Integer pState;
/**
* 删除标记
*/
private String reason;
/**
* 创建人的id
*/
private String startedUserId;
/**
* 创建人的名称
*/
private String startedUserName;
/**
* 创建人ids
*/
private List<String> startedUserIds;
/**
* 默认所有的
*/
private Boolean finishFlag = false;
/**
* 流程实例状态 @see {@link ProcessStatusEnum}
*/
private String processStatus;
/**
* 流程实例状态名称
*/
private String processStatusName;
/**
* 表单的名称
*/
private String formName;
/**
* 流程创建人姓名
*/
private String startPersonName;
/**
* 流程的创建时间
*/
@JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
private String startTimeStr;
private String endTimeStr;
/**
* 系统名称
*/
private String appName;
/**
* 业务系统的url
*/
private String businessUrl;
/**
* 总耗时
*/
private String totalTime;
/**
* 当前办理人(当前流程是多人办理)
*/
// private List<ApproverVo> currentAssignees;
public ProcessInstanceInfo() {
}
public ProcessInstanceInfo(String processInstanceId, String businessKey, String formName, String startedUserId) {
this.processInstanceId = processInstanceId;
this.businessKey = businessKey;
this.formName = formName;
this.startedUserId = startedUserId;
}
}
package com.mortals.xhx.feign.processinstance;
import lombok.Data;
/**
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public class ProcessStopReq {
/**
* 处理人Id 必填
*/
private String userCode;
/**
* 流程实例id
*/
private String processInstanceId;
}
package com.mortals.xhx.feign.processinstance;
import lombok.Data;
/**
* @author: zxfei
* @date: 2021/8/26 10:42
* @description:
**/
@Data
public class ProcessUpdateStateReq {
/**
* 处理人Id 必填
*/
private String userCode;
/**
* 流程实例id 必填
*/
private String processInstanceId;
/**
* 激活或挂起流程实例(1:激活,2:挂起) 必填
*/
private Integer suspensionState;
}
package com.mortals.xhx.feign.runtime;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.mortals.framework.util.DateUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
/**
* 启动流程参数
*
* @author: zxfei
* @date: 2021/8/26 10:45
*/
@Data
public class StartProcessInstanceReq implements Serializable {
/**
* 流程部署key 必填
*/
@ApiModelProperty(value = "流程定义key" , required = true)
private String processDefinitionKey;
/**
* 业务系统表单id 必填
*/
@ApiModelProperty(value = "业务系统唯一标识" , required = true)
private String businessKey;
/**
* 业务表单显示名称 必填(如请假单)
*/
@ApiModelProperty(value = "表单显示名称" , required = true)
private String formName;
/**
* 启动流程变量 选填
*/
@ApiModelProperty(value = "启动流程变量")
private Map<String, Object> variables;
/**
* 申请人id号 必填
*/
@ApiModelProperty(value = "申请人id号")
private String userCode;
/**
* 平台系统标识 必填
*/
@ApiModelProperty(value = "平台系统标识" , required = true)
private String platformSn;
/**
* 流程提交人工号 通常和申请人id一致即可 必填
*/
@ApiModelProperty(value = "流程提交人工号 通常和申请人id一致即可" , required = true)
private String creator;
public static void main(String[] args) {
DateTime dateTime = DateUtil.offsetMonth(new Date(), 2);
System.out.println(DateUtils.getStrDate(dateTime));
}
}
......@@ -35,7 +35,7 @@ import java.util.Set;
* @author zxfei
*/
@Primary
@Service
//@Service
@Order(1)
@Slf4j
public class AuthTokenServiceImpl implements IAuthTokenService {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment