Commit 11bddd82 by zhangxingmin

push

parent 3511192e
......@@ -48,6 +48,9 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService {
@Autowired
private ApiEmailSendAsyncService apiEmailSendAsyncService;
@Autowired
private ApiEmailContactService apiEmailContactService;
/**
* 发送邮件
* @param request
......@@ -117,12 +120,34 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService {
apiSendMailDto.setReceiveEmail(mailTask.getSendEmail());
//抄送人邮箱列表
// 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())) {
//检测内容是否有占位符,有占位符就替换具体内容,每收件人的占位符内容是不一样的。
// apiSendMailDto.setContent(StringUtil.replacePlaceholders(apiSendMailDto.getContent(),
// recipient.getVariables()));
if (StringUtil.hasPlaceholdersSimple(mailTask.getContent())
&& StringUtils.isNotBlank(mailTask.getVariableGroupBizId())) {
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID不为空就替换具体内容,替换具体内容: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 {
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