Commit 543375fb by “zcwang”

modify: 去除主动创建待办任务

parent de42bf14
......@@ -49,7 +49,6 @@ import com.netease.mail.yanxuan.change.biz.service.rpc.IusService;
import com.netease.mail.yanxuan.change.biz.service.rpc.QCService;
import com.netease.mail.yanxuan.change.biz.service.rpc.SupplierSendService;
import com.netease.mail.yanxuan.change.biz.service.rpc.SupplierService;
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.RequestLocalBean;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
......@@ -62,7 +61,6 @@ import com.netease.mail.yanxuan.change.common.enums.FileTypeEnum;
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.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.dal.entity.ChangeConfig;
import com.netease.mail.yanxuan.change.dal.entity.ChangeExecRecord;
......@@ -105,7 +103,6 @@ import com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoP
import com.netease.mail.yanxuan.change.integration.item.param.CommonIdsParamQuery;
import com.netease.mail.yanxuan.change.integration.qc.meta.QcCategoryVO;
import com.netease.mail.yanxuan.change.integration.todo.ChangeExecuteEmailDTO;
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.UserBaseDTO;
......@@ -151,9 +148,6 @@ public class ChangeFlowBiz {
private ChangeRecordMapper changeRecordMapper;
@Autowired
private TodoService todoService;
@Autowired
private ItemService itemService;
@Autowired
......@@ -290,10 +284,6 @@ public class ChangeFlowBiz {
if (CollectionUtils.isNotEmpty(allFiles)) {
allFiles.forEach(file -> changeFileService.saveRecord(file));
}
// 创建代办
TaskCreateDTO todoTask = todoService.createTodoTask(changeRecord);
changeRecord.setTodoId(todoTask.getId());
changeFlowService.updateRecord(changeRecord);
// 如果发起人=变更负责人,直接提交到执行节点,发送邮件
if (changeCommander.equals(uid)) {
log.debug("[createAndSubmit] changeCommander:{}, uid:{}", changeCommander, uid);
......@@ -710,7 +700,6 @@ public class ChangeFlowBiz {
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowService.updateRecord(changeRecord);
changeExecRecordList.forEach(exec -> changeFlowExecService.update(exec));
todoService.progressTodoTask(changeRecord, OperateTypeEnum.FINISH.getType());
// 发送邮件
HashMap<String, Object> finishPartMap = new HashMap<>();
finishPartMap.put("changeId", changeRecord.getFlowId());
......@@ -769,7 +758,6 @@ public class ChangeFlowBiz {
changeRecord.setFlowNode(cancelNode);
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowService.updateRecord(changeRecord);
todoService.progressTodoTask(changeRecord, OperateTypeEnum.FINISH.getType());
// 发送邮件
HashMap<String, Object> cancelMap = new HashMap<>();
cancelMap.put("changeId", changeRecord.getFlowId());
......@@ -888,7 +876,6 @@ public class ChangeFlowBiz {
changeRecord.setState(ChangeStatusEnum.CANCEL.getStatus());
changeRecord.setCancelReason(req.getCancelReason());
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
todoService.progressTodoTask(changeRecord, OperateTypeEnum.FINISH.getType());
Map<String, Object> cancelMap = new HashMap<>();
cancelMap.put("changeId", changeRecord.getFlowId());
cancelMap.put("changeSubject", ChangeSubjectEnum.getChangeSubjectEnum(changeRecord.getChangeSubject()).getDesc());
......@@ -1343,8 +1330,6 @@ public class ChangeFlowBiz {
flowService.updateApprovers(ChangeFlowEnum.CHANGE_FLOW_EXE.getTopoId(), flowId.toString(),
changeRecord.getFlowNode(), Collections.singletonList(userBaseDTO), uid,
name, remark, JSON.toJSONString(content));
// 待办转交
todoService.progressTodoTask(changeRecord, OperateTypeEnum.DELIVER.getType());
// 更新工单负责人
changeRecord.setChangeCommander(deliverUser);
changeRecord.setRemark(remark);
......
/**
* @(#)TodoService.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.HashMap;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
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.OperateTypeEnum;
import com.netease.mail.yanxuan.change.common.enums.TodoTaskTypeEnum;
import com.netease.mail.yanxuan.change.dal.entity.ChangeRecord;
import com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO;
import com.netease.mail.yanxuan.change.integration.todo.TaskCreateParamVO;
import com.netease.mail.yanxuan.change.integration.todo.TaskProcessParamVO;
import com.netease.mail.yanxuan.change.integration.todo.TodoRpcService;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import lombok.extern.slf4j.Slf4j;
/**
* @Author zcwang
* @Date 2022/11/29
* 待办相关操作
*/
@Component
@Slf4j
public class TodoService {
@Autowired
private TodoRpcService todoRpcService;
/**
* 创建代办
* @param entity
*/
public TaskCreateDTO createTodoTask(ChangeRecord entity) {
String changeCommander = entity.getChangeCommander();
TaskCreateDTO taskCreateDTO = new TaskCreateDTO();
if (StringUtils.isNotEmpty(changeCommander)) {
String flowId = String.valueOf(entity.getFlowId());
Map<String, Object> businessContent = new HashMap<>();
businessContent.put("nodeTitle", entity.getChangeContent());
businessContent.put("taskFlowId", flowId);
businessContent.put("newFlow", flowId);
TaskCreateParamVO taskCreateParamVO = new TaskCreateParamVO();
taskCreateParamVO.setBusinessKey(flowId);
taskCreateParamVO.setContent(JSON.toJSONString(businessContent));
taskCreateParamVO.setProduct(CommonConstants.FLOWX_PRODUCT);
taskCreateParamVO.setTaskCreator(changeCommander);
taskCreateParamVO.setTaskHandler(changeCommander);
taskCreateParamVO.setTaskHandlerName(changeCommander);
taskCreateParamVO.setTaskTitle("测试");
taskCreateParamVO.setTaskTypeKey(TodoTaskTypeEnum.QC_CHANGE.getValue());
AjaxResponse<TaskCreateDTO> taskCreateResponse = todoRpcService.create(taskCreateParamVO);
if (ResponseCodeEnum.SUCCESS.getCode() == taskCreateResponse.getCode()) {
taskCreateDTO = taskCreateResponse.getData();
log.info("[createTodoTask] taskCreateDTO={}", JSON.toJSONString(taskCreateDTO));
} else {
log.error("[createTodoTask] create todo failed, param={}, errMsg={}", JSON.toJSONString(taskCreateParamVO),
JSON.toJSONString(taskCreateResponse));
throw ExceptionFactory.createBiz(ResponseCode.CREATE_TODO_ERROR, "查询工单详情错误");
}
}
return taskCreateDTO;
}
/**
* 处理待办
* @param entity
* @param operateType
* @see OperateTypeEnum
*/
public void progressTodoTask(ChangeRecord entity, Integer operateType) {
String changeCommander = entity.getChangeCommander();
String flowId = String.valueOf(entity.getFlowId());
log.info("[finishSupplierTodoTask] taskFlowId={}, supplierId={}", flowId, changeCommander);
if (StringUtils.isNotEmpty(changeCommander)) {
TaskProcessParamVO taskProcessParamVO = new TaskProcessParamVO();
taskProcessParamVO.setBusinessKey(flowId);
taskProcessParamVO.setOperateType(OperateTypeEnum.FINISH.getType());
taskProcessParamVO.setOperator(changeCommander);
taskProcessParamVO.setOperatorName(changeCommander);
taskProcessParamVO.setProduct(CommonConstants.FLOWX_PRODUCT);
taskProcessParamVO.setTaskId(entity.getTodoId());
todoRpcService.progress(taskProcessParamVO);
}
}
}
\ No newline at end of file
// /**
// * @(#)TodoService.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.HashMap;
// import java.util.Map;
//
// import org.apache.commons.lang3.StringUtils;
// 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.OperateTypeEnum;
// import com.netease.mail.yanxuan.change.common.enums.TodoTaskTypeEnum;
// import com.netease.mail.yanxuan.change.dal.entity.ChangeRecord;
// import com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO;
// import com.netease.mail.yanxuan.change.integration.todo.TaskCreateParamVO;
// import com.netease.mail.yanxuan.change.integration.todo.TaskProcessParamVO;
// import com.netease.mail.yanxuan.change.integration.todo.TodoRpcService;
// import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
//
// import lombok.extern.slf4j.Slf4j;
//
// /**
// * @Author zcwang
// * @Date 2022/11/29
// * 待办相关操作
// */
// @Component
// @Slf4j
// public class TodoService {
//
// @Autowired
// private TodoRpcService todoRpcService;
//
// /**
// * 创建代办
// * @param entity
// */
// public TaskCreateDTO createTodoTask(ChangeRecord entity) {
// String changeCommander = entity.getChangeCommander();
// TaskCreateDTO taskCreateDTO = new TaskCreateDTO();
// if (StringUtils.isNotEmpty(changeCommander)) {
// String flowId = String.valueOf(entity.getFlowId());
// Map<String, Object> businessContent = new HashMap<>();
// businessContent.put("nodeTitle", entity.getChangeContent());
// businessContent.put("taskFlowId", flowId);
// businessContent.put("newFlow", flowId);
// TaskCreateParamVO taskCreateParamVO = new TaskCreateParamVO();
// taskCreateParamVO.setBusinessKey(flowId);
// taskCreateParamVO.setContent(JSON.toJSONString(businessContent));
// taskCreateParamVO.setProduct(CommonConstants.FLOWX_PRODUCT);
// taskCreateParamVO.setTaskCreator(changeCommander);
// taskCreateParamVO.setTaskHandler(changeCommander);
// taskCreateParamVO.setTaskHandlerName(changeCommander);
// taskCreateParamVO.setTaskTitle("测试");
// taskCreateParamVO.setTaskTypeKey(TodoTaskTypeEnum.QC_CHANGE.getValue());
// AjaxResponse<TaskCreateDTO> taskCreateResponse = todoRpcService.create(taskCreateParamVO);
// if (ResponseCodeEnum.SUCCESS.getCode() == taskCreateResponse.getCode()) {
// taskCreateDTO = taskCreateResponse.getData();
// log.info("[createTodoTask] taskCreateDTO={}", JSON.toJSONString(taskCreateDTO));
//
// } else {
// log.error("[createTodoTask] create todo failed, param={}, errMsg={}", JSON.toJSONString(taskCreateParamVO),
// JSON.toJSONString(taskCreateResponse));
// throw ExceptionFactory.createBiz(ResponseCode.CREATE_TODO_ERROR, "查询工单详情错误");
// }
//
// }
// return taskCreateDTO;
// }
//
// /**
// * 处理待办
// * @param entity
// * @param operateType
// * @see OperateTypeEnum
// */
// public void progressTodoTask(ChangeRecord entity, Integer operateType) {
// String changeCommander = entity.getChangeCommander();
// String flowId = String.valueOf(entity.getFlowId());
// log.info("[finishSupplierTodoTask] taskFlowId={}, supplierId={}", flowId, changeCommander);
// if (StringUtils.isNotEmpty(changeCommander)) {
// TaskProcessParamVO taskProcessParamVO = new TaskProcessParamVO();
// taskProcessParamVO.setBusinessKey(flowId);
// taskProcessParamVO.setOperateType(OperateTypeEnum.FINISH.getType());
// taskProcessParamVO.setOperator(changeCommander);
// taskProcessParamVO.setOperatorName(changeCommander);
// taskProcessParamVO.setProduct(CommonConstants.FLOWX_PRODUCT);
// taskProcessParamVO.setTaskId(entity.getTodoId());
// todoRpcService.progress(taskProcessParamVO);
// }
// }
// }
\ No newline at end of file
......@@ -26,7 +26,6 @@ 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.rpc.QCService;
import com.netease.mail.yanxuan.change.biz.service.rpc.SupplierSendService;
import com.netease.mail.yanxuan.change.biz.service.rpc.TodoService;
import com.netease.mail.yanxuan.change.biz.task.AutoSubmit;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.common.bean.RequestLocalBean;
......@@ -54,9 +53,6 @@ import lombok.extern.slf4j.Slf4j;
public class TestController {
@Autowired
private TodoService todoService;
@Autowired
private ChangeFlowService changeFlowService;
@Autowired
......@@ -77,32 +73,16 @@ public class TestController {
@Autowired
private QCService qcService;
@PostMapping("/createToDo")
public AjaxResult<Void> createTodoTask(ChangeRecord entity) {
log.debug("[createToDoTask] entity:{}", JSON.toJSONString(entity));
todoService.createTodoTask(entity);
return AjaxResult.success();
}
@PostMapping("/progressTodo")
public AjaxResult<Void> progressTodoTask(ChangeRecord entity, Integer operateType) {
log.debug("[createToDoTask] entity:{}, operateType:{}", JSON.toJSONString(entity), operateType);
todoService.progressTodoTask(entity, operateType);
return AjaxResult.success();
}
@PostMapping("/submit")
public AjaxResult<Void> submit(Long id) {
ChangeRecord record = changeFlowService.getById(id);
Assert.notNull(record, "工单不存在");
if (!record.getFlowNode().equals(ChangeFlowEnum.CHANGE_FLOW_EXE.getNodeId())) {
throw ExceptionFactory.createBiz(ResponseCode.SUBMIT_FLOW_ERROR, "不是变更执行节点,不可运维提交");
}
autoSubmit.progressRecord(record);
return AjaxResult.success();
}
// @PostMapping("/submit")
// public AjaxResult<Void> submit(Long id) {
// ChangeRecord record = changeFlowService.getById(id);
// Assert.notNull(record, "工单不存在");
// if (!record.getFlowNode().equals(ChangeFlowEnum.CHANGE_FLOW_EXE.getNodeId())) {
// throw ExceptionFactory.createBiz(ResponseCode.SUBMIT_FLOW_ERROR, "不是变更执行节点,不可运维提交");
// }
// autoSubmit.progressRecord(record);
// return AjaxResult.success();
// }
@GetMapping("/getUid")
public AjaxResult<String> getUid() {
......@@ -117,22 +97,22 @@ public class TestController {
return supplierInfoService.querySupplierRelatedUser(req);
}
@PostMapping("/send")
public void sendEmail(@RequestBody SendMailReq req) {
String subjectParam = req.getId().toString();
EmailTemplateEnum emailTemplateEnum = EmailTemplateEnum.getEmailTemplateEnum(req.getCode());
String mapToJson = req.getMapToJson();
log.debug("[testSendEmail] subjectParam:{}, emailTemplateEnum:{}, mapToJson:{}", subjectParam,
emailTemplateEnum, mapToJson);
changeFlowBiz.qcSendEmail(appConfig.getReceiver(), appConfig.getReceiver(), subjectParam,
emailTemplateEnum, JSON.parseObject(mapToJson, Map.class));
// 如果是供应商,再次发送供应商邮件
if (req.getCreateSource().equals(CreateSourceEnum.TONG_ZHOU.getType())) {
Assert.notNull(req.getChangeSupplier(), "同舟端负责人不可为空");
sendSupplierEmail.sendSupplierEmail(req.getChangeSupplier(), subjectParam,
emailTemplateEnum, JSON.parseObject(mapToJson, Map.class));
}
}
// @PostMapping("/send")
// public void sendEmail(@RequestBody SendMailReq req) {
// String subjectParam = req.getId().toString();
// EmailTemplateEnum emailTemplateEnum = EmailTemplateEnum.getEmailTemplateEnum(req.getCode());
// String mapToJson = req.getMapToJson();
// log.debug("[testSendEmail] subjectParam:{}, emailTemplateEnum:{}, mapToJson:{}", subjectParam,
// emailTemplateEnum, mapToJson);
// changeFlowBiz.qcSendEmail(appConfig.getReceiver(), appConfig.getReceiver(), subjectParam,
// emailTemplateEnum, JSON.parseObject(mapToJson, Map.class));
// // 如果是供应商,再次发送供应商邮件
// if (req.getCreateSource().equals(CreateSourceEnum.TONG_ZHOU.getType())) {
// Assert.notNull(req.getChangeSupplier(), "同舟端负责人不可为空");
// sendSupplierEmail.sendSupplierEmail(req.getChangeSupplier(), subjectParam,
// emailTemplateEnum, JSON.parseObject(mapToJson, Map.class));
// }
// }
@GetMapping("/ccList")
public AjaxResult<List<String>> ccList(@RequestParam List<String> receiver){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment