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
fa660769
Commit
fa660769
authored
Dec 11, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 确认变更结果
parent
5b9a9e28
Pipeline
#86815
passed with stages
in 1 minute 27 seconds
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
31 deletions
+12
-31
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+12
-31
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
fa660769
...
...
@@ -760,57 +760,38 @@ public class ChangeFlowBiz {
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"该节点不允许主动提交,需等待所有行动工单执行变更方案后自动流转"
);
case
NEW_CHANGE_FLOW_CONFIRM:
// 确认变更结果节点:由变更负责人进行确认,
支持「确认」和「取消」
// 确认变更结果节点:由变更负责人进行确认,
流转到结束节点
// 校验操作人必须是变更负责人
String
changeCommander
=
changeRecord
.
getChangeCommander
();
if
(!
uid
.
equals
(
changeCommander
))
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
NO_AUTH
,
"只有变更负责人可以确认变更结果"
);
}
// 校验审批结果
Boolean
confirm
ed
=
changeFlowSubmitReq
.
getApproved
();
if
(
confirmed
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"确认
结果不能为空
"
);
// 校验审批结果
必须为确认(true)
Boolean
approv
ed
=
changeFlowSubmitReq
.
getApproved
();
if
(
approved
==
null
||
!
approved
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"确认
变更结果节点只支持确认操作,取消请使用取消接口
"
);
}
// 构建提交内容(不管确认还是取消,都流转到结束节点)
Map
<
String
,
Object
>
confirmContent
=
buildFlowContent
(
confirmed
?
FlowOperationTypeEnum
.
PASS
:
FlowOperationTypeEnum
.
REFUSE
);
String
operationDesc
=
confirmed
?
"确认变更结果"
:
"取消变更结果"
;
// 构建提交内容
Map
<
String
,
Object
>
confirmContent
=
buildFlowContent
(
FlowOperationTypeEnum
.
PASS
);
// 流转到结束节点
(确认和取消都走到结束节点)
// 流转到结束节点
String
endNodeId
=
flowService
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
ChangeFlowEnum
.
NEW_CHANGE_FLOW
.
getTopoId
(),
JSON
.
toJSONString
(
confirmContent
),
true
,
FlowxOperationEnum
.
SUBMIT
.
getName
(),
operationDesc
,
changeRecord
.
getCreateTime
());
FlowxOperationEnum
.
SUBMIT
.
getName
(),
"确认变更结果"
,
changeRecord
.
getCreateTime
());
// 更新主工单节点和状态
// 更新主工单节点和状态
为"已完结"
changeRecord
.
setFlowNode
(
endNodeId
);
changeRecord
.
setState
(
ChangeStatusEnum
.
FINISHED
.
getStatus
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
if
(
confirmed
)
{
// 点击「确认」:状态更新为"已完结"
changeRecord
.
setState
(
ChangeStatusEnum
.
FINISHED
.
getStatus
());
log
.
info
(
"[NEW_CHANGE_FLOW_CONFIRM] 主工单确认变更结果完成,flowId:{}, endNodeId:{}, state:{}"
,
flowId
,
endNodeId
,
ChangeStatusEnum
.
FINISHED
.
getStatus
());
// todo: 发送完结邮件通知(待业务确认邮件内容)
// buildAndSendEmail.sendConfirmResultFinishEmail(changeRecord);
}
else
{
// 点击「取消」:状态更新为"已取消"
changeRecord
.
setState
(
ChangeStatusEnum
.
CANCELLED
.
getStatus
());
// 如果有取消原因,保存;没有则不保存
if
(
StringUtils
.
isNotBlank
(
changeFlowSubmitReq
.
getCancelReason
()))
{
changeRecord
.
setCancelReason
(
changeFlowSubmitReq
.
getCancelReason
());
}
log
.
info
(
"[NEW_CHANGE_FLOW_CONFIRM] 主工单取消变更结果,flowId:{}, endNodeId:{}, state:{}"
,
flowId
,
endNodeId
,
ChangeStatusEnum
.
CANCELLED
.
getStatus
());
// todo: 发送取消邮件通知(待业务确认邮件内容)
// buildAndSendEmail.sendConfirmResultCancelEmail(changeRecord, changeFlowSubmitReq.getCancelReason());
}
changeFlowService
.
updateRecord
(
changeRecord
);
return
endNodeId
;
...
...
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