BpmRuntimeFeignClient.java
15.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
package com.hotent.Feign;
import com.hotent.Feign.exception.BpmRuntimeFeignFallbackException;
import com.hotent.entity.AssignParamObject;
import com.hotent.entity.CommonResult;
import com.hotent.entity.DefaultBpmTask;
import com.hotent.entity.DoNextParamObject;
import com.hotent.entity.query.QueryFilter;
import com.hotent.vo.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import java.util.Optional;
/**
* @Author: Cola
* @Date: 2021/08/20/11:16
* @Description:
**/
@FeignClient(name="${eip.feignClient.bpmRuntime:eip-bpm-runtime}",contextId = "api-manager-eip-bpm-runtime",fallbackFactory = BpmRuntimeFeignFallbackException.class)
public interface BpmRuntimeFeignClient {
// 客户端启动流程
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/start", method = RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public StartResult start(@RequestBody StartFlowParamObjectVo startFlowParamObjectVo)
throws Exception;
// 获取用户的待办事宜(对外接口)
@RequestMapping(value = "/${openApi.prefix}/runtime/task/v1/getTodoList", method = RequestMethod.POST, produces = {"application/json; charset=utf-8"})
public CommonResult getTodoList(@RequestBody QueryFilter<DefaultBpmTask> queryFilter) throws Exception;
// 查询新建流程列表
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/newProcess", method = RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public CommonResult newProcess(@RequestBody QueryFilter queryFilter)
throws Exception;
// 根据流程定义id或流程实例id或任务id或BPMN实例ID获取流程图
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getBpmImage", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public String getBpmImage(@RequestBody BpmImageParamObjectVo bpmImageParamObjectVo)
throws Exception;
// 处理任务
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/complete",method=RequestMethod.POST,produces = {
"application/json; charset=utf-8" })
public CommonResult<String> complete( @RequestBody DoNextParamObjectVo doNextParamObjectVo) throws Exception;
// 流程审批历史(页面数据)
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/instanceFlowOpinions", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult opinionHistory(
@RequestParam(value = "instId") Optional<String> instId,
@RequestParam(value = "taskId") Optional<String> taskId,
@RequestParam(value = "isCommu") Optional<Boolean> isCommu,
@RequestParam(value = "isRelFlow") Optional<Boolean> isRelFlow,
@RequestParam(value = "isRequest") Optional<Boolean> isRequest)
throws Exception;
// 获取用户的已办事宜
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getDoneList", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult getDoneList(
@RequestBody QueryFilter queryFilter,
@RequestParam(required = false,value = "status") String status,
@RequestParam(value = "isCheckRevoke")Optional<Boolean> isCheckRevoke) throws Exception;
// 人工终止流程
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/doEndProcess", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> doEndProcess(@RequestBody DoEndParamObjectVo doEndParamObject) throws Exception;
// 获取有权限的流程并将其按照分类名称进行分组
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getHasAuthFlowList", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult getHasAuthFlowList( @RequestBody QueryFilter queryFilter)throws Exception;
// 获取我的常用流程
@RequestMapping(value = "/getMyOftenFlow",method = RequestMethod.GET)
public CommonResult getMyOftenFlow() throws Exception;
// 我的请求
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getMyRequestList", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult getMyRequestList(@RequestBody QueryFilter queryFilter) throws Exception;
// 查询我的请求列表
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/myRequest", method = RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public CommonResult myRequest(@RequestBody QueryFilter queryFilter) throws Exception;
// 获取用户的已办事宜,参数status表示流程状态,不填表示查询所有
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getDoneInstList", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult getDoneInstList(@RequestBody QueryFilter queryFilter, @RequestParam(required = false,value = "status") String status) throws Exception;
// 获取任务的详情
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/taskDetailBo",method=RequestMethod.GET,produces = {
"application/json; charset=utf-8" })
public CommonResult taskDetailBo( @RequestParam(value = "taskId") String taskId, @RequestParam(value = "reqParams") String reqParams,
@RequestParam(required = false,value = "leaderId") Optional<String> leaderId) throws Exception;
// 根据任务ID获取审批按钮
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getButtonsBytaskId",method=RequestMethod.GET,produces = {
"application/json; charset=utf-8" })
public CommonResult getButtonsBytaskId(@RequestParam(value = "taskId") String taskId,@RequestParam(value ="leaderId" ) Optional<String> leaderId) throws Exception;
// 获取任务是否能锁定,返回当前任务的可操作状态:0:任务已经处理,1:可以锁定,2:不需要解锁 ,3:可以解锁,4,被其他人锁定,5:这种情况一般是管理员操作,所以不用出锁定按钮
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/canLock",method=RequestMethod.GET, produces = { "application/json; charset=utf-8" })
public CommonResult canLock( @RequestParam(value = "taskId") String taskId,@RequestParam(value = "leaderId") Optional<String> leaderId) throws Exception;
// 保存草稿
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/saveDraft",method=RequestMethod.POST,produces = {
"application/json; charset=utf-8" })
public CommonResult<String> saveDraft(@RequestBody DoNextParamObject doNextParamObject) throws Exception;
// 删除草稿
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/removeDraftById", method = RequestMethod.DELETE, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> removeDraftById(@RequestParam(value = "ids") String ids) throws Exception;
// 保存草稿
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/saveDraft", method = RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public StartResult saveDraft(@RequestBody StartFlowParamObjectVo startFlowParamObjectVo) throws Exception;
// 获取流程实例的表单和数据
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getInstFormAndBO", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult getInstFormAndBO(
@RequestParam(value = "proInstId") Optional<String> proInstId,
@RequestParam(value = "nodeId") Optional<String> nodeId,
@RequestParam(value = "formId") Optional<String> formId,
@RequestParam(value = "getStartForm") Optional<Boolean> getStartForm,
@RequestParam(value = "includData") Optional<Boolean> includData)
throws Exception;
// 根据实例id撤回流程(撤销)
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/revokeInstance", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> revokeInstance(@RequestBody RevokeParamObjectVo revokeParamObjectVo) throws Exception;
// 根据节点配置获取后续可跳转节点
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getAfterJumpNodes",method=RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public CommonResult getAfterJumpNodes(@RequestBody FlowManagerVo flowManagerVo ) throws Exception;
// 根据流程实例ID终止流程
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/doEndProcessById", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> doEndProcessById( @RequestParam(value = "id") String id, @RequestParam(value = "reason") Optional<String> reason) throws Exception;
// 任务转办
@RequestMapping(value = "/${openApi.prefix}/runtime/task/v1/delegate", method = RequestMethod.POST, produces = {"application/json; charset=utf-8"})
public CommonResult<String> delegate(@RequestBody AssignParamObject assignParamObject, @RequestParam(required = false,value = "leaderId")String leaderId) throws Exception;
// 取回委托/转办流程
@RequestMapping(value = "/${openApi.prefix}/runtime/task/v1/retrieveBpmTask", method = RequestMethod.GET, produces = {"application/json; charset=utf-8"})
public CommonResult<String> retrieveBpmTask(@RequestParam(value = "taskId") String taskId);
// 获取用户的已办事宜,参数status表示流程状态,不填表示查询所有
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getDoneInstCount", produces = {
"application/json; charset=utf-8" },method = RequestMethod.POST)
public CommonResult getDoneInstCount( @RequestBody QueryFilter queryFilter,@RequestParam(required = false,value = "status") String status) throws Exception;
// 获取待办数目
@RequestMapping(value = "/${openApi.prefix}/runtime/task/v1/getTodoCount", produces = {"application/json; charset=utf-8"},method = RequestMethod.POST)
public CommonResult getTodoCount( @RequestBody QueryFilter queryFilter) throws Exception;
// 获取待阅任务(知会任务)数量
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getNoticeDoneReadCount", produces = { "application/json; charset=utf-8" },method = RequestMethod.POST)
public CommonResult getNoticeDoneReadCount(@RequestBody QueryFilter queryFilter) throws Exception;
// 获取已阅任务(知会任务)
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getNoticeDoneReadList",method=RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public CommonResult getNoticeDoneReadList(@RequestBody QueryFilter queryFilter) throws Exception;
// 获取待阅任务(知会任务)数量
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getNoticeTodoReadCount", produces = { "application/json; charset=utf-8" },method = RequestMethod.POST)
public CommonResult getNoticeTodoReadCount(@RequestBody QueryFilter queryFilter) throws Exception;
// 获取待阅任务(知会任务)
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getNoticeTodoReadList",method=RequestMethod.POST, produces = { "application/json; charset=utf-8" })
public CommonResult getNoticeTodoReadList(@RequestBody QueryFilter queryFilter) throws Exception;
// 批量处理任务
@RequestMapping(value = "/${openApi.prefix}/runtime/task/v1/batchHandle", method = RequestMethod.POST, produces = {"application/json; charset=utf-8"})
public CommonResult batchHandle(@RequestBody Map<String,String> requestMap) throws Exception;
/**
* 根据流程实例ID获取当前实例的所有节点和审批人
* @param instId
* @return
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getExcutorNameByInstId", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult getExcutorNameByInstId(@RequestParam(value = "instId") String instId) throws Exception;
/**
* 通过流程实例id取消挂起流程实例
* @param instId 实例id
* @return
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/unForbiddenInstance", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> unForbiddenInstance(@RequestParam(value = "instId") String instId) throws Exception;
/**
* 通过流程实例id挂起流程实例
* @param instId 实例id
* @return
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/forbiddenInstance", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> forbiddenInstance(@RequestParam(value = "instId") String instId) throws Exception;
/**
* 根据实例id获取实例对象
* @param instId
* @return 实例id
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getInstanceByInstId", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult getInstanceByInstId(@RequestParam(value = "instId") String instId) throws Exception;
/**
* 通过businessKey获取运行实例
* @param businessKey 业务主键
* @param sysCode 业务系统编码
* @return
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/getInstancetByBizKeySysCode", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult getInstancetByBizKeySysCode(@RequestParam(value = "businessKey") String businessKey,@RequestParam(value = "sysCode") String sysCode) throws Exception;
/**
* 终止恢复
* @param id 流程实例id
* @param reason 终止原因
* @return
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/instance/v1/renewProcess", method = RequestMethod.GET, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> renewProcess(@RequestParam(value = "id") String id,@RequestParam(value = "reason") String reason) throws Exception;
/**
* 通过实例id获取任务列表
* @param instId 实例id
* @return
* @throws Exception
*/
@RequestMapping(value="/${openApi.prefix}/runtime/task/v1/getTasksByInstId",method=RequestMethod.GET,produces = {
"application/json; charset=utf-8" })
public CommonResult getTasksByInstId(@RequestParam(value = "instId") String instId) throws Exception;
/**
* 修改任务执行人
* @param modifyExecutorsParamObjectVo 修改执行人对象
* @return
* @throws Exception
*/
@RequestMapping(value = "/${openApi.prefix}/runtime/task/v1/setTaskExecutors", method = RequestMethod.POST, produces = {
"application/json; charset=utf-8" })
public CommonResult<String> setTaskExecutors(@RequestBody ModifyExecutorsParamObjectVo modifyExecutorsParamObjectVo)throws Exception;
}