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
602eb1bb
Commit
602eb1bb
authored
Oct 09, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
b8947989
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
212 additions
and
1 deletions
+212
-1
yd-email-api/src/main/java/com/yd/email/api/controller/ApiEmailFileController.java
+11
-0
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailContactService.java
+6
-1
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailFileService.java
+3
-0
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailContactServiceImpl.java
+1
-0
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailFileServiceImpl.java
+129
-0
yd-email-feign/src/main/java/com/yd/email/feign/client/ApiEmailFileFeignClient.java
+9
-0
yd-email-feign/src/main/java/com/yd/email/feign/enums/excel/ContactExcelEnum.java
+31
-0
yd-email-feign/src/main/java/com/yd/email/feign/fallback/ApiEmailFileFeignFallbackFactory.java
+6
-0
yd-email-feign/src/main/java/com/yd/email/feign/response/ApiImportContactExcelResponse.java
+7
-0
yd-email-service/src/main/java/com/yd/email/service/dto/EmailContactDto.java
+7
-0
yd-email-service/src/main/java/com/yd/email/service/service/impl/EmailContactServiceImpl.java
+2
-0
No files found.
yd-email-api/src/main/java/com/yd/email/api/controller/ApiEmailFileController.java
View file @
602eb1bb
...
@@ -6,6 +6,7 @@ import com.yd.email.feign.client.ApiEmailFileFeignClient;
...
@@ -6,6 +6,7 @@ import com.yd.email.feign.client.ApiEmailFileFeignClient;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportContactExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -48,4 +49,14 @@ public class ApiEmailFileController implements ApiEmailFileFeignClient {
...
@@ -48,4 +49,14 @@ public class ApiEmailFileController implements ApiEmailFileFeignClient {
ApiImportVariableExcelRequest
request
)
{
ApiImportVariableExcelRequest
request
)
{
return
apiEmailFileService
.
importVariableExcel
(
file
,
request
);
return
apiEmailFileService
.
importVariableExcel
(
file
,
request
);
}
}
/**
* 导入-联系人excel
* @param file
* @return
*/
@Override
public
Result
<
ApiImportContactExcelResponse
>
importContactExcel
(
MultipartFile
file
)
{
return
apiEmailFileService
.
importContactExcel
(
file
);
}
}
}
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailContactService.java
View file @
602eb1bb
...
@@ -2,12 +2,15 @@ package com.yd.email.api.service;
...
@@ -2,12 +2,15 @@ package com.yd.email.api.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.dto.ApiEmailContactCcDto
;
import
com.yd.email.feign.request.ApiEmailContactAddRequest
;
import
com.yd.email.feign.request.ApiEmailContactAddRequest
;
import
com.yd.email.feign.request.ApiEmailContactEditRequest
;
import
com.yd.email.feign.request.ApiEmailContactEditRequest
;
import
com.yd.email.feign.request.ApiEmailContactPageRequest
;
import
com.yd.email.feign.request.ApiEmailContactPageRequest
;
import
com.yd.email.feign.response.ApiEmailContactDetailResponse
;
import
com.yd.email.feign.response.ApiEmailContactDetailResponse
;
import
com.yd.email.feign.response.ApiEmailContactPageResponse
;
import
com.yd.email.feign.response.ApiEmailContactPageResponse
;
import
java.util.List
;
public
interface
ApiEmailContactService
{
public
interface
ApiEmailContactService
{
Result
<
IPage
<
ApiEmailContactPageResponse
>>
page
(
ApiEmailContactPageRequest
request
);
Result
<
IPage
<
ApiEmailContactPageResponse
>>
page
(
ApiEmailContactPageRequest
request
);
...
@@ -19,5 +22,7 @@ public interface ApiEmailContactService {
...
@@ -19,5 +22,7 @@ public interface ApiEmailContactService {
Result
del
(
String
contactBizId
);
Result
del
(
String
contactBizId
);
String
replacePlaceholders
(
String
content
,
String
contactBizId
,
String
ccEmails
);
List
<
ApiEmailContactCcDto
>
buildCcEmailList
(
List
<
String
>
ccEmailList
,
String
contactBizId
);
String
replacePlaceholders
(
String
content
,
String
contactBizId
,
String
ccEmails
);
}
}
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailFileService.java
View file @
602eb1bb
...
@@ -5,6 +5,7 @@ import com.yd.common.result.Result;
...
@@ -5,6 +5,7 @@ import com.yd.common.result.Result;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportContactExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
...
@@ -13,4 +14,6 @@ public interface ApiEmailFileService {
...
@@ -13,4 +14,6 @@ public interface ApiEmailFileService {
Result
<
ApiImportVariableExcelResponse
>
importVariableExcel
(
MultipartFile
file
,
Result
<
ApiImportVariableExcelResponse
>
importVariableExcel
(
MultipartFile
file
,
ApiImportVariableExcelRequest
request
);
ApiImportVariableExcelRequest
request
);
Result
<
ApiImportContactExcelResponse
>
importContactExcel
(
MultipartFile
file
);
}
}
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailContactServiceImpl.java
View file @
602eb1bb
...
@@ -154,6 +154,7 @@ public class ApiEmailContactServiceImpl implements ApiEmailContactService {
...
@@ -154,6 +154,7 @@ public class ApiEmailContactServiceImpl implements ApiEmailContactService {
* @param contactBizId
* @param contactBizId
* @return
* @return
*/
*/
@Override
public
List
<
ApiEmailContactCcDto
>
buildCcEmailList
(
List
<
String
>
ccEmailList
,
String
contactBizId
)
{
public
List
<
ApiEmailContactCcDto
>
buildCcEmailList
(
List
<
String
>
ccEmailList
,
String
contactBizId
)
{
List
<
ApiEmailContactCcDto
>
contactCcDtoList
=
new
ArrayList
<>();
List
<
ApiEmailContactCcDto
>
contactCcDtoList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isEmpty
(
contactCcDtoList
))
{
if
(
CollectionUtils
.
isEmpty
(
contactCcDtoList
))
{
...
...
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailFileServiceImpl.java
View file @
602eb1bb
package
com
.
yd
.
email
.
api
.
service
.
impl
;
package
com
.
yd
.
email
.
api
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.UUIDUtil
;
import
com.yd.common.utils.UUIDUtil
;
import
com.yd.email.api.service.ApiEmailContactCcService
;
import
com.yd.email.api.service.ApiEmailContactService
;
import
com.yd.email.api.service.ApiEmailFileService
;
import
com.yd.email.api.service.ApiEmailFileService
;
import
com.yd.email.api.service.ApiEmailVariableGroupService
;
import
com.yd.email.api.service.ApiEmailVariableGroupService
;
import
com.yd.email.feign.dto.ApiEmailVariableDto
;
import
com.yd.email.feign.dto.ApiEmailVariableDto
;
import
com.yd.email.feign.enums.GeneralVariableEnum
;
import
com.yd.email.feign.enums.GeneralVariableEnum
;
import
com.yd.email.feign.enums.excel.ContactExcelEnum
;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.response.ApiEmailVariableGroupDetailResponse
;
import
com.yd.email.feign.response.ApiEmailVariableGroupDetailResponse
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportContactExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
com.yd.email.service.dto.EmailContactDto
;
import
com.yd.email.service.dto.EmailVariableDto
;
import
com.yd.email.service.dto.EmailVariableDto
;
import
com.yd.email.service.model.EmailContact
;
import
com.yd.email.service.model.EmailContactImport
;
import
com.yd.email.service.model.EmailContactImport
;
import
com.yd.email.service.model.EmailVariable
;
import
com.yd.email.service.model.EmailVariable
;
import
com.yd.email.service.service.IEmailContactImportService
;
import
com.yd.email.service.service.IEmailContactImportService
;
import
com.yd.email.service.service.IEmailContactService
;
import
com.yd.email.service.service.IEmailVariableService
;
import
com.yd.email.service.service.IEmailVariableService
;
import
com.yd.oss.feign.client.ApiExcelFeignClient
;
import
com.yd.oss.feign.client.ApiExcelFeignClient
;
import
com.yd.oss.feign.dto.ExportParam
;
import
com.yd.oss.feign.dto.ExportParam
;
...
@@ -27,6 +36,7 @@ import com.yd.oss.feign.request.ApiExportRequest;
...
@@ -27,6 +36,7 @@ import com.yd.oss.feign.request.ApiExportRequest;
import
com.yd.oss.feign.result.ImportResult
;
import
com.yd.oss.feign.result.ImportResult
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -51,6 +61,15 @@ public class ApiEmailFileServiceImpl implements ApiEmailFileService {
...
@@ -51,6 +61,15 @@ public class ApiEmailFileServiceImpl implements ApiEmailFileService {
@Autowired
@Autowired
private
IEmailContactImportService
iEmailContactImportService
;
private
IEmailContactImportService
iEmailContactImportService
;
@Autowired
private
IEmailContactService
iEmailContactService
;
@Autowired
private
ApiEmailContactCcService
apiEmailContactCcService
;
@Autowired
private
ApiEmailContactService
apiEmailContactService
;
// 固定表头字段-通用变量
// 固定表头字段-通用变量
private
static
final
Set
<
String
>
FIXED_HEADERS
=
new
HashSet
<>(
Arrays
.
asList
(
private
static
final
Set
<
String
>
FIXED_HEADERS
=
new
HashSet
<>(
Arrays
.
asList
(
GeneralVariableEnum
.
GENERAL_CONTACT
.
getItemLabel
(),
GeneralVariableEnum
.
GENERAL_CONTACT
.
getItemLabel
(),
...
@@ -296,4 +315,114 @@ public class ApiEmailFileServiceImpl implements ApiEmailFileService {
...
@@ -296,4 +315,114 @@ public class ApiEmailFileServiceImpl implements ApiEmailFileService {
return
value
!=
null
?
value
.
toString
().
trim
()
:
null
;
return
value
!=
null
?
value
.
toString
().
trim
()
:
null
;
}
}
/**
* 导入-联系人excel
* @param file
* @return
*/
@Override
public
Result
<
ApiImportContactExcelResponse
>
importContactExcel
(
MultipartFile
file
)
{
ApiImportContactExcelResponse
response
=
new
ApiImportContactExcelResponse
();
try
{
// 远程调用Feign,通用Excel导入接口
Result
<
ImportResult
>
result
=
apiExcelFeignClient
.
importExcel
(
file
,
0
,
0
,
null
);
ImportResult
importResult
=
result
.
getData
();
if
(
Objects
.
isNull
(
result
.
getData
())
||
(!
Objects
.
isNull
(
result
.
getData
())
&&
!
importResult
.
isSuccess
()))
{
return
Result
.
fail
(
"Excel导入失败: "
+
(
importResult
.
getMessage
()
!=
null
?
importResult
.
getMessage
()
:
"未知错误"
));
}
if
(!
importResult
.
isSuccess
())
{
return
Result
.
fail
(
"Excel解析失败: "
+
importResult
.
getMessage
());
}
log
.
info
(
"表头信息: {}"
,
importResult
.
getHeaders
());
log
.
info
(
"导入数据条数: {}"
,
importResult
.
getTotalCount
());
//导入-联系人excel-处理导入数据(处理每一行数据(包括校验))
processImportContactExcelData
(
importResult
.
getData
());
return
Result
.
success
(
response
);
}
catch
(
Exception
e
)
{
log
.
error
(
"导入变量Excel异常"
,
e
);
return
Result
.
fail
(
"导入失败: "
+
e
.
getMessage
());
}
}
/**
* 导入-联系人excel-处理导入数据(处理每一行数据(包括校验))
* @param data
* @return
*/
public
Result
processImportContactExcelData
(
List
<
Map
<
String
,
Object
>>
data
)
{
//获取Security上下文当前用户的登录信息
AuthUserDto
authUserDto
=
SecurityUtil
.
getCurrentLoginUser
();
//导入-联系人excel-处理导入数据(处理每一行数据(包括校验))-校验excel字段
processImportContactExcelDataCheck
(
data
);
for
(
Map
<
String
,
Object
>
row
:
data
)
{
EmailContact
emailContact
=
new
EmailContact
();
String
ccEmail
=
getStringValue
(
row
,
ContactExcelEnum
.
CC_EMAIL
.
getItemLabel
());
List
<
String
>
ccEmailList
=
StringUtils
.
isNotBlank
(
ccEmail
)
?
Arrays
.
asList
(
ccEmail
.
split
(
";"
).
clone
())
:
new
ArrayList
<>();
//设置联系人(收件人)业务唯一ID
emailContact
.
setContactBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_EMAIL_CONTACT
.
getCode
()));
emailContact
.
setName
(
getStringValue
(
row
,
ContactExcelEnum
.
NAME
.
getItemLabel
()));
emailContact
.
setAppellation
(
getStringValue
(
row
,
ContactExcelEnum
.
APPELLATION
.
getItemLabel
()));
emailContact
.
setCompanyName
(
getStringValue
(
row
,
ContactExcelEnum
.
COMPANY_NAME
.
getItemLabel
()));
emailContact
.
setEmail
(
getStringValue
(
row
,
ContactExcelEnum
.
EMAIL
.
getItemLabel
()));
emailContact
.
setType
(
getStringValue
(
row
,
ContactExcelEnum
.
TYPE
.
getItemLabel
()));
emailContact
.
setCreatorId
(
authUserDto
.
getUserBizId
());
//设置联系人(收件人)业务唯一ID
emailContact
.
setContactBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_EMAIL_CONTACT
.
getCode
()));
iEmailContactService
.
saveOrUpdate
(
emailContact
);
//保存关联抄送邮箱的列表
apiEmailContactCcService
.
saveEmailContactCcList
(
apiEmailContactService
.
buildCcEmailList
(
ccEmailList
,
emailContact
.
getContactBizId
()),
emailContact
.
getContactBizId
());
}
return
Result
.
success
();
}
/**
* 导入-联系人excel-处理导入数据(处理每一行数据(包括校验))-校验excel字段
* @param data
* @return
*/
public
Result
processImportContactExcelDataCheck
(
List
<
Map
<
String
,
Object
>>
data
)
{
Set
<
String
>
emailSet
=
new
HashSet
<>();
int
i
=
1
;
for
(
Map
<
String
,
Object
>
row
:
data
)
{
String
email
=
getStringValue
(
row
,
ContactExcelEnum
.
EMAIL
.
getItemLabel
());
if
(
StringUtils
.
isBlank
(
getStringValue
(
row
,
ContactExcelEnum
.
NAME
.
getItemLabel
())))
{
throw
new
BusinessException
(
"第"
+
i
+
"行的"
+
ContactExcelEnum
.
NAME
.
getItemLabel
()
+
"不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
getStringValue
(
row
,
ContactExcelEnum
.
APPELLATION
.
getItemLabel
())))
{
throw
new
BusinessException
(
"第"
+
i
+
"行的"
+
ContactExcelEnum
.
APPELLATION
.
getItemLabel
()
+
"不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
getStringValue
(
row
,
ContactExcelEnum
.
COMPANY_NAME
.
getItemLabel
())))
{
throw
new
BusinessException
(
"第"
+
i
+
"行的"
+
ContactExcelEnum
.
COMPANY_NAME
.
getItemLabel
()
+
"不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
getStringValue
(
row
,
ContactExcelEnum
.
EMAIL
.
getItemLabel
())))
{
throw
new
BusinessException
(
"第"
+
i
+
"行的"
+
ContactExcelEnum
.
EMAIL
.
getItemLabel
()
+
"不能为空!"
);
}
if
(
StringUtils
.
isBlank
(
getStringValue
(
row
,
ContactExcelEnum
.
CC_EMAIL
.
getItemLabel
())))
{
throw
new
BusinessException
(
"第"
+
i
+
"行的"
+
ContactExcelEnum
.
CC_EMAIL
.
getItemLabel
()
+
"不能为空!"
);
}
// 检查收件人邮箱是否重复
if
(
emailSet
.
contains
(
email
))
{
throw
new
BusinessException
(
"第"
+
i
+
"行的"
+
ContactExcelEnum
.
EMAIL
.
getItemLabel
()
+
"重复:"
+
email
);
}
emailSet
.
add
(
email
);
i
++;
}
//根据收件人邮箱查询库里有没有重复数据
List
<
EmailContact
>
emailContactList
=
iEmailContactService
.
queryList
(
EmailContactDto
.
builder
().
emailList
(
new
ArrayList
<>(
emailSet
)).
build
());
if
(!
CollectionUtils
.
isEmpty
(
emailContactList
))
{
//以下邮箱在库里重复
throw
new
BusinessException
(
"以下收件人邮箱在库里重复:"
+
String
.
join
(
","
,
emailContactList
.
stream
().
map
(
EmailContact:
:
getEmail
).
collect
(
Collectors
.
toList
())));
}
return
Result
.
success
();
}
}
}
yd-email-feign/src/main/java/com/yd/email/feign/client/ApiEmailFileFeignClient.java
View file @
602eb1bb
...
@@ -5,6 +5,7 @@ import com.yd.email.feign.fallback.ApiEmailFileFeignFallbackFactory;
...
@@ -5,6 +5,7 @@ import com.yd.email.feign.fallback.ApiEmailFileFeignFallbackFactory;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportContactExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
...
@@ -37,4 +38,12 @@ public interface ApiEmailFileFeignClient {
...
@@ -37,4 +38,12 @@ public interface ApiEmailFileFeignClient {
@PostMapping
(
value
=
"/import/excel/variable"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"/import/excel/variable"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
Result
<
ApiImportVariableExcelResponse
>
importVariableExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
,
Result
<
ApiImportVariableExcelResponse
>
importVariableExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
,
@Validated
ApiImportVariableExcelRequest
request
);
@Validated
ApiImportVariableExcelRequest
request
);
/**
* 导入-联系人excel
* @param file
* @return
*/
@PostMapping
(
value
=
"/import/excel/contact"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
Result
<
ApiImportContactExcelResponse
>
importContactExcel
(
@RequestParam
(
"file"
)
MultipartFile
file
);
}
}
yd-email-feign/src/main/java/com/yd/email/feign/enums/excel/ContactExcelEnum.java
0 → 100644
View file @
602eb1bb
package
com
.
yd
.
email
.
feign
.
enums
.
excel
;
public
enum
ContactExcelEnum
{
NAME
(
"姓名"
,
"name"
),
APPELLATION
(
"称谓"
,
"appellation"
),
COMPANY_NAME
(
"公司"
,
"companyName"
),
EMAIL
(
"收件人邮箱"
,
"email"
),
CC_EMAIL
(
"抄送人邮箱"
,
"ccEmail"
),
TYPE
(
"类型"
,
"type"
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
String
itemValue
;
//构造函数
ContactExcelEnum
(
String
itemLabel
,
String
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
String
getItemValue
()
{
return
itemValue
;
}
}
yd-email-feign/src/main/java/com/yd/email/feign/fallback/ApiEmailFileFeignFallbackFactory.java
View file @
602eb1bb
...
@@ -5,6 +5,7 @@ import com.yd.email.feign.client.ApiEmailFileFeignClient;
...
@@ -5,6 +5,7 @@ import com.yd.email.feign.client.ApiEmailFileFeignClient;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiExportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.request.ApiImportVariableExcelRequest
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiExportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportContactExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
com.yd.email.feign.response.ApiImportVariableExcelResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
...
@@ -30,6 +31,11 @@ public class ApiEmailFileFeignFallbackFactory implements FallbackFactory<ApiEmai
...
@@ -30,6 +31,11 @@ public class ApiEmailFileFeignFallbackFactory implements FallbackFactory<ApiEmai
ApiImportVariableExcelRequest
request
)
{
ApiImportVariableExcelRequest
request
)
{
return
null
;
return
null
;
}
}
@Override
public
Result
<
ApiImportContactExcelResponse
>
importContactExcel
(
MultipartFile
file
)
{
return
null
;
}
};
};
}
}
}
}
yd-email-feign/src/main/java/com/yd/email/feign/response/ApiImportContactExcelResponse.java
0 → 100644
View file @
602eb1bb
package
com
.
yd
.
email
.
feign
.
response
;
import
lombok.Data
;
@Data
public
class
ApiImportContactExcelResponse
{
}
yd-email-service/src/main/java/com/yd/email/service/dto/EmailContactDto.java
View file @
602eb1bb
...
@@ -5,6 +5,8 @@ import lombok.Builder;
...
@@ -5,6 +5,8 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@Data
@Builder
@Builder
@NoArgsConstructor
@NoArgsConstructor
...
@@ -22,6 +24,11 @@ public class EmailContactDto {
...
@@ -22,6 +24,11 @@ public class EmailContactDto {
private
String
email
;
private
String
email
;
/**
/**
* 联系人邮箱集合
*/
private
List
<
String
>
emailList
;
/**
* 查询是否排除当前发件人唯一标识数据,默认false不排除,true的话senderBizId必传
* 查询是否排除当前发件人唯一标识数据,默认false不排除,true的话senderBizId必传
*/
*/
@Builder
.
Default
@Builder
.
Default
...
...
yd-email-service/src/main/java/com/yd/email/service/service/impl/EmailContactServiceImpl.java
View file @
602eb1bb
...
@@ -13,6 +13,7 @@ import com.yd.email.service.service.IEmailContactService;
...
@@ -13,6 +13,7 @@ import com.yd.email.service.service.IEmailContactService;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.List
;
...
@@ -43,6 +44,7 @@ public class EmailContactServiceImpl extends ServiceImpl<EmailContactMapper, Ema
...
@@ -43,6 +44,7 @@ public class EmailContactServiceImpl extends ServiceImpl<EmailContactMapper, Ema
List
<
EmailContact
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
EmailContact
>()
List
<
EmailContact
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
EmailContact
>()
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getContactBizId
())
&&
!
dto
.
getIsExcludeMy
(),
EmailContact:
:
getContactBizId
,
dto
.
getContactBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getContactBizId
())
&&
!
dto
.
getIsExcludeMy
(),
EmailContact:
:
getContactBizId
,
dto
.
getContactBizId
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getEmail
()),
EmailContact:
:
getEmail
,
dto
.
getEmail
())
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getEmail
()),
EmailContact:
:
getEmail
,
dto
.
getEmail
())
.
in
(!
CollectionUtils
.
isEmpty
(
dto
.
getEmailList
()),
EmailContact:
:
getEmail
,
dto
.
getEmailList
())
.
ne
(
dto
.
getIsExcludeMy
(),
EmailContact:
:
getContactBizId
,
dto
.
getContactBizId
())
.
ne
(
dto
.
getIsExcludeMy
(),
EmailContact:
:
getContactBizId
,
dto
.
getContactBizId
())
);
);
return
list
;
return
list
;
...
...
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