Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
687e0540
Commit
687e0540
authored
Jul 23, 2025
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(jyjc):jyjc集成seata:
1.feign切换
parent
9a256400
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
84 additions
and
98 deletions
+84
-98
WorkflowFeignClient.java
.../amos/boot/module/jyjc/biz/feign/WorkflowFeignClient.java
+72
-0
CmWorkflowServiceImpl.java
...t/module/jyjc/biz/service/impl/CmWorkflowServiceImpl.java
+11
-6
JyjcOpeningApplicationServiceImpl.java
...c/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
+1
-0
WorkflowHelper.java
...mos/boot/module/jyjc/biz/service/impl/WorkflowHelper.java
+0
-92
No files found.
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/feign/WorkflowFeignClient.java
View file @
687e0540
...
...
@@ -3,9 +3,11 @@ package com.yeejoin.amos.boot.module.jyjc.biz.feign;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jyjc.biz.config.XidFeignConfiguration
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Map
;
@FeignClient
(
contextId
=
"jyjc"
,
name
=
"${workflow.feign.name:AMOS-API-WORKFLOW}"
,
path
=
"workflow"
,
configuration
=
{
XidFeignConfiguration
.
class
})
...
...
@@ -58,5 +60,75 @@ public interface WorkflowFeignClient {
@RequestMapping
(
value
=
"/v2/task/rollBack/{processInstanceId}"
,
method
=
RequestMethod
.
POST
)
JSONObject
rollBack
(
@PathVariable
(
value
=
"processInstanceId"
)
String
processInstanceId
);
/**
* 工作流启动接口
*
* @param params 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping
(
value
=
"/v2/task/start/batch"
,
method
=
RequestMethod
.
POST
)
FeignClientResult
<
List
<
ProcessTaskDTO
>>
startForBatch
(
@RequestBody
ActWorkflowBatchDTO
params
)
throws
Exception
;
/**
* 工作流驳回任务接口
*
* @param taskId 任务Id
* @param data 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping
(
value
=
"/v2/task/reject/{taskId}"
,
method
=
RequestMethod
.
POST
)
FeignClientResult
<
ProcessTaskDTO
>
reject
(
@PathVariable
(
"taskId"
)
String
taskId
,
@RequestBody
TaskResultDTO
data
)
throws
Exception
;
/**
* 工作流完成任务接口
*
* @param taskId 任务Id
* @param data 业务参数
* @return ProcessTaskDTO
* @throws Exception e
*/
@RequestMapping
(
value
=
"/v2/task/complete/standard/{taskId}"
,
method
=
RequestMethod
.
POST
)
FeignClientResult
<
ProcessTaskDTO
>
completeByTaskFroStandard
(
@PathVariable
(
"taskId"
)
String
taskId
,
@RequestBody
TaskResultDTO
data
)
throws
Exception
;
/**
* 工作流撤回
*
* @param processInstanceId processInstanceId
* @return ProcessTaskDTO
*/
@PostMapping
(
value
=
"/v2/task/rollBack/standard/{processInstanceId}"
)
FeignClientResult
<
ProcessTaskDTO
>
rollBackTask
(
@PathVariable
(
"processInstanceId"
)
String
processInstanceId
);
/**
* 转办任务
*
* @param flowTaskVo flowTaskVo
* @return ProcessTaskDTO
*/
@PostMapping
(
value
=
"/v2/task/assign"
)
FeignClientResult
<
ProcessTaskDTO
>
assign
(
@RequestBody
FlowTaskVo
flowTaskVo
);
/**
* 终止流程
*
* @param processInstanceId processInstanceId
* @return ProcessInstanceDTO
* @throws Exception e
*/
@DeleteMapping
(
value
=
"/v2/task/stopProcess/{processInstanceId}"
)
FeignClientResult
<
ProcessInstanceDTO
>
stopProcess
(
@PathVariable
(
"processInstanceId"
)
String
processInstanceId
,
@RequestParam
(
required
=
false
,
value
=
"stopReason"
)
String
stopReason
)
throws
Exception
;
/**
* 处理审批错误历史数据
*
* @param processInstanceId processInstanceId
* @return ProcessTaskDTO
*/
@RequestMapping
(
value
=
"/v2/task/error/history/data/{processInstanceId}"
,
method
=
RequestMethod
.
GET
)
FeignClientResult
<
ProcessTaskDTO
>
handleErrorForm
(
@PathVariable
(
"processInstanceId"
)
String
processInstanceId
,
@RequestParam
(
value
=
"receiveCompanyCode"
)
String
receiveCompanyCode
);
}
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/service/impl/CmWorkflowServiceImpl.java
View file @
687e0540
...
...
@@ -3,15 +3,16 @@ package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jyjc.biz.config.LocalBadRequest
;
import
com.yeejoin.amos.boot.module.jyjc.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.boot.module.jyjc.biz.service.ICmWorkflowService
;
import
com.yeejoin.amos.component.feign.config.InnerInvokException
;
import
com.yeejoin.amos.component.feign.utils.FeignUtil
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO
;
import
com.yeejoin.amos.feign.workflow.model.FlowTaskVo
;
import
com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
...
...
@@ -23,12 +24,15 @@ import java.util.List;
@Slf4j
public
class
CmWorkflowServiceImpl
implements
ICmWorkflowService
{
@Autowired
private
WorkflowFeignClient
workflowFeignClient
;
@Override
public
List
<
ProcessTaskDTO
>
startBatch
(
ActWorkflowBatchDTO
params
)
{
List
<
ProcessTaskDTO
>
processTasks
;
try
{
log
.
info
(
"开始请求工作流启动接口:/start/batch,请求参数:{}"
,
JSONObject
.
toJSONString
(
params
));
processTasks
=
Workflow
.
taskV2
Client
.
startForBatch
(
params
).
getResult
();
processTasks
=
workflowFeign
Client
.
startForBatch
(
params
).
getResult
();
}
catch
(
InnerInvokException
e
)
{
//拦截无审核人异常信息
String
devMessage
=
e
.
getDevMessage
();
...
...
@@ -47,7 +51,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
ProcessTaskDTO
processTaskDTO
;
try
{
log
.
info
(
"开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}"
,
taskId
,
JSONObject
.
toJSONString
(
data
));
processTaskDTO
=
Workflow
.
taskV2
Client
.
completeByTaskFroStandard
(
taskId
,
data
).
getResult
();
processTaskDTO
=
workflowFeign
Client
.
completeByTaskFroStandard
(
taskId
,
data
).
getResult
();
}
catch
(
InnerInvokException
e
)
{
//拦截无审核人异常信息
String
devMessage
=
e
.
getDevMessage
();
...
...
@@ -66,7 +70,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
ProcessTaskDTO
processTaskDTO
;
try
{
log
.
info
(
"开始请求工作流完成任务接口:/complete/standard/{taskId},请求参数:{},{}"
,
taskId
,
JSONObject
.
toJSONString
(
data
));
processTaskDTO
=
Workflow
.
taskV2
Client
.
reject
(
taskId
,
data
).
getResult
();
processTaskDTO
=
workflowFeign
Client
.
reject
(
taskId
,
data
).
getResult
();
}
catch
(
InnerInvokException
e
)
{
//拦截无审核人异常信息
String
devMessage
=
e
.
getDevMessage
();
...
...
@@ -79,10 +83,11 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
}
return
processTaskDTO
;
}
@Override
public
ProcessTaskDTO
rollBack
(
String
processInstanceId
)
{
log
.
info
(
"开始请求工作流撤回接口:/rollBack/standard/{processInstanceId},请求参数:{}"
,
processInstanceId
);
return
FeignUtil
.
remoteCall
(()
->
Workflow
.
taskV2
Client
.
rollBackTask
(
processInstanceId
));
return
FeignUtil
.
remoteCall
(()
->
workflowFeign
Client
.
rollBackTask
(
processInstanceId
));
}
@Override
...
...
@@ -90,7 +95,7 @@ public class CmWorkflowServiceImpl implements ICmWorkflowService {
ProcessTaskDTO
processTaskDTO
=
new
ProcessTaskDTO
();
try
{
log
.
info
(
"开始请求工作流转办任务接口:/assign/{taskVo},请求参数:{},{}"
,
taskVo
);
processTaskDTO
=
Workflow
.
taskV2
Client
.
assign
(
taskVo
).
getResult
();
processTaskDTO
=
workflowFeign
Client
.
assign
(
taskVo
).
getResult
();
}
catch
(
InnerInvokException
e
)
{
//拦截无审核人异常信息
String
devMessage
=
e
.
getDevMessage
();
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/service/impl/JyjcOpeningApplicationServiceImpl.java
View file @
687e0540
...
...
@@ -790,6 +790,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
.
filter
(
Objects:
:
nonNull
).
forEach
(
itemCode
->
{
BaseUnitLicence
licence
=
new
BaseUnitLicence
();
BeanUtils
.
copyProperties
(
e
,
licence
);
licence
.
setSequenceNbr
(
sequence
.
nextId
());
licence
.
setItemCode
(
itemCode
);
licence
.
setEnterpriseCertSeq
(
cert
.
getSequenceNbr
().
toString
());
licences
.
add
(
licence
);
...
...
amos-boot-system-tzs/amos-boot-module-jyjc/amos-boot-module-jyjc-biz/src/main/java/com/yeejoin/amos/boot/module/jyjc/biz/service/impl/WorkflowHelper.java
deleted
100644 → 0
View file @
9a256400
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jyjc
.
biz
.
service
.
impl
;
import
cn.hutool.core.map.MapBuilder
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jyjc.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.AjaxResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
/**
* <p>
* ProjectName: amos-boot-biz
* PackageName: com.yeejoin.amos.boot.module.jyjc.biz.service.impl
*
* @author yangyang
* @version v1.0
* @date 2023/12/15 15:46
*/
@Component
@Slf4j
public
class
WorkflowHelper
{
@Autowired
private
WorkflowFeignClient
workflowFeignClient
;
/**
* 获取工作流
*
*
* @param instanceId instanceId
* @return {@link JSONObject}
* @author yangyang
* @throws
* @date 2023/12/15 16:17
*/
public
JSONObject
getTask
(
String
instanceId
)
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
JSONObject
dataObject
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
ajaxResult
.
get
(
"data"
)));
// String taskId = dataObject.getString("id");// 工作流ID
// FeignClientResult<JSONObject> nodeInfo = workflowFeignClient.getNodeInfotoken(RequestContext.getAppKey(), RequestContext.getProduct(), RequestContext.getToken(), taskId);
// dataObject.put("nodeInfo", nodeInfo.getResult());
return
dataObject
;
}
public
String
getWorkflowStatus
(
JSONObject
dataObject
)
{
return
!
ValidationUtil
.
isEmpty
(
dataObject
)
&&
!
ValidationUtil
.
isEmpty
(
dataObject
.
get
(
"status"
))
?
String
.
valueOf
(
dataObject
.
get
(
"status"
))
:
""
;
}
public
String
getWorkflowRoleGroups
(
JSONObject
dataObject
)
{
JSONArray
executorArray
=
dataObject
.
getJSONObject
(
"nodeInfo"
).
getJSONArray
(
"executor"
);
if
(!
ValidationUtil
.
isEmpty
(
executorArray
))
{
return
executorArray
.
stream
().
map
(
json
->
Optional
.
ofNullable
(((
LinkedHashMap
)
json
).
get
(
"groupId"
)).
orElse
(
""
).
toString
()).
collect
(
Collectors
.
joining
(
","
));
}
return
null
;
}
public
JSONObject
rollBack
(
String
workflowProstanceId
)
{
return
workflowFeignClient
.
rollBack
(
workflowProstanceId
);
}
public
Map
<
String
,
Object
>
getNextWorkflowNode
(
String
instanceId
)
{
String
role
=
""
;
String
taskName
=
"流程结束"
;
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
AjaxResult
taskNoAuth
=
Workflow
.
taskClient
.
getTaskNoAuth
(
instanceId
);
if
(!
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
taskName
=
nextTask
.
getString
(
"name"
);
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
if
(((
Map
)
datum
).
containsKey
(
"groupId"
))
{
roleList
.
add
(((
Map
)
datum
).
get
(
"groupId"
).
toString
());
}
}
}
role
=
String
.
join
(
","
,
roleList
);
return
MapBuilder
.<
String
,
Object
>
create
().
put
(
"taskName"
,
taskName
).
put
(
"role"
,
role
).
build
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment