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
胡园园
yanxuan-qc-change-system
Commits
e406d60a
Commit
e406d60a
authored
Nov 29, 2022
by
jx-art
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature-changeFlow-221110' into feature-changeFlow-221110
parents
90663abd
acc199e3
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
182 additions
and
99 deletions
+182
-99
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+41
-88
FlowService.java
...ease/mail/yanxuan/change/biz/service/rpc/FlowService.java
+125
-0
TodoService.java
...ease/mail/yanxuan/change/biz/service/rpc/TodoService.java
+5
-2
AutoSubmit.java
.../com/netease/mail/yanxuan/change/biz/task/AutoSubmit.java
+4
-3
ChangeFlowVO.java
...e/mail/yanxuan/change/dal/meta/model/vo/ChangeFlowVO.java
+1
-1
TestController.java
...se/mail/yanxuan/change/web/controller/TestController.java
+6
-5
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
e406d60a
...
@@ -11,10 +11,12 @@ import java.io.IOException;
...
@@ -11,10 +11,12 @@ import java.io.IOException;
import
java.io.OutputStream
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.UUID
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -38,11 +40,11 @@ import com.netease.mail.yanxuan.change.biz.service.ChangeFlowExecService;
...
@@ -38,11 +40,11 @@ import com.netease.mail.yanxuan.change.biz.service.ChangeFlowExecService;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeTypeService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.FlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCode
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCode
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeResultEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeResultEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeStatusEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeStatusEnum
;
...
@@ -50,6 +52,7 @@ import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
...
@@ -50,6 +52,7 @@ import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
import
com.netease.mail.yanxuan.change.common.enums.FlowOperationTypeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowOperationTypeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum
;
import
com.netease.mail.yanxuan.change.common.enums.NeedFileEnum
;
import
com.netease.mail.yanxuan.change.common.enums.NeedFileEnum
;
import
com.netease.mail.yanxuan.change.common.enums.OperateTypeEnum
;
import
com.netease.mail.yanxuan.change.common.util.DateUtils
;
import
com.netease.mail.yanxuan.change.common.util.DateUtils
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeConfig
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeConfig
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord
;
...
@@ -72,15 +75,12 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO;
...
@@ -72,15 +75,12 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO
;
import
com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO
;
import
com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO
;
import
com.netease.mail.yanxuan.change.integration.flow.FlowRpcService
;
import
com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO
;
import
com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO
;
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.base.UserReachDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.exec.InterfaceInputDTO
;
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.exec.UserBaseContainerDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
...
@@ -107,7 +107,7 @@ public class ChangeFlowBiz {
...
@@ -107,7 +107,7 @@ public class ChangeFlowBiz {
private
AppConfig
appConfig
;
private
AppConfig
appConfig
;
@Autowired
@Autowired
private
Flow
RpcService
flowRpc
Service
;
private
Flow
Service
flow
Service
;
@Autowired
@Autowired
private
ChangeFileService
changeFileService
;
private
ChangeFileService
changeFileService
;
...
@@ -151,9 +151,9 @@ public class ChangeFlowBiz {
...
@@ -151,9 +151,9 @@ public class ChangeFlowBiz {
FlowCreateReqDTO
flowCreateReqDTO
=
buildFlowCreateReqDTO
(
ChangeFlowEnum
.
CHANGE_FLOW_START
.
getTopoId
(),
uid
,
FlowCreateReqDTO
flowCreateReqDTO
=
buildFlowCreateReqDTO
(
ChangeFlowEnum
.
CHANGE_FLOW_START
.
getTopoId
(),
uid
,
JSON
.
toJSONString
(
content
),
FlowxOperationEnum
.
CREATE
.
getName
());
JSON
.
toJSONString
(
content
),
FlowxOperationEnum
.
CREATE
.
getName
());
// 创建工单
// 创建工单
String
flowId
=
createFlow
(
flowCreateReqDTO
);
String
flowId
=
flowService
.
createFlow
(
flowCreateReqDTO
);
// 查询工单详情
// 查询工单详情
FlowDataDTO
flowDataDTO
=
flowDetail
(
flowId
);
FlowDataDTO
flowDataDTO
=
flow
Service
.
flow
Detail
(
flowId
);
String
nodeId
=
flowDataDTO
.
getFlowMeta
().
getCurrNodeDataList
().
get
(
0
).
getNodeId
();
String
nodeId
=
flowDataDTO
.
getFlowMeta
().
getCurrNodeDataList
().
get
(
0
).
getNodeId
();
// todo: 根据类型查询负责人详情,格式邮箱
// todo: 根据类型查询负责人详情,格式邮箱
String
changeCommander
=
appConfig
.
getTestEmail
();
String
changeCommander
=
appConfig
.
getTestEmail
();
...
@@ -176,7 +176,7 @@ public class ChangeFlowBiz {
...
@@ -176,7 +176,7 @@ public class ChangeFlowBiz {
// 如果发起人=变更负责人
// 如果发起人=变更负责人
if
(
changeCommander
.
equals
(
uid
))
{
if
(
changeCommander
.
equals
(
uid
))
{
log
.
debug
(
"[createAndSubmit] changeCommander:{}, uid:{}"
,
changeCommander
,
uid
);
log
.
debug
(
"[createAndSubmit] changeCommander:{}, uid:{}"
,
changeCommander
,
uid
);
String
nextNodeId
=
submitFlow
(
flowId
,
flowDataDTO
,
uid
,
String
nextNodeId
=
flowService
.
submitFlow
(
flowId
,
flowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
if
(
null
==
nextNodeId
)
{
if
(
null
==
nextNodeId
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
SUBMIT_FLOW_ERROR
,
"首次提交节点失败"
);
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
SUBMIT_FLOW_ERROR
,
"首次提交节点失败"
);
...
@@ -258,21 +258,6 @@ public class ChangeFlowBiz {
...
@@ -258,21 +258,6 @@ public class ChangeFlowBiz {
}
}
}
}
public
FlowDataDTO
flowDetail
(
String
flowId
)
{
// 查询工单详情,根据详情提交
FlowDataDTO
flowDataDTO
;
AjaxResponse
<
FlowDataDTO
>
flowDetailResponse
=
flowRpcService
.
getDetail
(
CommonConstants
.
FLOWX_PRODUCT
,
flowId
);
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
flowDetailResponse
.
getCode
())
{
flowDataDTO
=
flowDetailResponse
.
getData
();
log
.
info
(
"[detailFlow] flowDataDTO={}"
,
JSON
.
toJSONString
(
flowDataDTO
));
}
else
{
log
.
error
(
"[detailFlow] get flow detail failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
flowId
),
JSON
.
toJSONString
(
flowDetailResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"查询工单详情错误"
);
}
return
flowDataDTO
;
}
private
FlowCreateReqDTO
buildFlowCreateReqDTO
(
String
topoId
,
String
uid
,
String
content
,
String
operateResult
)
{
private
FlowCreateReqDTO
buildFlowCreateReqDTO
(
String
topoId
,
String
uid
,
String
content
,
String
operateResult
)
{
FlowCreateReqDTO
flowCreateReqDTO
=
new
FlowCreateReqDTO
();
FlowCreateReqDTO
flowCreateReqDTO
=
new
FlowCreateReqDTO
();
flowCreateReqDTO
.
setTopoId
(
topoId
);
flowCreateReqDTO
.
setTopoId
(
topoId
);
...
@@ -284,53 +269,9 @@ public class ChangeFlowBiz {
...
@@ -284,53 +269,9 @@ public class ChangeFlowBiz {
return
flowCreateReqDTO
;
return
flowCreateReqDTO
;
}
}
public
String
submitFlow
(
String
flowId
,
FlowDataDTO
flowDataDTO
,
String
uid
,
String
topoId
,
String
content
,
boolean
approved
)
{
NodeSubmitReqDTO
nodeSubmitReqDTO
=
new
NodeSubmitReqDTO
();
nodeSubmitReqDTO
.
setFlowId
(
flowId
);
nodeSubmitReqDTO
.
setNodeId
(
flowDataDTO
.
getFlowMeta
().
getCurrNodeDataList
().
get
(
0
).
getNodeId
());
nodeSubmitReqDTO
.
setUid
(
uid
);
nodeSubmitReqDTO
.
setUserName
(
uid
);
nodeSubmitReqDTO
.
setTopoId
(
topoId
);
nodeSubmitReqDTO
.
setContent
(
content
);
nodeSubmitReqDTO
.
setOperateResult
(
FlowxOperationEnum
.
SUBMIT
.
getName
());
nodeSubmitReqDTO
.
setCreateTime
(
System
.
currentTimeMillis
());
nodeSubmitReqDTO
.
setApproved
(
approved
);
nodeSubmitReqDTO
.
setOccLock
(
flowDataDTO
.
getOccLock
()
+
1
);
log
.
info
(
"[submitFlow] nodeSubmitReqDTO={}"
,
JSON
.
toJSONString
(
nodeSubmitReqDTO
));
List
<
String
>
nextNodeIdList
;
// 提交工单
AjaxResponse
<
List
<
String
>>
submitResponse
=
flowRpcService
.
submit
(
CommonConstants
.
FLOWX_PRODUCT
,
nodeSubmitReqDTO
);
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
submitResponse
.
getCode
())
{
nextNodeIdList
=
submitResponse
.
getData
();
log
.
info
(
"[submitFlow] nextNodeIdList={}"
,
JSON
.
toJSONString
(
nextNodeIdList
));
}
else
{
log
.
error
(
"[submitFlow] submit flow failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
nodeSubmitReqDTO
),
JSON
.
toJSONString
(
submitResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
SUBMIT_FLOW_ERROR
,
"提交工单错误"
);
}
if
(
CollectionUtils
.
isEmpty
(
nextNodeIdList
))
{
return
ChangeFlowEnum
.
END
.
getNodeId
();
}
return
nextNodeIdList
.
get
(
0
);
}
private
String
createFlow
(
FlowCreateReqDTO
flowCreateReqDTO
)
{
// 先创建工单,创建完成后直接提交
log
.
info
(
"[createFlow] flowCreateReqDTO={}"
,
flowCreateReqDTO
);
AjaxResponse
<
String
>
flowCreateResponse
=
flowRpcService
.
create
(
CommonConstants
.
FLOWX_PRODUCT
,
flowCreateReqDTO
);
String
flowId
;
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
flowCreateResponse
.
getCode
())
{
flowId
=
flowCreateResponse
.
getData
();
log
.
info
(
"[createFlow] flowId ={}"
,
JSON
.
toJSONString
(
flowId
));
}
else
{
log
.
error
(
"[createFlow] create flow failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
flowCreateReqDTO
),
JSON
.
toJSONString
(
flowCreateResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
CREATE_FLOW_ERROR
,
"创建工单错误"
);
}
return
flowId
;
}
private
ChangeRecord
buildChangeRecord
(
String
flowId
,
String
nodeId
,
ChangeFlowCreateReq
changeFlowCreateReq
,
private
ChangeRecord
buildChangeRecord
(
String
flowId
,
String
nodeId
,
ChangeFlowCreateReq
changeFlowCreateReq
,
String
changeCommander
,
String
uid
)
{
String
changeCommander
,
String
uid
)
{
...
@@ -376,7 +317,7 @@ public class ChangeFlowBiz {
...
@@ -376,7 +317,7 @@ public class ChangeFlowBiz {
// 查询工单有效性
// 查询工单有效性
ChangeRecord
changeRecord
=
this
.
getFlowInfo
(
flowId
);
ChangeRecord
changeRecord
=
this
.
getFlowInfo
(
flowId
);
// 检查工单节点
// 检查工单节点
this
.
checkNode
(
changeRecord
.
getFlowNode
(),
changeFlowSubmitReq
.
getCurrentNodeId
(
));
this
.
checkNode
(
changeRecord
.
getFlowNode
(),
Collections
.
singletonList
(
changeFlowSubmitReq
.
getCurrentNodeId
()
));
// todo:检验操作权限
// todo:检验操作权限
String
uid
=
RequestLocalBean
.
getUid
();
String
uid
=
RequestLocalBean
.
getUid
();
String
changeCommander
=
changeRecord
.
getChangeCommander
();
String
changeCommander
=
changeRecord
.
getChangeCommander
();
...
@@ -384,7 +325,7 @@ public class ChangeFlowBiz {
...
@@ -384,7 +325,7 @@ public class ChangeFlowBiz {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/
}*/
// 获取工单详情
// 获取工单详情
FlowDataDTO
flowDataDTO
=
this
.
flowDetail
(
flowId
.
toString
());
FlowDataDTO
flowDataDTO
=
flowService
.
flowDetail
(
flowId
.
toString
());
if
(
flowDataDTO
==
null
)
{
if
(
flowDataDTO
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"工单查询错误,不存在"
);
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"工单查询错误,不存在"
);
}
}
...
@@ -431,7 +372,7 @@ public class ChangeFlowBiz {
...
@@ -431,7 +372,7 @@ public class ChangeFlowBiz {
changeRecord
.
setChangeConfirmResultTime
(
changeFlowSubmitReq
.
getChangeConfirmResultTime
());
changeRecord
.
setChangeConfirmResultTime
(
changeFlowSubmitReq
.
getChangeConfirmResultTime
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
// 提交工单
// 提交工单
String
submitNode
=
this
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
String
submitNode
=
flowService
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
// 更新工单数据
// 更新工单数据
changeRecord
.
setFlowNode
(
submitNode
);
changeRecord
.
setFlowNode
(
submitNode
);
...
@@ -478,13 +419,13 @@ public class ChangeFlowBiz {
...
@@ -478,13 +419,13 @@ public class ChangeFlowBiz {
return
changeExecRecord
;
return
changeExecRecord
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
// 完成直接完结
// 完成直接完结
String
confirmNode
=
this
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
String
confirmNode
=
flowService
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
changeRecord
.
setFlowNode
(
confirmNode
);
changeRecord
.
setFlowNode
(
confirmNode
);
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
changeFlowService
.
updateRecord
(
changeRecord
);
changeExecRecordList
.
forEach
(
exec
->
changeFlowExecService
.
update
(
exec
));
changeExecRecordList
.
forEach
(
exec
->
changeFlowExecService
.
update
(
exec
));
todoService
.
finishTodoTask
(
changeRecord
);
todoService
.
progressTodoTask
(
changeRecord
,
OperateTypeEnum
.
FINISH
.
getType
()
);
// todo:完结工单,发送邮件
// todo:完结工单,发送邮件
return
confirmNode
;
return
confirmNode
;
case
CANCEL:
case
CANCEL:
...
@@ -492,13 +433,12 @@ public class ChangeFlowBiz {
...
@@ -492,13 +433,12 @@ public class ChangeFlowBiz {
String
cancelReason
=
changeFlowSubmitReq
.
getCancelReason
();
String
cancelReason
=
changeFlowSubmitReq
.
getCancelReason
();
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
cancelReason
),
"变更取消原因不可为空"
);
Assert
.
isTrue
(
StringUtils
.
isNotBlank
(
cancelReason
),
"变更取消原因不可为空"
);
changeRecord
.
setCancelReason
(
cancelReason
);
changeRecord
.
setCancelReason
(
cancelReason
);
String
cancelNode
=
this
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
String
cancelNode
=
flowService
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
changeRecord
.
setFlowNode
(
cancelNode
);
changeRecord
.
setFlowNode
(
cancelNode
);
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
changeFlowService
.
updateRecord
(
changeRecord
);
// todo: 完成代办
todoService
.
progressTodoTask
(
changeRecord
,
OperateTypeEnum
.
FINISH
.
getType
());
todoService
.
finishTodoTask
(
changeRecord
);
// todo:完结工单,发送邮件
// todo:完结工单,发送邮件
return
cancelNode
;
return
cancelNode
;
case
DELAY:
case
DELAY:
...
@@ -546,11 +486,12 @@ public class ChangeFlowBiz {
...
@@ -546,11 +486,12 @@ public class ChangeFlowBiz {
return
changeRecord
;
return
changeRecord
;
}
}
private
void
checkNode
(
String
recordNode
,
String
currentNodeId
){
private
void
checkNode
(
String
recordNode
,
List
<
String
>
checkNode
){
if
(!
recordNode
.
equals
(
currentNodeId
))
{
Optional
<
String
>
nodeOptional
=
checkNode
.
stream
().
filter
(
check
->
check
.
equals
(
recordNode
)).
findAny
();
if
(!
nodeOptional
.
isPresent
())
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
NODE_ERROR
,
"工单已流转至其他节点"
);
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
NODE_ERROR
,
"工单已流转至其他节点"
);
}
}
}
;
}
public
Boolean
cancel
(
ChangeFlowCancelReq
req
)
{
public
Boolean
cancel
(
ChangeFlowCancelReq
req
)
{
log
.
info
(
"[cancel] req:{}"
,
JSON
.
toJSONString
(
req
));
log
.
info
(
"[cancel] req:{}"
,
JSON
.
toJSONString
(
req
));
...
@@ -559,7 +500,7 @@ public class ChangeFlowBiz {
...
@@ -559,7 +500,7 @@ public class ChangeFlowBiz {
ChangeRecord
changeRecord
=
getFlowInfo
(
flowId
);
ChangeRecord
changeRecord
=
getFlowInfo
(
flowId
);
log
.
info
(
"[cancel] nodeId:{}"
,
changeRecord
.
getFlowNode
());
log
.
info
(
"[cancel] nodeId:{}"
,
changeRecord
.
getFlowNode
());
// 检查工单节点
// 检查工单节点
this
.
checkNode
(
changeRecord
.
getFlowNode
(),
C
hangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getNodeId
(
));
this
.
checkNode
(
changeRecord
.
getFlowNode
(),
C
ollections
.
singletonList
(
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getNodeId
()
));
String
uid
=
RequestLocalBean
.
getUid
();
String
uid
=
RequestLocalBean
.
getUid
();
// todo:检查审核人
// todo:检查审核人
String
changeCommander
=
changeRecord
.
getChangeCommander
();
String
changeCommander
=
changeRecord
.
getChangeCommander
();
...
@@ -567,7 +508,7 @@ public class ChangeFlowBiz {
...
@@ -567,7 +508,7 @@ public class ChangeFlowBiz {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/
}*/
// 获取工单详情
// 获取工单详情
FlowDataDTO
flowDataDTO
=
this
.
flowDetail
(
flowId
.
toString
());
FlowDataDTO
flowDataDTO
=
flowService
.
flowDetail
(
flowId
.
toString
());
if
(
flowDataDTO
==
null
)
{
if
(
flowDataDTO
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"工单查询错误,不存在"
);
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"工单查询错误,不存在"
);
}
}
...
@@ -575,7 +516,7 @@ public class ChangeFlowBiz {
...
@@ -575,7 +516,7 @@ public class ChangeFlowBiz {
Map
<
String
,
Object
>
content
=
new
HashMap
<>(
CommonConstants
.
INIT_HASH_MAP_SIZE
);
Map
<
String
,
Object
>
content
=
new
HashMap
<>(
CommonConstants
.
INIT_HASH_MAP_SIZE
);
content
.
put
(
"updateTime"
,
System
.
currentTimeMillis
());
content
.
put
(
"updateTime"
,
System
.
currentTimeMillis
());
content
.
put
(
CommonConstants
.
FLOW_OPERATION_KEY
,
FlowOperationTypeEnum
.
REFUSE
.
getValue
());
content
.
put
(
CommonConstants
.
FLOW_OPERATION_KEY
,
FlowOperationTypeEnum
.
REFUSE
.
getValue
());
String
nextNodeId
=
this
.
submitFlow
(
String
.
valueOf
(
flowId
),
flowDataDTO
,
uid
,
String
nextNodeId
=
flowService
.
submitFlow
(
String
.
valueOf
(
flowId
),
flowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
false
);
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
false
);
log
.
info
(
"[cancel] flowId:{}, nextNodeId:{}"
,
flowId
,
nextNodeId
);
log
.
info
(
"[cancel] flowId:{}, nextNodeId:{}"
,
flowId
,
nextNodeId
);
// 填充更新数据
// 填充更新数据
...
@@ -583,8 +524,7 @@ public class ChangeFlowBiz {
...
@@ -583,8 +524,7 @@ public class ChangeFlowBiz {
changeRecord
.
setState
(
ChangeStatusEnum
.
CANCEL
.
getStatus
());
changeRecord
.
setState
(
ChangeStatusEnum
.
CANCEL
.
getStatus
());
changeRecord
.
setCancelReason
(
req
.
getCancelReason
());
changeRecord
.
setCancelReason
(
req
.
getCancelReason
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
// todo: 完成代办
todoService
.
progressTodoTask
(
changeRecord
,
OperateTypeEnum
.
FINISH
.
getType
());
todoService
.
finishTodoTask
(
changeRecord
);
// todo:取消501节点,取消工单,发送邮件
// todo:取消501节点,取消工单,发送邮件
return
changeFlowService
.
updateRecord
(
changeRecord
);
return
changeFlowService
.
updateRecord
(
changeRecord
);
}
}
...
@@ -639,7 +579,7 @@ public class ChangeFlowBiz {
...
@@ -639,7 +579,7 @@ public class ChangeFlowBiz {
changeFlowVO
.
setChangeState
(
changeRecord
.
getState
());
changeFlowVO
.
setChangeState
(
changeRecord
.
getState
());
changeFlowVO
.
setChangeCreator
(
changeRecord
.
getCreator
());
changeFlowVO
.
setChangeCreator
(
changeRecord
.
getCreator
());
List
<
ChangeFlowExecVO
>
changeFlowExecRecord
=
changeFlowExecService
.
getChangeFlowExecRecord
(
changeRecord
.
getId
());
List
<
ChangeFlowExecVO
>
changeFlowExecRecord
=
changeFlowExecService
.
getChangeFlowExecRecord
(
changeRecord
.
getId
());
changeFlowVO
.
setChangeExec
Departmen
t
(
changeFlowExecRecord
);
changeFlowVO
.
setChangeExec
ProjectLis
t
(
changeFlowExecRecord
);
changeFlowVO
.
setCreateTime
(
changeRecord
.
getCreateTime
());
changeFlowVO
.
setCreateTime
(
changeRecord
.
getCreateTime
());
changeFlowVO
.
setChangeConfirmResultTime
(
changeRecord
.
getChangeConfirmResultTime
());
changeFlowVO
.
setChangeConfirmResultTime
(
changeRecord
.
getChangeConfirmResultTime
());
changeFlowVO
.
setChangeResult
(
changeRecord
.
getChangeResult
());
changeFlowVO
.
setChangeResult
(
changeRecord
.
getChangeResult
());
...
@@ -793,7 +733,20 @@ public class ChangeFlowBiz {
...
@@ -793,7 +733,20 @@ public class ChangeFlowBiz {
}
}
public
void
deliver
(
@Valid
ChangeFlowDeliverReq
req
)
{
public
void
deliver
(
@Valid
ChangeFlowDeliverReq
req
)
{
log
.
info
(
"[deliver] req:{}"
,
JSON
.
toJSONString
(
req
));
// todo:501节点,转交工单,发送邮箱
Long
flowId
=
req
.
getFlowId
();
// 查询工单有效性
ChangeRecord
changeRecord
=
getFlowInfo
(
flowId
);
log
.
info
(
"[deliver] nodeId:{}"
,
changeRecord
.
getFlowNode
());
// 检查工单节点
List
<
String
>
nodeList
=
Arrays
.
asList
(
ChangeFlowEnum
.
CHANGE_FLOW_SUBMIT
.
getNodeId
(),
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getNodeId
());
this
.
checkNode
(
changeRecord
.
getFlowNode
(),
nodeList
);
// 待办转交
todoService
.
progressTodoTask
(
changeRecord
,
OperateTypeEnum
.
DELIVER
.
getType
());
// 更新工单负责人
changeRecord
.
setChangeCommander
(
req
.
getDeliverUser
());
changeRecord
.
setRemark
(
req
.
getRemark
());
changeFlowService
.
updateRecord
(
changeRecord
);
}
}
}
}
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/FlowService.java
0 → 100644
View file @
e406d60a
/**
* @(#)FlowService.java, 2022/11/29.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
service
.
rpc
;
import
java.util.List
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCode
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum
;
import
com.netease.mail.yanxuan.change.integration.flow.FlowRpcService
;
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.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO
;
import
lombok.extern.slf4j.Slf4j
;
/**
* @Author zcwang
* @Date 2022/11/29
* 工单流转相关操作
*/
@Slf4j
@Component
public
class
FlowService
{
@Autowired
private
FlowRpcService
flowRpcService
;
/**
* 创建工单
* @param flowCreateReqDTO
* @return
*/
public
String
createFlow
(
FlowCreateReqDTO
flowCreateReqDTO
)
{
// 先创建工单,创建完成后直接提交
log
.
info
(
"[createFlow] flowCreateReqDTO={}"
,
flowCreateReqDTO
);
AjaxResponse
<
String
>
flowCreateResponse
=
flowRpcService
.
create
(
CommonConstants
.
FLOWX_PRODUCT
,
flowCreateReqDTO
);
String
flowId
;
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
flowCreateResponse
.
getCode
())
{
flowId
=
flowCreateResponse
.
getData
();
log
.
info
(
"[createFlow] flowId ={}"
,
JSON
.
toJSONString
(
flowId
));
}
else
{
log
.
error
(
"[createFlow] create flow failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
flowCreateReqDTO
),
JSON
.
toJSONString
(
flowCreateResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
CREATE_FLOW_ERROR
,
"创建工单错误"
);
}
return
flowId
;
}
/**
* 提交工单
* @param flowId
* @param flowDataDTO
* @param uid
* @param topoId
* @param content
* @param approved
* @return
*/
public
String
submitFlow
(
String
flowId
,
FlowDataDTO
flowDataDTO
,
String
uid
,
String
topoId
,
String
content
,
boolean
approved
)
{
NodeSubmitReqDTO
nodeSubmitReqDTO
=
new
NodeSubmitReqDTO
();
nodeSubmitReqDTO
.
setFlowId
(
flowId
);
nodeSubmitReqDTO
.
setNodeId
(
flowDataDTO
.
getFlowMeta
().
getCurrNodeDataList
().
get
(
0
).
getNodeId
());
nodeSubmitReqDTO
.
setUid
(
uid
);
nodeSubmitReqDTO
.
setUserName
(
uid
);
nodeSubmitReqDTO
.
setTopoId
(
topoId
);
nodeSubmitReqDTO
.
setContent
(
content
);
nodeSubmitReqDTO
.
setOperateResult
(
FlowxOperationEnum
.
SUBMIT
.
getName
());
nodeSubmitReqDTO
.
setCreateTime
(
System
.
currentTimeMillis
());
nodeSubmitReqDTO
.
setApproved
(
approved
);
nodeSubmitReqDTO
.
setOccLock
(
flowDataDTO
.
getOccLock
()
+
1
);
log
.
info
(
"[submitFlow] nodeSubmitReqDTO={}"
,
JSON
.
toJSONString
(
nodeSubmitReqDTO
));
List
<
String
>
nextNodeIdList
;
// 提交工单
AjaxResponse
<
List
<
String
>>
submitResponse
=
flowRpcService
.
submit
(
CommonConstants
.
FLOWX_PRODUCT
,
nodeSubmitReqDTO
);
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
submitResponse
.
getCode
())
{
nextNodeIdList
=
submitResponse
.
getData
();
log
.
info
(
"[submitFlow] nextNodeIdList={}"
,
JSON
.
toJSONString
(
nextNodeIdList
));
}
else
{
log
.
error
(
"[submitFlow] submit flow failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
nodeSubmitReqDTO
),
JSON
.
toJSONString
(
submitResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
SUBMIT_FLOW_ERROR
,
"提交工单错误"
);
}
if
(
CollectionUtils
.
isEmpty
(
nextNodeIdList
))
{
return
ChangeFlowEnum
.
END
.
getNodeId
();
}
return
nextNodeIdList
.
get
(
0
);
}
/**
* 查询工单详情
* @param flowId
* @return
*/
public
FlowDataDTO
flowDetail
(
String
flowId
)
{
// 查询工单详情,根据详情提交
FlowDataDTO
flowDataDTO
;
AjaxResponse
<
FlowDataDTO
>
flowDetailResponse
=
flowRpcService
.
getDetail
(
CommonConstants
.
FLOWX_PRODUCT
,
flowId
);
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
flowDetailResponse
.
getCode
())
{
flowDataDTO
=
flowDetailResponse
.
getData
();
log
.
info
(
"[detailFlow] flowDataDTO={}"
,
JSON
.
toJSONString
(
flowDataDTO
));
}
else
{
log
.
error
(
"[detailFlow] get flow detail failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
flowId
),
JSON
.
toJSONString
(
flowDetailResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"查询工单详情错误"
);
}
return
flowDataDTO
;
}
}
\ No newline at end of file
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/TodoService.java
View file @
e406d60a
...
@@ -32,6 +32,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -32,6 +32,7 @@ import lombok.extern.slf4j.Slf4j;
/**
/**
* @Author zcwang
* @Author zcwang
* @Date 2022/11/29
* @Date 2022/11/29
* 待办相关操作
*/
*/
@Component
@Component
@Slf4j
@Slf4j
...
@@ -78,10 +79,12 @@ public class TodoService {
...
@@ -78,10 +79,12 @@ public class TodoService {
}
}
/**
/**
*
完成代
办
*
处理待
办
* @param entity
* @param entity
* @param operateType
* @see OperateTypeEnum
*/
*/
public
void
finishTodoTask
(
ChangeRecord
entity
)
{
public
void
progressTodoTask
(
ChangeRecord
entity
,
Integer
operateType
)
{
String
changeCommander
=
entity
.
getChangeCommander
();
String
changeCommander
=
entity
.
getChangeCommander
();
String
flowId
=
String
.
valueOf
(
entity
.
getFlowId
());
String
flowId
=
String
.
valueOf
(
entity
.
getFlowId
());
log
.
info
(
"[finishSupplierTodoTask] taskFlowId={}, supplierId={}"
,
flowId
,
changeCommander
);
log
.
info
(
"[finishSupplierTodoTask] taskFlowId={}, supplierId={}"
,
flowId
,
changeCommander
);
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/task/AutoSubmit.java
View file @
e406d60a
...
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
...
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.FlowService
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowOperationTypeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowOperationTypeEnum
;
...
@@ -44,7 +45,7 @@ public class AutoSubmit extends IJobHandler {
...
@@ -44,7 +45,7 @@ public class AutoSubmit extends IJobHandler {
private
ChangeFlowService
changeFlowService
;
private
ChangeFlowService
changeFlowService
;
@Autowired
@Autowired
private
ChangeFlowBiz
changeFlowBiz
;
private
FlowService
flowService
;
@Override
@Override
public
ReturnT
<
String
>
execute
(
String
...
strings
)
throws
Exception
{
public
ReturnT
<
String
>
execute
(
String
...
strings
)
throws
Exception
{
...
@@ -80,7 +81,7 @@ public class AutoSubmit extends IJobHandler {
...
@@ -80,7 +81,7 @@ public class AutoSubmit extends IJobHandler {
// 执行变更节点,提交节点
// 执行变更节点,提交节点
if
(
ChangeFlowEnum
.
CHANGE_FLOW_EXE
.
getNodeId
().
equals
(
flowNode
))
{
if
(
ChangeFlowEnum
.
CHANGE_FLOW_EXE
.
getNodeId
().
equals
(
flowNode
))
{
// 获取工单详情
// 获取工单详情
FlowDataDTO
flowDataDTO
=
changeFlowBiz
.
flowDetail
(
flowId
.
toString
());
FlowDataDTO
flowDataDTO
=
flowService
.
flowDetail
(
flowId
.
toString
());
if
(
flowDataDTO
==
null
)
{
if
(
flowDataDTO
==
null
)
{
log
.
debug
(
"[progressRecord] get flowDataDTO error, flowId{}"
,
flowId
);
log
.
debug
(
"[progressRecord] get flowDataDTO error, flowId{}"
,
flowId
);
}
}
...
@@ -89,7 +90,7 @@ public class AutoSubmit extends IJobHandler {
...
@@ -89,7 +90,7 @@ public class AutoSubmit extends IJobHandler {
content
.
put
(
"updateTime"
,
System
.
currentTimeMillis
());
content
.
put
(
"updateTime"
,
System
.
currentTimeMillis
());
content
.
put
(
CommonConstants
.
FLOW_OPERATION_KEY
,
FlowOperationTypeEnum
.
PASS
.
getValue
());
content
.
put
(
CommonConstants
.
FLOW_OPERATION_KEY
,
FlowOperationTypeEnum
.
PASS
.
getValue
());
try
{
try
{
String
execNode
=
changeFlowBiz
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
String
execNode
=
flowService
.
submitFlow
(
flowId
.
toString
(),
flowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_FLOW_EXE
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
ChangeFlowEnum
.
CHANGE_FLOW_EXE
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
);
// 更新工单数据
// 更新工单数据
changeRecord
.
setFlowNode
(
execNode
);
changeRecord
.
setFlowNode
(
execNode
);
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/vo/ChangeFlowVO.java
View file @
e406d60a
...
@@ -110,7 +110,7 @@ public class ChangeFlowVO {
...
@@ -110,7 +110,7 @@ public class ChangeFlowVO {
/**
/**
* 变更行动部门
* 变更行动部门
*/
*/
private
List
<
ChangeFlowExecVO
>
changeExec
Departmen
t
;
private
List
<
ChangeFlowExecVO
>
changeExec
ProjectLis
t
;
/**
/**
* 变更行动部门列表
* 变更行动部门列表
...
...
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/controller/TestController.java
View file @
e406d60a
...
@@ -12,9 +12,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -12,9 +12,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.enums.OperateTypeEnum
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -38,10 +38,10 @@ public class TestController {
...
@@ -38,10 +38,10 @@ public class TestController {
return
AjaxResult
.
success
();
return
AjaxResult
.
success
();
}
}
@PostMapping
(
"/
finishToD
o"
)
@PostMapping
(
"/
progressTod
o"
)
public
AjaxResult
<
Void
>
finishTodoTask
(
ChangeRecord
entity
)
{
public
AjaxResult
<
Void
>
progressTodoTask
(
ChangeRecord
entity
,
Integer
operateType
)
{
log
.
info
(
"[createToDoTask] entity:{}
"
,
JSON
.
toJSONString
(
entity
)
);
log
.
info
(
"[createToDoTask] entity:{}
, operateType:{}"
,
JSON
.
toJSONString
(
entity
),
operateType
);
todoService
.
finishTodoTask
(
entity
);
todoService
.
progressTodoTask
(
entity
,
operateType
);
return
AjaxResult
.
success
();
return
AjaxResult
.
success
();
}
}
}
}
\ No newline at end of file
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