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
2d6db1e5
Commit
2d6db1e5
authored
Sep 25, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
邮件发送记录
parent
e735e116
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
482 additions
and
34 deletions
+482
-34
yd-email-api/src/main/java/com/yd/email/api/controller/ApiEmailTaskController.java
+38
-0
yd-email-api/src/main/java/com/yd/email/api/controller/ApiEmailTaskRecipientsController.java
+38
-0
yd-email-api/src/main/java/com/yd/email/api/controller/EmailTaskController.java
+0
-18
yd-email-api/src/main/java/com/yd/email/api/controller/EmailTaskRecipientsController.java
+0
-16
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailTaskRecipientsService.java
+6
-0
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailTaskService.java
+10
-0
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailContactImportServiceImpl.java
+1
-0
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailTaskRecipientsServiceImpl.java
+17
-0
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailTaskServiceImpl.java
+36
-0
yd-email-feign/src/main/java/com/yd/email/feign/client/ApiEmailTaskFeignClient.java
+24
-0
yd-email-feign/src/main/java/com/yd/email/feign/client/ApiEmailTaskRecipientsFeignClient.java
+24
-0
yd-email-feign/src/main/java/com/yd/email/feign/fallback/ApiEmailTaskFeignFallbackFactory.java
+25
-0
yd-email-feign/src/main/java/com/yd/email/feign/fallback/ApiEmailTaskRecipientsFeignFallbackFactory.java
+25
-0
yd-email-feign/src/main/java/com/yd/email/feign/request/ApiEmailContactImportPageRequest.java
+15
-0
yd-email-feign/src/main/java/com/yd/email/feign/request/ApiEmailTaskPageRequest.java
+18
-0
yd-email-feign/src/main/java/com/yd/email/feign/request/ApiEmailTaskRecipientsPageRequest.java
+18
-0
yd-email-feign/src/main/java/com/yd/email/feign/response/ApiEmailTaskPageResponse.java
+59
-0
yd-email-feign/src/main/java/com/yd/email/feign/response/ApiEmailTaskRecipientsPageResponse.java
+49
-0
yd-email-service/src/main/java/com/yd/email/service/dao/EmailTaskMapper.java
+7
-0
yd-email-service/src/main/java/com/yd/email/service/dao/EmailTaskRecipientsMapper.java
+7
-0
yd-email-service/src/main/java/com/yd/email/service/service/IEmailTaskRecipientsService.java
+7
-0
yd-email-service/src/main/java/com/yd/email/service/service/IEmailTaskService.java
+6
-0
yd-email-service/src/main/java/com/yd/email/service/service/impl/EmailTaskRecipientsServiceImpl.java
+10
-0
yd-email-service/src/main/java/com/yd/email/service/service/impl/EmailTaskServiceImpl.java
+10
-0
yd-email-service/src/main/resources/mappers/EmailContactImportMapper.xml
+2
-0
yd-email-service/src/main/resources/mappers/EmailTaskMapper.xml
+15
-0
yd-email-service/src/main/resources/mappers/EmailTaskRecipientsMapper.xml
+15
-0
No files found.
yd-email-api/src/main/java/com/yd/email/api/controller/ApiEmailTaskController.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.email.api.service.ApiEmailTaskService
;
import
com.yd.email.feign.client.ApiEmailTaskFeignClient
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 邮件任务信息(存储邮件发送任务信息)
*
* @author zxm
* @since 2025-09-19
*/
@RestController
@RequestMapping
(
"/emailTask"
)
@Validated
public
class
ApiEmailTaskController
implements
ApiEmailTaskFeignClient
{
@Autowired
private
ApiEmailTaskService
apiEmailTaskService
;
/**
* 分页查询-邮件任务(主线任务)
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiEmailTaskPageResponse
>>
page
(
ApiEmailTaskPageRequest
request
)
{
return
apiEmailTaskService
.
page
(
request
);
}
}
yd-email-api/src/main/java/com/yd/email/api/controller/ApiEmailTaskRecipientsController.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.email.api.service.ApiEmailTaskRecipientsService
;
import
com.yd.email.feign.client.ApiEmailTaskRecipientsFeignClient
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 邮件任务收件人信息
*
* @author zxm
* @since 2025-09-19
*/
@RestController
@RequestMapping
(
"/emailTaskRecipients"
)
@Validated
public
class
ApiEmailTaskRecipientsController
implements
ApiEmailTaskRecipientsFeignClient
{
@Autowired
private
ApiEmailTaskRecipientsService
apiEmailTaskRecipientsService
;
/**
* 分页查询-邮件收件人任务(支线任务)
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiEmailTaskRecipientsPageResponse
>>
page
(
ApiEmailTaskRecipientsPageRequest
request
)
{
return
apiEmailTaskRecipientsService
.
page
(
request
);
}
}
yd-email-api/src/main/java/com/yd/email/api/controller/EmailTaskController.java
deleted
100644 → 0
View file @
e735e116
package
com
.
yd
.
email
.
api
.
controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* <p>
* 邮件任务表(存储邮件发送任务信息) 前端控制器
* </p>
*
* @author zxm
* @since 2025-09-19
*/
@RestController
@RequestMapping
(
"/emailTask"
)
public
class
EmailTaskController
{
}
yd-email-api/src/main/java/com/yd/email/api/controller/EmailTaskRecipientsController.java
deleted
100644 → 0
View file @
e735e116
package
com
.
yd
.
email
.
api
.
controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 邮件任务收件人关联
*
* @author zxm
* @since 2025-09-19
*/
@RestController
@RequestMapping
(
"/emailTaskRecipients"
)
public
class
EmailTaskRecipientsController
{
}
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailTaskRecipientsService.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
api
.
service
;
package
com
.
yd
.
email
.
api
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
java.util.List
;
import
java.util.List
;
public
interface
ApiEmailTaskRecipientsService
{
public
interface
ApiEmailTaskRecipientsService
{
Result
<
IPage
<
ApiEmailTaskRecipientsPageResponse
>>
page
(
ApiEmailTaskRecipientsPageRequest
request
);
Result
<
List
<
EmailTaskRecipients
>>
saveEmailTaskRecipientsBySessionId
(
String
taskBizId
,
String
status
,
Result
<
List
<
EmailTaskRecipients
>>
saveEmailTaskRecipientsBySessionId
(
String
taskBizId
,
String
status
,
String
sessionId
,
Integer
source
);
String
sessionId
,
Integer
source
);
}
}
yd-email-api/src/main/java/com/yd/email/api/service/ApiEmailTaskService.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
api
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
public
interface
ApiEmailTaskService
{
Result
<
IPage
<
ApiEmailTaskPageResponse
>>
page
(
ApiEmailTaskPageRequest
request
);
}
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailContactImportServiceImpl.java
View file @
2d6db1e5
...
@@ -77,6 +77,7 @@ public class ApiEmailContactImportServiceImpl implements ApiEmailContactImportSe
...
@@ -77,6 +77,7 @@ public class ApiEmailContactImportServiceImpl implements ApiEmailContactImportSe
emailContactImport
.
setCcEmail
(
dto
.
getCcEmails
());
emailContactImport
.
setCcEmail
(
dto
.
getCcEmails
());
emailContactImport
.
setReceiveEmail
(
dto
.
getContactEmail
());
emailContactImport
.
setReceiveEmail
(
dto
.
getContactEmail
());
emailContactImport
.
setSessionId
(
finalSessionId
);
emailContactImport
.
setSessionId
(
finalSessionId
);
emailContactImport
.
setSource
(
0
);
return
emailContactImport
;
return
emailContactImport
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
iEmailContactImportService
.
saveOrUpdateBatch
(
addList
);
iEmailContactImportService
.
saveOrUpdateBatch
(
addList
);
...
...
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailTaskRecipientsServiceImpl.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
api
.
service
.
impl
;
package
com
.
yd
.
email
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.email.api.service.ApiEmailTaskRecipientsService
;
import
com.yd.email.api.service.ApiEmailTaskRecipientsService
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
import
com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse
;
import
com.yd.email.service.dto.EmailContactImportDto
;
import
com.yd.email.service.dto.EmailContactImportDto
;
import
com.yd.email.service.model.EmailContactImport
;
import
com.yd.email.service.model.EmailContactImport
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.yd.email.service.model.EmailTaskRecipients
;
...
@@ -30,6 +35,18 @@ public class ApiEmailTaskRecipientsServiceImpl implements ApiEmailTaskRecipients
...
@@ -30,6 +35,18 @@ public class ApiEmailTaskRecipientsServiceImpl implements ApiEmailTaskRecipients
private
IEmailTaskRecipientsService
iEmailTaskRecipientsService
;
private
IEmailTaskRecipientsService
iEmailTaskRecipientsService
;
/**
/**
* 分页查询-邮件收件人任务(支线任务)
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiEmailTaskRecipientsPageResponse
>>
page
(
ApiEmailTaskRecipientsPageRequest
request
)
{
Page
<
ApiEmailTaskRecipientsPageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiEmailTaskRecipientsPageResponse
>
iPage
=
iEmailTaskRecipientsService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
/**
* 根据当前当前会话id和数据来源查询导入数据,保存到邮件任务收件人关联表中
* 根据当前当前会话id和数据来源查询导入数据,保存到邮件任务收件人关联表中
* @param taskBizId 邮件任务唯一业务ID
* @param taskBizId 邮件任务唯一业务ID
* @param status 收件人邮件状态
* @param status 收件人邮件状态
...
...
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailTaskServiceImpl.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.result.Result
;
import
com.yd.email.api.service.ApiEmailTaskService
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
import
com.yd.email.service.service.IEmailTaskService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* 邮件任务实现类
*/
@Slf4j
@Service
public
class
ApiEmailTaskServiceImpl
implements
ApiEmailTaskService
{
@Autowired
private
IEmailTaskService
iEmailTaskService
;
/**
* 分页查询-邮件任务(主线任务)
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiEmailTaskPageResponse
>>
page
(
ApiEmailTaskPageRequest
request
)
{
Page
<
ApiEmailTaskPageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiEmailTaskPageResponse
>
iPage
=
iEmailTaskService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
}
yd-email-feign/src/main/java/com/yd/email/feign/client/ApiEmailTaskFeignClient.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
client
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.fallback.ApiEmailTaskFeignFallbackFactory
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* 邮箱服务-邮件任务信息(存储邮件发送任务信息)Feign客户端
*/
@FeignClient
(
name
=
"yd-email-api"
,
fallbackFactory
=
ApiEmailTaskFeignFallbackFactory
.
class
)
public
interface
ApiEmailTaskFeignClient
{
/**
* 分页查询-邮件任务(主线任务)
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiEmailTaskPageRequest
request
);
}
yd-email-feign/src/main/java/com/yd/email/feign/client/ApiEmailTaskRecipientsFeignClient.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
client
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.fallback.ApiEmailTaskRecipientsFeignFallbackFactory
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* 邮箱服务-邮件任务收件人信息Feign客户端
*/
@FeignClient
(
name
=
"yd-email-api"
,
fallbackFactory
=
ApiEmailTaskRecipientsFeignFallbackFactory
.
class
)
public
interface
ApiEmailTaskRecipientsFeignClient
{
/**
* 分页查询-邮件收件人任务(支线任务)
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiEmailTaskRecipientsPageRequest
request
);
}
yd-email-feign/src/main/java/com/yd/email/feign/fallback/ApiEmailTaskFeignFallbackFactory.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
fallback
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.client.ApiEmailTaskFeignClient
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 邮箱服务-邮件任务信息(存储邮件发送任务信息)Feign降级处理
*/
@Slf4j
@Component
public
class
ApiEmailTaskFeignFallbackFactory
implements
FallbackFactory
<
ApiEmailTaskFeignClient
>
{
@Override
public
ApiEmailTaskFeignClient
create
(
Throwable
cause
)
{
return
new
ApiEmailTaskFeignClient
()
{
@Override
public
Result
page
(
ApiEmailTaskPageRequest
request
)
{
return
null
;
}
};
}
}
yd-email-feign/src/main/java/com/yd/email/feign/fallback/ApiEmailTaskRecipientsFeignFallbackFactory.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
fallback
;
import
com.yd.common.result.Result
;
import
com.yd.email.feign.client.ApiEmailTaskRecipientsFeignClient
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 邮箱服务-邮件任务收件人信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiEmailTaskRecipientsFeignFallbackFactory
implements
FallbackFactory
<
ApiEmailTaskRecipientsFeignClient
>
{
@Override
public
ApiEmailTaskRecipientsFeignClient
create
(
Throwable
cause
)
{
return
new
ApiEmailTaskRecipientsFeignClient
()
{
@Override
public
Result
page
(
ApiEmailTaskRecipientsPageRequest
request
)
{
return
null
;
}
};
}
}
yd-email-feign/src/main/java/com/yd/email/feign/request/ApiEmailContactImportPageRequest.java
View file @
2d6db1e5
...
@@ -3,6 +3,9 @@ package com.yd.email.feign.request;
...
@@ -3,6 +3,9 @@ package com.yd.email.feign.request;
import
com.yd.common.dto.PageDto
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
@Data
@Data
public
class
ApiEmailContactImportPageRequest
extends
PageDto
{
public
class
ApiEmailContactImportPageRequest
extends
PageDto
{
...
@@ -10,4 +13,16 @@ public class ApiEmailContactImportPageRequest extends PageDto {
...
@@ -10,4 +13,16 @@ public class ApiEmailContactImportPageRequest extends PageDto {
* 收件人邮箱(单个)
* 收件人邮箱(单个)
*/
*/
private
String
receiveEmail
;
private
String
receiveEmail
;
/**
* 当前会话id
*/
@NotBlank
(
message
=
"会话id不能为空"
)
private
String
sessionId
;
/**
* 导入数据的来源 0-选择联系人导入 1-excel导入联系人
*/
@NotNull
(
message
=
"导入数据的来源不能为空"
)
private
Integer
source
;
}
}
yd-email-feign/src/main/java/com/yd/email/feign/request/ApiEmailTaskPageRequest.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
request
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
@Data
public
class
ApiEmailTaskPageRequest
extends
PageDto
{
/**
* 搜索内容(主题或者收件人邮箱地址,模糊搜索)
*/
private
String
queryContent
;
/**
* 任务状态:PENDING-待发送, SENDING-发送中, COMPLETED-已完成, FAILED-发送失败, CANCELLED-已取消
*/
private
String
status
;
}
yd-email-feign/src/main/java/com/yd/email/feign/request/ApiEmailTaskRecipientsPageRequest.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
request
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
@Data
public
class
ApiEmailTaskRecipientsPageRequest
extends
PageDto
{
/**
* 收件人邮箱
*/
private
String
receiveEmail
;
/**
* 收件人邮件状态:PENDING-待发送, SENDING-发送中, COMPLETED-已完成, FAILED-发送失败, CANCELLED-已取消
*/
private
String
status
;
}
yd-email-feign/src/main/java/com/yd/email/feign/response/ApiEmailTaskPageResponse.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
response
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
ApiEmailTaskPageResponse
{
/**
* 邮件任务主表主键ID
*/
private
Long
id
;
/**
* 邮件任务唯一业务ID
*/
private
String
taskBizId
;
/**
* 任务名称
*/
private
String
taskName
;
/**
* 关联发件人唯一业务ID
*/
private
String
senderBizId
;
/**
* 发件人邮箱
*/
private
String
sendEmail
;
/**
* 收件人邮箱(多个用分号分隔)
*/
private
String
receiveEmails
;
/**
* 邮件主题
*/
private
String
subject
;
/**
* 任务状态:PENDING-待发送, SENDING-发送中, COMPLETED-已完成, FAILED-发送失败, CANCELLED-已取消
*/
private
String
status
;
/**
* 计划发送时间(为空表示立即发送,不为空表示定时发送)
*/
private
LocalDateTime
scheduleTime
;
/**
* 实际发送时间(发送成功的时间)
*/
private
LocalDateTime
sendTime
;
}
yd-email-feign/src/main/java/com/yd/email/feign/response/ApiEmailTaskRecipientsPageResponse.java
0 → 100644
View file @
2d6db1e5
package
com
.
yd
.
email
.
feign
.
response
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
@Data
public
class
ApiEmailTaskRecipientsPageResponse
{
/**
* 邮件任务收件人关联表主键ID
*/
private
Long
id
;
/**
* 邮件任务唯一业务ID
*/
private
String
taskBizId
;
/**
* 收件人唯一业务ID(联系人唯一业务ID)
*/
private
String
contactBizId
;
/**
* 收件人邮箱
*/
private
String
receiveEmail
;
/**
* 抄送人邮箱(多个用分号分隔)
*/
private
String
ccEmail
;
/**
* 收件人邮件状态:PENDING-待发送, SENDING-发送中, COMPLETED-已完成, FAILED-发送失败, CANCELLED-已取消
*/
private
String
status
;
/**
* 实际发送时间
*/
private
LocalDateTime
sendTime
;
/**
* 发送失败的错误信息
*/
private
String
errorMsg
;
}
yd-email-service/src/main/java/com/yd/email/service/dao/EmailTaskMapper.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
service
.
dao
;
package
com
.
yd
.
email
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
import
com.yd.email.service.model.EmailTask
;
import
com.yd.email.service.model.EmailTask
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
/**
* <p>
* <p>
...
@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
*/
public
interface
EmailTaskMapper
extends
BaseMapper
<
EmailTask
>
{
public
interface
EmailTaskMapper
extends
BaseMapper
<
EmailTask
>
{
IPage
<
ApiEmailTaskPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiEmailTaskPageResponse
>
page
,
@Param
(
"request"
)
ApiEmailTaskPageRequest
request
);
}
}
yd-email-service/src/main/java/com/yd/email/service/dao/EmailTaskRecipientsMapper.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
service
.
dao
;
package
com
.
yd
.
email
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
/**
* <p>
* <p>
...
@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -13,4 +18,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
*/
public
interface
EmailTaskRecipientsMapper
extends
BaseMapper
<
EmailTaskRecipients
>
{
public
interface
EmailTaskRecipientsMapper
extends
BaseMapper
<
EmailTaskRecipients
>
{
IPage
<
ApiEmailTaskRecipientsPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiEmailTaskRecipientsPageResponse
>
page
,
@Param
(
"request"
)
ApiEmailTaskRecipientsPageRequest
request
);
}
}
yd-email-service/src/main/java/com/yd/email/service/service/IEmailTaskRecipientsService.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
service
.
service
;
package
com
.
yd
.
email
.
service
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
@@ -15,5 +19,8 @@ import java.util.List;
...
@@ -15,5 +19,8 @@ import java.util.List;
*/
*/
public
interface
IEmailTaskRecipientsService
extends
IService
<
EmailTaskRecipients
>
{
public
interface
IEmailTaskRecipientsService
extends
IService
<
EmailTaskRecipients
>
{
IPage
<
ApiEmailTaskRecipientsPageResponse
>
page
(
Page
<
ApiEmailTaskRecipientsPageResponse
>
page
,
ApiEmailTaskRecipientsPageRequest
request
);
List
<
EmailTaskRecipients
>
queryList
(
String
taskBizId
);
List
<
EmailTaskRecipients
>
queryList
(
String
taskBizId
);
}
}
yd-email-service/src/main/java/com/yd/email/service/service/IEmailTaskService.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
service
.
service
;
package
com
.
yd
.
email
.
service
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
import
com.yd.email.service.model.EmailTask
;
import
com.yd.email.service.model.EmailTask
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
@@ -13,5 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -13,5 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
*/
public
interface
IEmailTaskService
extends
IService
<
EmailTask
>
{
public
interface
IEmailTaskService
extends
IService
<
EmailTask
>
{
IPage
<
ApiEmailTaskPageResponse
>
page
(
Page
<
ApiEmailTaskPageResponse
>
page
,
ApiEmailTaskPageRequest
request
);
EmailTask
queryOne
(
String
taskBizId
);
EmailTask
queryOne
(
String
taskBizId
);
}
}
yd-email-service/src/main/java/com/yd/email/service/service/impl/EmailTaskRecipientsServiceImpl.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
service
.
service
.
impl
;
package
com
.
yd
.
email
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.email.feign.request.ApiEmailTaskRecipientsPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse
;
import
com.yd.email.service.model.EmailContactImport
;
import
com.yd.email.service.model.EmailContactImport
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.yd.email.service.model.EmailTaskRecipients
;
import
com.yd.email.service.dao.EmailTaskRecipientsMapper
;
import
com.yd.email.service.dao.EmailTaskRecipientsMapper
;
...
@@ -22,6 +26,12 @@ import java.util.List;
...
@@ -22,6 +26,12 @@ import java.util.List;
@Service
@Service
public
class
EmailTaskRecipientsServiceImpl
extends
ServiceImpl
<
EmailTaskRecipientsMapper
,
EmailTaskRecipients
>
implements
IEmailTaskRecipientsService
{
public
class
EmailTaskRecipientsServiceImpl
extends
ServiceImpl
<
EmailTaskRecipientsMapper
,
EmailTaskRecipients
>
implements
IEmailTaskRecipientsService
{
@Override
public
IPage
<
ApiEmailTaskRecipientsPageResponse
>
page
(
Page
<
ApiEmailTaskRecipientsPageResponse
>
page
,
ApiEmailTaskRecipientsPageRequest
request
)
{
return
baseMapper
.
page
(
page
,
request
);
}
/**
/**
* 根据任务业务id查询邮件任务收件人关联列表
* 根据任务业务id查询邮件任务收件人关联列表
* @param taskBizId
* @param taskBizId
...
...
yd-email-service/src/main/java/com/yd/email/service/service/impl/EmailTaskServiceImpl.java
View file @
2d6db1e5
package
com
.
yd
.
email
.
service
.
service
.
impl
;
package
com
.
yd
.
email
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.email.feign.request.ApiEmailTaskPageRequest
;
import
com.yd.email.feign.response.ApiEmailTaskPageResponse
;
import
com.yd.email.service.model.EmailTask
;
import
com.yd.email.service.model.EmailTask
;
import
com.yd.email.service.dao.EmailTaskMapper
;
import
com.yd.email.service.dao.EmailTaskMapper
;
import
com.yd.email.service.service.IEmailTaskService
;
import
com.yd.email.service.service.IEmailTaskService
;
...
@@ -18,6 +22,12 @@ import org.springframework.stereotype.Service;
...
@@ -18,6 +22,12 @@ import org.springframework.stereotype.Service;
@Service
@Service
public
class
EmailTaskServiceImpl
extends
ServiceImpl
<
EmailTaskMapper
,
EmailTask
>
implements
IEmailTaskService
{
public
class
EmailTaskServiceImpl
extends
ServiceImpl
<
EmailTaskMapper
,
EmailTask
>
implements
IEmailTaskService
{
@Override
public
IPage
<
ApiEmailTaskPageResponse
>
page
(
Page
<
ApiEmailTaskPageResponse
>
page
,
ApiEmailTaskPageRequest
request
)
{
return
baseMapper
.
page
(
page
,
request
);
}
/**
/**
* 查询单个对象
* 查询单个对象
* @param taskBizId
* @param taskBizId
...
...
yd-email-service/src/main/resources/mappers/EmailContactImportMapper.xml
View file @
2d6db1e5
...
@@ -9,6 +9,8 @@
...
@@ -9,6 +9,8 @@
<if
test=
"request.receiveEmail != null and request.receiveEmail != ''"
>
<if
test=
"request.receiveEmail != null and request.receiveEmail != ''"
>
and eci.receive_email like concat('%', #{request.receiveEmail}, '%')
and eci.receive_email like concat('%', #{request.receiveEmail}, '%')
</if>
</if>
and eci.session_id = #{request.sessionId}
and eci.source = #{request.source}
and eci.is_deleted = 0
and eci.is_deleted = 0
</where>
</where>
</select>
</select>
...
...
yd-email-service/src/main/resources/mappers/EmailTaskMapper.xml
View file @
2d6db1e5
...
@@ -2,4 +2,19 @@
...
@@ -2,4 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.email.service.dao.EmailTaskMapper"
>
<mapper
namespace=
"com.yd.email.service.dao.EmailTaskMapper"
>
<select
id=
"page"
resultType=
"com.yd.email.feign.response.ApiEmailTaskPageResponse"
>
select
et.*,
GROUP_CONCAT(etr.receive_email SEPARATOR ';') as receiveEmails
from email_task et
left join email_task_recipients etr on etr.task_biz_id = et.task_biz_id and etr.is_deleted = 0
<where>
<if
test=
"request.queryContent != null and request.queryContent != ''"
>
and ( et.subject like concat('%', #{request.queryContent}, '%') or etr.receive_email like concat('%', #{request.queryContent}, '%') )
</if>
and et.is_deleted = 0
</where>
group by et.id
</select>
</mapper>
</mapper>
yd-email-service/src/main/resources/mappers/EmailTaskRecipientsMapper.xml
View file @
2d6db1e5
...
@@ -2,4 +2,19 @@
...
@@ -2,4 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.email.service.dao.EmailTaskRecipientsMapper"
>
<mapper
namespace=
"com.yd.email.service.dao.EmailTaskRecipientsMapper"
>
<select
id=
"page"
resultType=
"com.yd.email.feign.response.ApiEmailTaskRecipientsPageResponse"
>
select etr.* from email_task_recipients etr
<where>
<if
test=
"request.receiveEmail != null and request.receiveEmail != ''"
>
and etr.receive_email like concat('%', #{request.receiveEmail}, '%')
</if>
<if
test=
"request.status != null and request.status != ''"
>
and etr.status = #{request.status}
</if>
and etr.is_deleted = 0
</where>
</select>
</mapper>
</mapper>
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