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
4120bb18
Commit
4120bb18
authored
Jan 06, 2026
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 获取节点审核人
parent
a9b05b95
Pipeline
#87782
passed with stages
in 1 minute 53 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
0 deletions
+58
-0
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+29
-0
ChangeSubFlowBiz.java
...netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
+29
-0
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
4120bb18
...
...
@@ -1515,6 +1515,35 @@ public class ChangeFlowBiz {
log
.
info
(
"[getOperator] flowId:{}, nodeId:{}, e={}"
,
flowId
,
nodeId
,
e
);
}
}
// 校验节点是否匹配,避免节点已变更但approver还未更新的情况
int
maxRetries
=
2
;
int
retryCount
=
0
;
while
(
changeRecord
!=
null
&&
!
nodeId
.
equals
(
changeRecord
.
getFlowNode
())
&&
retryCount
<
maxRetries
)
{
log
.
warn
(
"[getOperator] flowId:{}, nodeId:{}, flowNode:{}, 节点不匹配,等待重试,retryCount:{}"
,
flowId
,
nodeId
,
changeRecord
.
getFlowNode
(),
retryCount
);
try
{
Thread
.
sleep
(
300
);
changeRecord
=
changeFlowService
.
getByFlowId
(
Long
.
valueOf
(
flowId
));
retryCount
++;
}
catch
(
Exception
e
)
{
log
.
error
(
"[getOperator] flowId:{}, nodeId:{}, 重试异常, e={}"
,
flowId
,
nodeId
,
e
);
break
;
}
}
if
(
changeRecord
!=
null
&&
!
nodeId
.
equals
(
changeRecord
.
getFlowNode
()))
{
log
.
error
(
"[getOperator] flowId:{}, nodeId:{}, flowNode:{}, 节点不匹配,已重试{}次,返回当前审批人"
,
flowId
,
nodeId
,
changeRecord
.
getFlowNode
(),
retryCount
);
}
if
(
changeRecord
==
null
)
{
log
.
error
(
"[getOperator] flowId:{}, nodeId:{}, 工单记录不存在"
,
flowId
,
nodeId
);
UserBaseContainerDTO
userBaseContainer
=
new
UserBaseContainerDTO
();
userBaseContainer
.
setUserList
(
new
ArrayList
<>());
return
userBaseContainer
;
}
// 从approver字段获取审批人列表,反序列化JSON字符串
String
approverJson
=
changeRecord
.
getApprover
();
List
<
UserReachDTO
>
totalUserList
=
new
ArrayList
<>();
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
View file @
4120bb18
...
...
@@ -109,6 +109,35 @@ public class ChangeSubFlowBiz {
log
.
info
(
"[getOperator] subFlowId:{}, nodeId:{}, e={}"
,
subFlowId
,
nodeId
,
e
);
}
}
// 校验节点是否匹配,避免节点已变更但approver还未更新的情况
int
maxRetries
=
2
;
int
retryCount
=
0
;
while
(
changeSubFlowRecord
!=
null
&&
!
nodeId
.
equals
(
changeSubFlowRecord
.
getSubFlowNode
())
&&
retryCount
<
maxRetries
)
{
log
.
warn
(
"[getOperator] subFlowId:{}, nodeId:{}, subFlowNode:{}, 节点不匹配,等待重试,retryCount:{}"
,
subFlowId
,
nodeId
,
changeSubFlowRecord
.
getSubFlowNode
(),
retryCount
);
try
{
Thread
.
sleep
(
300
);
changeSubFlowRecord
=
changeSubFlowRecordService
.
getBySubFlowId
(
subFlowId
);
retryCount
++;
}
catch
(
Exception
e
)
{
log
.
error
(
"[getOperator] subFlowId:{}, nodeId:{}, 重试异常, e={}"
,
subFlowId
,
nodeId
,
e
);
break
;
}
}
if
(
changeSubFlowRecord
!=
null
&&
!
nodeId
.
equals
(
changeSubFlowRecord
.
getSubFlowNode
()))
{
log
.
error
(
"[getOperator] subFlowId:{}, nodeId:{}, subFlowNode:{}, 节点不匹配,已重试{}次,返回当前审批人"
,
subFlowId
,
nodeId
,
changeSubFlowRecord
.
getSubFlowNode
(),
retryCount
);
}
if
(
changeSubFlowRecord
==
null
)
{
log
.
error
(
"[getOperator] subFlowId:{}, nodeId:{}, 子工单记录不存在"
,
subFlowId
,
nodeId
);
UserBaseContainerDTO
userBaseContainer
=
new
UserBaseContainerDTO
();
userBaseContainer
.
setUserList
(
new
ArrayList
<>());
return
userBaseContainer
;
}
// 从approver字段获取审批人列表,反序列化JSON字符串
String
approverJson
=
changeSubFlowRecord
.
getApprover
();
List
<
UserReachDTO
>
totalUserList
=
new
ArrayList
<>();
...
...
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