Commit b8b667a3 by jx-art

Merge remote-tracking branch 'origin/feature-changeFlow-221110' into feature-changeFlow-221110

parents 24ce3d65 9b61e3dd
......@@ -44,6 +44,7 @@ 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.SupplierSendService;
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;
......@@ -150,6 +151,9 @@ public class ChangeFlowBiz {
@Autowired
private IusService iusService;
@Autowired
private SupplierSendService sendSupplierEmail;
public String createAndSubmit(ChangeFlowCreateReq changeFlowCreateReq) {
String uid = RequestLocalBean.getUid();
log.info("[create] createReq={}, uid:{}", JSON.toJSONString(changeFlowCreateReq), uid);
......@@ -247,7 +251,12 @@ public class ChangeFlowBiz {
// todo: 变更发起人≠变更负责人,到达501节点,发送邮件,变更申请
qcSendEmail(changeCommander, changeRecord);
// 如果是供应商,再次发送供应商邮件
HashMap<String, Object> param = new HashMap<>();
param.put("changeId", changeRecord.getId());
param.put("changeSubject", changeRecord.getChangeSubject());
param.put("changeType", changeRecord);
param.put("flowUrl", "工单链接");
sendSupplierEmail.sendSupplierEmail(changeRecord, EmailTemplateEnum.YX_QC_CHANGE_RELEASE_FLOW, param);
return flowId;
}
......@@ -265,9 +274,9 @@ public class ChangeFlowBiz {
// 变更管理QM,所有邮件都要发
ccList.add(appConfig.getChangeManageQM());
HashMap<String, Object> param = new HashMap<>();
param.put("changeId", "变更Id");
param.put("changeSubject", "变更主体");
param.put("changeType", "变更类型");
param.put("changeId", changeRecord.getId());
param.put("changeSubject", changeRecord.getChangeSubject());
param.put("changeType", changeRecord);
param.put("flowUrl", "工单链接");
iEmailService.sendEmail(Collections.singletonList(changeCommander), ccList, param,
EmailTemplateEnum.YX_QC_CHANGE_RELEASE_FLOW, Collections.singletonList(changeRecord.getId().toString()));
......
/**
* @(#)SupplierSendService.java, 2022/12/8.
* <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.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.alibaba.fastjson.JSON;
import com.netease.mail.yanxuan.change.dal.entity.ChangeRecord;
import com.netease.mail.yanxuan.change.integration.email.email.EmailFactor;
import com.netease.mail.yanxuan.change.integration.email.enums.EmailTemplateEnum;
import com.netease.mail.yanxuan.change.integration.email.enums.EmailTypeEnum;
import com.netease.mail.yanxuan.change.integration.email.service.impl.EmailTemplateServiceImpl;
import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService;
import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierSendEmailReq;
import lombok.extern.slf4j.Slf4j;
/**
* @Author zcwang
* @Date 2022/12/8
*/
@Slf4j
@Component
public class SupplierSendService {
@Autowired
private FlowRpcSupplierSendService flowRpcSupplierSendService;
@Autowired
private EmailTemplateServiceImpl emailTemplateService;
/**
* 发送供应商邮件
* @param changeRecord
* @param emailTemplateEnum
* @param param
*/
public void sendSupplierEmail(ChangeRecord changeRecord, EmailTemplateEnum emailTemplateEnum, Map<String, Object> param) {
SupplierSendEmailReq req = new SupplierSendEmailReq();
req.setSupplierId(changeRecord.getChangeSupplier());
req.setMailSubject(String.format(emailTemplateEnum.getSubject(), changeRecord.getId()));
EmailFactor emailFactor = new EmailFactor();
EmailFactor factor = EmailFactor.builder()
.data(param).emailTemplateEnum(emailTemplateEnum)
.subject(req.getMailSubject()).type(EmailTypeEnum.HTML.getType()).build();
req.setMailContent(this.content(factor));
log.debug("[sendSupplierEmail] 发送供应商邮件内容 flowId:{}, req:{}", changeRecord.getFlowId(), JSON.toJSONString(req));
flowRpcSupplierSendService.sendEmail(req);
}
/**
* 根据邮件模版获取邮件内容
*
* @param emailFactor
* @return
*/
private String content(EmailFactor emailFactor) {
EmailTemplateEnum emailTemplateEnum = emailFactor.getEmailTemplateEnum();
return emailTemplateService.template(emailTemplateEnum.getCode(), emailFactor.getData(),
emailFactor.getType());
}
}
\ No newline at end of file
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