Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
Overview
Overview
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
yx-qc-change-flow
yanxuan-qc-change-system
Commits
a9b05b95
Commit
a9b05b95
authored
Dec 17, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 获取节点审核人
parent
3d78c38a
Pipeline
#87057
passed with stages
in 2 minutes 15 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
59 additions
and
2 deletions
+59
-2
ChangeSubFlowBiz.java
...netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
+47
-0
ChangeSubFlowController.java
...anxuan/change/web/controller/ChangeSubFlowController.java
+12
-2
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
View file @
a9b05b95
...
@@ -51,6 +51,9 @@ import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO;
...
@@ -51,6 +51,9 @@ import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO;
import
com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp
;
import
com.netease.mail.yanxuan.change.integration.flow.ius.rsp.IusUserInfoRsp
;
import
com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse
;
import
com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.UserReachDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.exec.InterfaceInputDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -87,6 +90,50 @@ public class ChangeSubFlowBiz {
...
@@ -87,6 +90,50 @@ public class ChangeSubFlowBiz {
private
final
ChangeSubFlowFileService
changeSubFlowFileService
;
private
final
ChangeSubFlowFileService
changeSubFlowFileService
;
private
final
SupplierSendService
sendSupplierEmail
;
private
final
SupplierSendService
sendSupplierEmail
;
public
UserBaseContainerDTO
getOperator
(
InterfaceInputDTO
interfaceInput
)
{
log
.
info
(
"[getOperator] interfaceInput:{}"
,
JSON
.
toJSONString
(
interfaceInput
));
// 根据工单subFlowId获取审批人,创建工单时设置,唯一
String
subFlowId
=
interfaceInput
.
getPublicFieldDTO
().
getFlowMeta
().
getFlowId
();
String
nodeId
=
interfaceInput
.
getPublicFieldDTO
().
getFlowMeta
().
getCurrNodeDataList
().
get
(
0
).
getNodeId
();
log
.
info
(
"[getOperator] subFlowId:{}, nodeId:{}"
,
subFlowId
,
nodeId
);
ChangeSubFlowRecord
changeSubFlowRecord
;
changeSubFlowRecord
=
changeSubFlowRecordService
.
getBySubFlowId
(
subFlowId
);
log
.
info
(
"[getOperator] first time get changeSubFlowRecord:{}"
,
changeSubFlowRecord
);
// 创建工单后落库,此时审批人还未落库,工单平台无法查询到审批人,方法休眠500ms
if
(
changeSubFlowRecord
==
null
)
{
try
{
Thread
.
sleep
(
500
);
changeSubFlowRecord
=
changeSubFlowRecordService
.
getBySubFlowId
(
subFlowId
);
log
.
info
(
"[getOperator] second time get changeSubFlowRecord:{}"
,
changeSubFlowRecord
);
}
catch
(
Exception
e
)
{
log
.
info
(
"[getOperator] subFlowId:{}, nodeId:{}, e={}"
,
subFlowId
,
nodeId
,
e
);
}
}
// 从approver字段获取审批人列表,反序列化JSON字符串
String
approverJson
=
changeSubFlowRecord
.
getApprover
();
List
<
UserReachDTO
>
totalUserList
=
new
ArrayList
<>();
if
(
StringUtils
.
isNotBlank
(
approverJson
))
{
List
<
String
>
approvers
=
JSON
.
parseArray
(
approverJson
,
String
.
class
);
if
(
CollectionUtils
.
isNotEmpty
(
approvers
))
{
for
(
String
approver
:
approvers
)
{
UserReachDTO
userReachDTO
=
new
UserReachDTO
();
// 查询邮箱对应的名字
IusUserInfoRsp
user
=
iusService
.
queryUserInfo
(
approver
);
// 流程拓扑图,如果没查询到名字,以邮箱兜底
userReachDTO
.
setUserName
(
user
==
null
||
StringUtils
.
isBlank
(
user
.
getName
())
?
approver
:
user
.
getName
());
userReachDTO
.
setUid
(
approver
);
totalUserList
.
add
(
userReachDTO
);
}
}
}
UserBaseContainerDTO
userBaseContainer
=
new
UserBaseContainerDTO
();
userBaseContainer
.
setUserList
(
totalUserList
);
return
userBaseContainer
;
}
//public String createAndSubmit(@Valid ChangeSubFlowCreateReq changeSubFlowCreateReq) {
//public String createAndSubmit(@Valid ChangeSubFlowCreateReq changeSubFlowCreateReq) {
// String uid = RequestLocalBean.getUid();
// String uid = RequestLocalBean.getUid();
...
...
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/controller/ChangeSubFlowController.java
View file @
a9b05b95
...
@@ -8,12 +8,12 @@ package com.netease.mail.yanxuan.change.web.controller;
...
@@ -8,12 +8,12 @@ package com.netease.mail.yanxuan.change.web.controller;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeSubFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeSubFlowBiz
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowCreateReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowSubmitReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowSubmitReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowListVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowListVO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.exec.InterfaceInputDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -98,4 +98,14 @@ public class ChangeSubFlowController {
...
@@ -98,4 +98,14 @@ public class ChangeSubFlowController {
public
AjaxResult
<
String
>
submit
(
@RequestBody
@Valid
ChangeSubFlowSubmitReq
changeSubFlowSubmitReq
)
{
public
AjaxResult
<
String
>
submit
(
@RequestBody
@Valid
ChangeSubFlowSubmitReq
changeSubFlowSubmitReq
)
{
return
AjaxResult
.
success
(
changeSubFlowBiz
.
submitSubFlow
(
changeSubFlowSubmitReq
));
return
AjaxResult
.
success
(
changeSubFlowBiz
.
submitSubFlow
(
changeSubFlowSubmitReq
));
}
}
/**
* 获取审批人
* @param interfaceInput 接口输入参数
* @return 审批人列表
*/
@PostMapping
(
"/getOperator"
)
public
AjaxResult
<
UserBaseContainerDTO
>
getOperator
(
@RequestBody
InterfaceInputDTO
interfaceInput
)
{
return
AjaxResult
.
success
(
changeSubFlowBiz
.
getOperator
(
interfaceInput
));
}
}
}
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