Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-email
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-email
Commits
d16dbf70
Commit
d16dbf70
authored
Sep 29, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
b246e209
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
7 deletions
+45
-7
yd-email-api/src/main/java/com/yd/email/api/async/ApiEmailSendAsyncService.java
+16
-4
yd-email-api/src/main/java/com/yd/email/api/handler/EmailSendJobHandler.java
+16
-3
yd-email-feign/src/main/java/com/yd/email/feign/utils/StringUtil.java
+13
-0
No files found.
yd-email-api/src/main/java/com/yd/email/api/async/ApiEmailSendAsyncService.java
View file @
d16dbf70
...
...
@@ -102,18 +102,30 @@ public class ApiEmailSendAsyncService {
apiSendMailDto
.
setReceiveEmail
(
recipient
.
getReceiveEmail
());
//抄送人邮箱列表
apiSendMailDto
.
setCcEmailList
(
ccEmailList
);
//邮件内容
if
(
StringUtil
.
hasPlaceholdersSimple
(
emailTask
.
getContent
())
&&
StringUtils
.
isNotBlank
(
emailTask
.
getVariableGroupBizId
()))
{
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID不为空就替换具体内容,替换具体内容:recipient.getVariables()
apiSendMailDto
.
setContent
(
StringUtil
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getVariables
()));
//非通用变量替换内容
String
content
=
StringUtil
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getVariables
());
//通用变量替换内容
//检测内容是否含有通用变量
if
(
StringUtil
.
hasTyVariables
(
emailTask
.
getContent
()))
{
content
=
apiEmailContactService
.
replacePlaceholders
(
content
,
recipient
.
getContactBizId
());
}
apiSendMailDto
.
setContent
(
content
);
}
else
if
(
StringUtil
.
hasPlaceholdersSimple
(
emailTask
.
getContent
())
&&
StringUtils
.
isBlank
(
emailTask
.
getVariableGroupBizId
()))
{
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID为空就替换具体内容。替换具体内容:通用变量字段:收件人姓名、收件人称谓、公司,这三个字段内容从收件人联系人获取
apiSendMailDto
.
setContent
(
apiEmailContactService
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getContactBizId
()));
//检测内容是否含有通用变量
if
(
StringUtil
.
hasTyVariables
(
emailTask
.
getContent
()))
{
String
content
=
apiEmailContactService
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getContactBizId
());
apiSendMailDto
.
setContent
(
content
);
}
}
// 调用邮件服务发送邮件
apiEmailService
.
sendMail
(
apiSendMailDto
);
...
...
yd-email-api/src/main/java/com/yd/email/api/handler/EmailSendJobHandler.java
View file @
d16dbf70
...
...
@@ -112,17 +112,30 @@ public class EmailSendJobHandler {
apiSendMailDto
.
setReceiveEmail
(
recipient
.
getReceiveEmail
());
//抄送人邮箱列表
apiSendMailDto
.
setCcEmailList
(
ccEmailList
);
//邮件内容
if
(
StringUtil
.
hasPlaceholdersSimple
(
emailTask
.
getContent
())
&&
StringUtils
.
isNotBlank
(
emailTask
.
getVariableGroupBizId
()))
{
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID不为空就替换具体内容,替换具体内容:recipient.getVariables()
apiSendMailDto
.
setContent
(
StringUtil
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getVariables
()));
//非通用变量替换内容
String
content
=
StringUtil
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getVariables
());
//通用变量替换内容
//检测内容是否含有通用变量
if
(
StringUtil
.
hasTyVariables
(
emailTask
.
getContent
()))
{
content
=
apiEmailContactService
.
replacePlaceholders
(
content
,
recipient
.
getContactBizId
());
}
apiSendMailDto
.
setContent
(
content
);
}
else
if
(
StringUtil
.
hasPlaceholdersSimple
(
emailTask
.
getContent
())
&&
StringUtils
.
isBlank
(
emailTask
.
getVariableGroupBizId
()))
{
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID为空就替换具体内容。替换具体内容:通用变量字段:收件人姓名、收件人称谓、公司,这三个字段内容从收件人联系人获取
apiSendMailDto
.
setContent
(
apiEmailContactService
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getContactBizId
()));
//检测内容是否含有通用变量
if
(
StringUtil
.
hasTyVariables
(
emailTask
.
getContent
()))
{
String
content
=
apiEmailContactService
.
replacePlaceholders
(
emailTask
.
getContent
(),
recipient
.
getContactBizId
());
apiSendMailDto
.
setContent
(
content
);
}
}
// 调用邮件服务发送邮件
apiEmailService
.
sendMail
(
apiSendMailDto
);
...
...
yd-email-feign/src/main/java/com/yd/email/feign/utils/StringUtil.java
View file @
d16dbf70
...
...
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
@Slf4j
public
class
StringUtil
{
...
...
@@ -39,6 +40,18 @@ public class StringUtil {
}
/**
* 检测内容是否有通用三个变量:通用变量:收件人姓名:{{name}}、收件人称谓: {{appellation}}、公司:{{compantName}}
* @param content
* @return
*/
public
static
boolean
hasTyVariables
(
String
content
)
{
if
(
StringUtils
.
isBlank
(
content
))
{
return
false
;
}
return
(
content
.
contains
(
"{{name}}"
)
||
content
.
contains
(
"{{appellation}}"
)
||
content
.
contains
(
"{{compantName}}"
));
}
/**
* 检测内容是否有占位符
* @param content
* @return
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment