Commit 1675ef40 by “zcwang”

add: 发送邮件

parent 21bb4b30
......@@ -43,6 +43,7 @@ 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.rpc.FlowService;
import com.netease.mail.yanxuan.change.biz.service.rpc.ItemService;
import com.netease.mail.yanxuan.change.biz.service.rpc.IusService;
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;
......@@ -81,7 +82,11 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemBasicInfoVO;
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.integration.email.enums.EmailTemplateEnum;
import com.netease.mail.yanxuan.change.integration.email.service.IEmailService;
import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO;
import com.netease.mail.yanxuan.change.integration.flow.ius.req.IusDepartmentReq;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.SecondaryDepartments;
import com.netease.mail.yanxuan.change.integration.item.SimplePhyCateGoryResultCo;
import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO;
import com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam;
......@@ -139,6 +144,12 @@ public class ChangeFlowBiz {
@Autowired
private InteriorChangeConfigService interiorChangeConfigService;
@Autowired
private IEmailService iEmailService;
@Autowired
private IusService iusService;
public String createAndSubmit(ChangeFlowCreateReq changeFlowCreateReq) {
String uid = RequestLocalBean.getUid();
log.info("[create] createReq={}, uid:{}", JSON.toJSONString(changeFlowCreateReq), uid);
......@@ -234,6 +245,25 @@ public class ChangeFlowBiz {
return flowId;
}
// todo: 变更发起人≠变更负责人,到达501节点,发送邮件,变更申请
IusDepartmentReq iusDepartmentReq = new IusDepartmentReq();
iusDepartmentReq.setHasOrgPos(true);
iusDepartmentReq.setIcac(true);
iusDepartmentReq.setUids(Collections.singletonList(changeCommander));
HashMap<String, List<SecondaryDepartments>> map = iusService.queryDepartment(iusDepartmentReq);
List<SecondaryDepartments> secondaryDepartments = map.get(changeCommander);
List<String> ccList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(secondaryDepartments)) {
ccList = secondaryDepartments.stream().map(SecondaryDepartments::getUid).collect(Collectors.toList());
}
// 变更管理QM,所有邮件都要发
ccList.add(appConfig.getChangeManageQM());
HashMap<String, Object> param = new HashMap<>();
param.put("changeId", "变更Id");
param.put("changeSubject", "变更主体");
param.put("changeType", "变更类型");
param.put("flowUrl", "工单链接");
iEmailService.sendEmail(Collections.singletonList(changeCommander), ccList, param,
EmailTemplateEnum.YX_QC_CHANGE_RELEASE_FLOW, Collections.singletonList(changeRecord.getId().toString()));
return flowId;
}
......
......@@ -38,4 +38,10 @@ public class AppConfig {
@Value("${change.goods.principal.email:grp.gyhtest1001@corp.netease.com}")
private String defaultEmail;
/**
* 变更管理QM
*/
@Value("${changeManageQM:cuiyixian@corp.netease.com}")
private String changeManageQM;
}
\ No newline at end of file
/**
* @(#)IusService.java, 2022/12/7.
* <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.List;
import org.apache.poi.ss.formula.functions.T;
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.ResponseCode;
import com.netease.mail.yanxuan.change.common.bean.ResponseCodeEnum;
import com.netease.mail.yanxuan.change.integration.flow.ius.IusRpcService;
import com.netease.mail.yanxuan.change.integration.flow.ius.req.IusDepartmentReq;
import com.netease.mail.yanxuan.change.integration.flow.ius.rsp.SecondaryDepartments;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import lombok.extern.slf4j.Slf4j;
/**
* @Author zcwang
* @Date 2022/12/7
*/
@Slf4j
@Component
public class IusService {
@Autowired
private IusRpcService iusRpcService;
public HashMap<String, List<SecondaryDepartments>> queryDepartment(IusDepartmentReq iusDepartmentReq) {
log.info("[queryDepartment] queryDepartment req:{}", JSON.toJSONString(iusDepartmentReq));
AjaxResponse<HashMap<String, List<SecondaryDepartments>>> response = iusRpcService.queryDepartment(iusDepartmentReq);
HashMap<String, List<SecondaryDepartments>> map;
if (ResponseCodeEnum.SUCCESS.getCode() == response.getCode()) {
map = response.getData();
} else {
log.error("[queryDepartment] queryDepartment failed, query={}, errMsg={}", JSON.toJSONString(iusDepartmentReq),
JSON.toJSONString(response));
throw ExceptionFactory.createBiz(ResponseCode.CREATE_FLOW_ERROR, "查询部门错误");
}
return map;
}
}
\ No newline at end of file
package com.netease.mail.yanxuan.change.integration.email.service;
import com.netease.mail.yanxuan.change.integration.email.enums.EmailTemplateEnum;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import com.netease.mail.yanxuan.change.integration.email.enums.EmailTemplateEnum;
/**
* 发送邮件
*/
......@@ -20,5 +21,6 @@ public interface IEmailService {
* @param emailTemplateEnum 标题枚举
* @param subjectParams 标题参数
*/
void sendEmail(Collection<String> toList, Collection<String> ccList, HashMap<String,Object> map, EmailTemplateEnum emailTemplateEnum, List<String>subjectParams);
void sendEmail(Collection<String> toList, Collection<String> ccList, HashMap<String, Object> map,
EmailTemplateEnum emailTemplateEnum, List<String> subjectParams);
}
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