Commit 11bddd82 by zhangxingmin

push

parent 3511192e
...@@ -48,6 +48,9 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService { ...@@ -48,6 +48,9 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService {
@Autowired @Autowired
private ApiEmailSendAsyncService apiEmailSendAsyncService; private ApiEmailSendAsyncService apiEmailSendAsyncService;
@Autowired
private ApiEmailContactService apiEmailContactService;
/** /**
* 发送邮件 * 发送邮件
* @param request * @param request
...@@ -117,12 +120,34 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService { ...@@ -117,12 +120,34 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService {
apiSendMailDto.setReceiveEmail(mailTask.getSendEmail()); apiSendMailDto.setReceiveEmail(mailTask.getSendEmail());
//抄送人邮箱列表 //抄送人邮箱列表
// apiSendMailDto.setCcEmailList(ccEmailList); // apiSendMailDto.setCcEmailList(ccEmailList);
//变量分组唯一业务ID不为空,来源是1-excel导入联系人 为空是0-选择联系人导入
Integer source = StringUtils.isNotBlank(request.getVariableGroupBizId()) ? 1 : 0;
// 保存收件人信息
//根据当前当前会话id和数据来源查询导入数据,保存到邮件任务收件人关联表中,供后续使用
Result<List<EmailTaskRecipients>> result1 = apiEmailTaskRecipientsService
.queryEmailTaskRecipientsBySessionId(taskBizId,mailTask.getStatus(),request.getSessionId(),source);
List<EmailTaskRecipients> recipientsList = result1.getData();
EmailTaskRecipients recipient = recipientsList.get(0);
//邮件内容 //邮件内容
if (StringUtil.hasPlaceholdersSimple(apiSendMailDto.getContent())) { if (StringUtil.hasPlaceholdersSimple(mailTask.getContent())
//检测内容是否有占位符,有占位符就替换具体内容,每收件人的占位符内容是不一样的。 && StringUtils.isNotBlank(mailTask.getVariableGroupBizId())) {
// apiSendMailDto.setContent(StringUtil.replacePlaceholders(apiSendMailDto.getContent(), //检测内容是否有占位符,有占位符并且变量分组唯一业务ID不为空就替换具体内容,替换具体内容:recipient.getVariables()
// recipient.getVariables())); //变量替换内容(固定+非固定变量)
String content = StringUtil.replacePlaceholders(mailTask.getContent(),
recipient.getVariables());
apiSendMailDto.setContent(content);
}else if (StringUtil.hasPlaceholdersSimple(mailTask.getContent())
&& StringUtils.isBlank(mailTask.getVariableGroupBizId())) {
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID为空就替换具体内容。替换具体内容:通用变量字段:收件人姓名、收件人称谓、公司,这三个字段内容从收件人联系人获取
//检测内容是否含有通用变量
if (StringUtil.hasTyVariables(mailTask.getContent())) {
String content = apiEmailContactService.replacePlaceholders(mailTask.getContent(),recipient.getContactBizId(),recipient.getCcEmail());
apiSendMailDto.setContent(content);
} }
}
// 调用邮件服务发送邮件 // 调用邮件服务发送邮件
try { try {
apiEmailService.sendMail(apiSendMailDto); apiEmailService.sendMail(apiSendMailDto);
......
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