Commit c982a574 by jx-art

发送邮件接口 测试

parent 760ad3cd
package com.netease.mail.yanxuan.change.integration.email.email; package com.netease.mail.yanxuan.change.integration.email.email;
import com.netease.mail.yanxuan.change.integration.email.enums.EmailEhcFlowEnum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
......
package com.netease.mail.yanxuan.change.integration.email.enums;
public enum EmailEhcFlowEnum {
/**
* 异常任务工单邮件
*/
YX_EHC_CREATE_TASK_SUBMIT("ehc_create_task_submit","创建临时/纠正措施/验证任务_提交", "【待处理】异常处理-%s 任务:%s 任务工单ID:%s",
"你好,由%s 发起的异常问题任务工单:%s ,工单ID:%s,请尽快前往处理"),
YX_EHC_CREATE_TASK_CANCEL("ehc_create_task_cancel","创建临时/纠正措施/验证任务_取消", "【已取消】异常处理-%s 任务:%s 任务工单ID:%s ",
"你好,由%s 发起的异常问题任务工单:%s ,工单ID:%s ,已被 %s %s 操作取消,请前往查看详情"),
YX_EHC_PROCESS_RESULT_CARE_OF("ehc_process_result_care_of","填写任务处理结果_转交", "【待处理】异常处理-%s 任务:%s 任务工单ID:%s ",
"你好,由%s 发起的异常问题任务工单:%s,工单ID:XXX,现由 %s %s 转交给你,请尽快前往处理"),
YX_EHC_PROCESS_RESULT_SUBMIT("ehc_process_result_submit","填写任务处理结果_提交", "【待审批】异常处理-%s 任务:%s 任务工单ID:%s",
"你好,由%s 发起的异常问题任务工单:%s ,工单ID:XXX,由 %s %s 完成了问题处理,需要审批,请尽快前往处理"),
YX_EHC_TASK_RELEASE_CARE_OF("ehc_task_release_care_of","任务工单发起人审批_转交", "【待审批】异常处理-%s 任务:%s 任务工单ID:%s ",
"你好,由%s 发起的异常问题任务工单:%s,工单ID:XXX,由 %s %s 完成了问题处理,需要审批,现由 %s %s 转交给你,请尽快前往处理"),
YX_EHC_TASK_RELEASE_CHECK_NOT_PASS("ehc_task_release_check_not_pass","任务工单发起人审批_不通过", "【被驳回】异常处理-%s 任务:%s 任务工单ID:%s",
"你好,由%s 发起的异常问题任务工单:%s,工单ID:%s,被 %s %s 驳回,请尽快前往处理"),
/**
* 供应商惩罚工单邮件
*/
YX_EHC_CREATE_SUPPLIER_TASK_SUBMIT("ehc_create_supplier_task_submit","创建供应商惩罚任务_提交", "【待处理】异常处理-供应商惩罚任务:%s 任务工单ID:%s ",
"你好,由%s 发起的供应商惩罚任务工单:%s,工单ID:%s,请尽快前往处理"),
YX_EHC_CREATE_SUPPLIER_TASK_CARE_OF("ehc_create_supplier_task_care_of","创建供应商惩罚任务_转交", "【待处理】异常处理-供应商惩罚任务:%s 任务工单ID:%s ",
"你好,由%s 发起的供应商惩罚任务工单:%s,工单ID:%s,现由(%s %s)转交给你,请尽快前往处理"),
YX_EHC_SUPPLIER_RESULT_SUBMIT("ehc_supplier_process_result_submit","采购回填供应商处理结果_提交", "【待审批】异常处理-供应商惩罚任务:%s 任务工单ID:%s ",
"你好,由%s 发起的供应商惩罚任务工单:%s,工单ID:%s,由(%s %s)完成了问题处理,需要审批,请尽快前往处理"),
YX_EHC_SUPPLIER_RELEASE_CHECK_CARE_OF("ehc_supplier_release_check_care_of","工单发起人审批节点_转交", "【待审批】异常处理-供应商惩罚任务:%s 任务工单ID:%s",
"你好,由%s 发起的供应商惩罚任务工单:%s,工单ID:%s,由(%s %s)完成了问题处理,需要审批,现由(%s %s)转交给你,请尽快前往处理"),
YX_EHC_SUPPLIER_RELEASE_CHECK_PASS_OVER("ehc_supplier_release_check_pass_over","工单发起人审批节点_审核通过", "【已完结】异常处理-供应商惩罚任务:%s 任务工单ID:%s ",
"你好,由%s 发起的供应商惩罚任务工单:%s,工单ID:%s,已完成处理,请前往查看详情"),
YX_EHC_SUPPLIER_RELEASE_CHECK_NOT_PASS_BUY("ehc_supplier_release_check_not_pass_buy","工单发起人审批节点_审核不通过", "【被驳回】异常处理-供应商惩罚任务:%s 任务工单ID:%s ",
"你好,由%s 发起的供应商惩罚任务工单:%s,工单ID:%s,被(%s %s)驳回,请尽快前往处理"),
YX_EHC_CREATE_SUPPLIER_CANCEL("ehc_create_supplier_cancel","创建供应商惩罚任务_取消", "【已取消】异常处理-供应商惩罚任务:%s 任务工单ID:%s ",
"你好,由%s 发起的供应商惩罚任务工单:%s ,工单ID:%s ,已被 %s %s 操作取消,请前往查看详情"),
/**
* 批量事件工单邮件
*/
YX_EHC_CREATE_EVENT_TASK_SUBMIT("ehc_create_event_task_submit","创建批量事件任务_提交","【待处理】异常处理-批量事件记录任务:%s 任务工单ID:%s ",""),
YX_EHC_CREATE_EVENT_TASK_DELIVER("ehc_create_event_task_deliver","处理批量事件任务_转交","【待处理】异常处理-批量事件记录任务:%s 任务工单ID:%s ",""),
YX_EHC_CREATE_EVENT_TASK_CANCEL("ehc_create_event_task_cancel","创建批量事件任务_取消","【已取消】异常处理-批量事件记录任务:%s 任务工单ID:%s",""),
/**
* 临期/过期工单邮件
*/
YX_EHC_FLOW_OVER_TIME("ehc_flow_over_time","临期/过期工单监控","ECR异常临期及延期任务工单提醒",""),
/********************************** 异常问题主工单邮件模板 **********************************/
YX_EHC_ABNORMAL_PROCESS("ehc_abnormal_process_template","待处理人处理邮件(非驳回)", "【待处理】异常问题:%s 工单ID:%s",
""),
YX_EHC_ABNORMAL_AUDIT("ehc_abnormal_audit_template","待审核人审核邮件", "【待审批】异常问题:%s 工单ID:%s",
""),
YX_EHC_ABNORMAL_DELIVER_PROCESS("ehc_abnormal_deliver_process_template","待转交人处理邮件", "【待处理】异常问题:%s 工单ID:%s",
""),
YX_EHC_ABNORMAL_DELIVER_AUDIT("ehc_abnormal_deliver_audit_template","待转交人审核邮件", "【待审批】异常问题:%s 工单ID:%s",
""),
YX_EHC_ABNORMAL_REFUSE("ehc_abnormal_refuse_template","被驳回待处理邮件", "【被驳回】异常问题:%s 工单ID:%s",
""),
YX_EHC_ABNORMAL_END("ehc_abnormal_end_template","已完结通知邮件", "【已完结】异常问题:%s 工单ID:%s",
""),
;
/**
* 模版code
*/
private String code;
/**
* 模版名称
*/
private String name;
/**
* 邮件标题format
*/
private String subject;
/**
* 邮件内容
*/
private String content;
EmailEhcFlowEnum(String code, String name, String subject, String content) {
this.code = code;
this.name = name;
this.subject = subject;
this.content = content;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getSubject() {
return subject;
}
public String getContent() {
return content;
}
}
...@@ -9,108 +9,19 @@ public enum EmailTemplateEnum { ...@@ -9,108 +9,19 @@ public enum EmailTemplateEnum {
YX_QC_RELEASE_FLOW("yxqc_release_flow","品控发起工单", "【ECR异常工单新建】 %s,请判定异常等级和制定临时措施"), YX_QC_RELEASE_FLOW("yxqc_release_flow","品控发起工单", "【ECR异常工单新建】 %s,请判定异常等级和制定临时措施"),
YXQC_RELEASE_FLOW_KONW_PE("yxqc_release_flow_know_pe","品控发起工单_被周知人", "【ECR异常工单新建】 %s,请知悉"), YX_QC_CHANGE_RELEASE_FLOW("yxqc_change_release_flow","发起变更","【待处理】%s 变更申请提交 "),
YX_QC_DECIDE_CARE_OF("yxqc_decide_care_of","品控判定异常等级制定临时措施_转交", "【ECR异常工单跟进】 %s,请判定异常等级和制定临时措施"), YX_QC_CHANGE_SUBMIT_CANCEL("yx_qc_change_submit_cancel","变更取消","【待处理】%s 变更申请提交 "),
YX_QC_DECIDE_SUBMIT("yxqc_decide_submit","品控判定异常等级制定临时措施_提交", "【ECR异常工单审批】 %s,请审批异常等级和临时措施"), YX_QC_CHANGE_SUBMIT_FORWARD("yx_qc_change_submit_forward","变更转交","%s 变更工单转交通知"),
YX_QC_GROUP_LEADER_CHECK_CARE_OF("yxqc_group_leader_check_care_of","组长审批_转交", "【ECR异常工单审批】 %s,请审批异常等级和临时措施"), YX_QC_CHANGE_EXECUTE(" yx_qc_change_execute","变更执行","【待处理】变更行动项确认 %s %s %s"),
YX_QC_GROUP_LEADER_CHECK_PASS_NOT_ABNORMAL("yxqc_group_leader_check_pass_not_abnormal","组长审批_审批通过_异常审批人审批关联工单/非异常问题" , "【ECR异常工单审批】 %s,请审批异常等级和临时措施"), YX_QC_CHANGE_AFFIRM("yx_qc_change_affirm","变更确认","【待处理】变更结果确认 %s %s %s"),
YX_QC_GROUP_LEADER_CHECK_PASS_METHOD("yxqc_group_leader_check_pass_method","组长审批_审批通过_原因分析和纠正措施、标准化和验证措施", "【ECR异常工单跟进】 %s,请分析原因和制定纠正措施"), YX_QC_CHANGE_FINISH("yx_qc_change_finish","工单完结","【已完结】%s %s %s 变更风险行动项已完结,请开始执行变更。"),
YX_QC_GROUP_LEADER_NOT_PASS("yxqc_group_leader_not_pass","组长审批_不通过_判定异常等级制定临时措施", "【ECR异常工单驳回请跟进】 %s,请判定异常等级和制定临时措施"), YX_QC_CHANGE_PENDING("yx_qc_change_pending","待处理","【待处理】执行标准号 执行标准名称已变更 请排查对应的商品变更");
YX_QC_ABNORMAL_NOT_PROBLEM_CARE_OF("yxqc_abnormal_not_problem_care_of","品控_异常审批人审批关联工单/非异常问题_转交", "【ECR异常工单审批】 %s,请审批异常等级和临时措施"),
YX_QC_ABNORMAL_NOT_PROBLEM_OVER("yxqc_abnormal_not_problem_over","品控_异常审批人审批关联工单/非异常问题_完结", "【ECR异常工单完结】 %s,请知悉"),
YX_QC_ABNORMAL_NOT_PROBLEM_NOT_PASS("yxqc_abnormal_not_problem_not_pass","品控_异常审批人审批关联工单/非异常问题_不通过", "【ECR异常工单驳回请跟进】 %s,请判定等级和制定临时措施"),
YX_QC_CAUSE_MEASURE_CARE_OF("yxqc_cause_measure_care_of","品控_原因分析和纠正措施、标准化和验证措施_转交", "【ECR异常工单跟进】 %s,请分析原因和制定纠正措施"),
YX_QC_CAUSE_MEASURE_SUBMIT("yxqc_cause_measure_submit","品控_原因分析和纠正措施、标准化和验证措施_提交", "【ECR异常工单审批】 %s,请审批原因分析和纠正措施"),
YX_QC_ABNORMAL_CHECK_METHOD_CARE_OF("yxqc_abnormal_check_method_care_of","品控_异常审批人审核异常处理方式_转交", "【ECR异常工单审批】 %s,请审批原因分析和纠正措施"),
YX_QC_ABNORMAL_CHECK_METHOD_PASS("yxqc_abnormal_check_method_pass","品控_异常审批人审核异常处理方式_审批通过", "【ECR异常工单跟进】 %s,请确认全部任务完成"),
YX_QC_ABNORMAL_CHECK_METHOD_NOT_PASS("yxqc_abnormal_check_method_not_pass","品控_异常审批人审核异常处理方式_审批不通过", "【ECR异常工单驳回请跟进】 %s,请分析原因和制定纠正措施"),
YX_QC_ABNORMAL_CHECK_METHOD_NOT_PASS_DECIDE("yxqc_abnormal_check_method_not_pass_decide","品控_异常审批人审核异常处理方式_审批不通过_判定异常等级制定临时措施", "【ECR异常工单驳回请跟进】 %s,请判定异常等级和制定临时措施"),
YX_QC_CONFIRM_METHOD_OVER_SUBMIT("yxqc_confirm_method_over_submit","品控_确认临时措施和纠正措施任务全部完成_提交", "【ECR异常工单审批】 %s,请审批所有任务处理结果"),
YX_QC_ABNORMAL_CHECK_RESULT_NOT_PASS_CONFIRM_METHOD_OVER("yxqc_abnormal_check_result_not_pass_confirm_method_over","品控_异常审批人审核异常处理结果_审批不通过_确认临时措施和纠正措施任务全部完成", "【ECR异常工单驳回请跟进】 %s,请完成全部任务"),
YX_QC_ABNORMAL_CHECK_RESULT_NOT_PASS_CAUSE_METHOD("yxqc_abnormal_check_result_not_pass_cause_method","品控_异常审批人审核异常处理结果_审批不通过_原因分析和纠正措施、标准化和验证措施", "【ECR异常工单驳回请跟进】 %s,请分析原因和制定纠正措施"),
YX_QC_ABNORMAL_CHECK_RESULT_NOT_PASS_DECIDE("yxqc_abnormal_check_result_not_pass_decide","品控_异常审批人审核异常处理结果_审批不通过_判定异常等级制定临时措施", "【ECR异常工单驳回请跟进】 %s,请判定异常等级和制定临时措施"),
YX_QC_ABNORMAL_CHECK_RESULT_PASS_OVER("yxqc_abnormal_check_result_pass_over","品控_异常审批人审核异常处理结果_审批通过_完结", "【ECR异常工单完结】 %s,请知悉"),
YX_QC_ABNORMAL_CHECK_RESULT_PASS_BIGGER_CHECK("yxqc_abnormal_check_result_pass_bigger_check","品控_异常审批人审核异常处理结果_审批通过_项目部老大&品控负责人审批", "【ECR异常工单审批】 %s,请审批"),
YX_QC_BIGGER_CHECK_CARE_OF_BIGGER_CHECK("yxqc_bigger_check_care_of_bigger_check","品控_项目部老大&品控负责人审批节点_转交_项目部老大&品控负责人审批节点", "【ECR异常工单审批】 %s,请审批"),
YX_QC_BIGGER_CHECK_PASS_OVER("yxqc_bigger_check_pass_over","品控_项目部老大&品控负责人审批节点_审核通过_完结", "【ECR异常工单完结】 %s,请知悉"),
YX_QC_BIGGER_CHECK_NOT_PASS("yxqc_bigger_check_not_pass","品控_项目部老大&品控负责人审批节点_审核不通过", "【ECR异常工单驳回请跟进】 %s,请判定异常等级和制定临时措施"),
/**
* 异常任务工单邮件
*/
YX_QC_CREATE_TASK_SUBMIT("yxqc_create_task_submit","品控_创建临时/纠正措施/验证任务_提交", "【ECR任务工单新建】%s,请跟进%s任务"),
YX_QC_CREATE_TASK_REVOKE("yxqc_create_task_revoke","品控_创建临时/纠正措施/验证任务_撤回", "【ECR任务工单撤回】%s,请知悉"),
YX_QC_PROCESS_RESULT_CARE_OF("yxqc_process_result_care_of","品控_填写任务处理结果_转交", "【ECR任务工单跟进】%s,请跟进%s任务"),
YX_QC_PROCESS_RESULT_SUBMIT("yxqc_process_result_submit","品控_填写任务处理结果_提交", "【ECR任务工单审批】%s,请审批%s任务"),
YX_QC_TASK_RELEASE_CARE_OF("yxqc_task_release_care_of","品控_任务工单发起人审批_转交", "【ECR任务工单审批】%s,请审批%s任务"),
YX_QC_TASK_RELEASE_CHECK_PASS("yxqc_task_release_check_pass","品控_任务工单发起人审批_通过", "【ECR任务工单完结】%s,请知悉"),
YX_QC_TASK_RELEASE_CHECK_NOT_PASS("yxqc_task_release_check_not_pass","品控_任务工单发起人审批_不通过", "【ECR任务工单驳回请跟进】%s,请跟进%s任务"),
/**
* 异常问题供应商惩罚任务工单
*/
YX_QC_CREATE_SUPPLIER_TASK_SUBMIT("yxqc_create_supplier_task_submit","品控_创建供应商惩罚任务_提交", "【ECR任务工单新建】%s,请跟进供应商惩罚工单"),
YX_QC_CREATE_SUPPLIER_TASK_CARE_OF("yxqc_create_supplier_task_care_of","品控_创建供应商惩罚任务_转交", "【ECR任务工单跟进】%s,请跟进供应商惩罚工单"),
YX_QC_SUPPLITER_RESULT_SUBMIT("yxqc_supplier_process_result_submit","品控_采购回填供应商处理结果_提交", "【ECR任务工单审批】%s,请审批供应商惩罚工单"),
YX_QC_TASK_RELEASE_CHECK_CARE_OF("yxqc_task_release_check_care_of","品控_工单发起人审批节点_转交", "【ECR任务工单审批】%s,请审批供应商惩罚工单"),
YX_QC_TASK_RELEASE_CHECK_PASS_OVER("yxqc_task_release_check_pass_over","品控_工单发起人审批节点_审核通过", "【ECR任务工单完结】%s,请知悉"),
YX_QC_TASK_RELEASE_CHECK_NOT_PASS_BUY("yxqc_task_release_check_not_pass_buy","品控_工单发起人审批节点_审核不通过", "【ECR任务工单驳回请跟进】%s,请跟进供应商惩罚工单"),
/**
* 查询数仓相关
*/
YX_QC_TASK_QUERY_DPS_NOT_DATA("yx_qc_query_dqs_not_data","品控_查询_数仓_无数据", ""),
/**
* 监控过期或临期工单
*/
YX_QC_CONTROL_EXPIRE_ADVENT_FLOW("yx_qc_control_expire_advent_flow","品控_监控_过期临期_工单", "【ECR异常、任务工单】临期、延期提醒"),
YX_QC_TEST("yxqc_test","品控测试", "");
/** /**
* 模版code * 模版code
*/ */
......
package com.netease.mail.yanxuan.change.integration.email.service;
import java.io.File;
import java.util.Collection;
import java.util.List;
public interface IUasEhcClient {
/**
* 邮件发送
*
* @param subject
* @param content
* @param toList
* @param ccList
* @param fileList
*/
void sendEmail(String subject, String content, Collection<String> toList, Collection<String> ccList,
List<File> fileList);
}
\ No newline at end of file
package com.netease.mail.yanxuan.change.integration.email.service.impl;
import java.io.File;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.integration.email.service.IUasEhcClient;
import com.netease.mail.yanxuan.change.integration.flow.email.EmailRpcService;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@Service
public class IUasClientEhcImpl implements IUasEhcClient {
public static final String CODE = "code";
private Logger logger = LoggerFactory.getLogger(IUasClientEhcImpl.class);
@Autowired
private EmailRpcService rpcService;
@Override
public void sendEmail(String subject, String content, Collection<String> toList, Collection<String> ccList,
List<File> fileList) {
if (!CollectionUtils.isEmpty(toList)) {
Map<String, String> params = new HashMap();
params.put("subject", subject);
params.put("content", content);
if (!CollectionUtils.isEmpty(toList)) {
params.put("to", StringUtils.join(toList, ","));
}
params.put("topic", "ehc");
if (!CollectionUtils.isEmpty(ccList)) {
params.put("cc", StringUtils.join(ccList, ","));
}
String res = null;
try {
res = this.rpcService.sendEmailInfo(params);
} catch (Exception e) {
logger.error("[sendEmail] params={}, e={}", JSON.toJSONString(params), e);
}
this.logger.info("[sendEmail] toList={}, ccList={}, params={}, res={} ", JSON.toJSONString(toList),
JSON.toJSONString(ccList), JSON.toJSONString(params), JSON.toJSONString(res));
JSONObject jsonObject = JSON.parseObject(res);
if (jsonObject.getInteger(CODE) != ResponseCode.SUCCESS.getCode()) {
this.logger.error("SendEmail", null,
"send email failed, subject={},toList={},ccList={}",
new Object[] { subject, JSON.toJSONString(toList), JSON.toJSONString(ccList) });
}
}
}
}
...@@ -24,9 +24,4 @@ public interface EmailRpcService { ...@@ -24,9 +24,4 @@ public interface EmailRpcService {
@RequestParam(name = "to") String to, @RequestParam(name = "to") String to,
@RequestParam(name = "cc",required = false)String cc); @RequestParam(name = "cc",required = false)String cc);
//yanxuan-sc-ehc
@PostMapping("/push/email/qc/upload.json")
String sendEmailInfo(Map<String, String> params);
} }
...@@ -128,7 +128,7 @@ public class ChangeConfigController { ...@@ -128,7 +128,7 @@ public class ChangeConfigController {
map.put("findTime","findTime"); map.put("findTime","findTime");
map.put("findDes","findDes"); map.put("findDes","findDes");
emailFactor.setData(map); emailFactor.setData(map);
iEmailService.sendEmail(strings,emailFactor); iEmailService.sendEmail(strings,null,emailFactor);
} }
......
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