Commit a623f4b9 by zhangxingmin

Merge remote-tracking branch 'origin/dev_zxm' into test

parents fdfe93b8 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);
}
}
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);
}
}
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 {
}
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 {
}
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);
} }
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);
}
...@@ -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);
......
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 收件人邮件状态
......
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);
}
}
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);
}
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);
}
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;
}
};
}
}
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;
}
};
}
}
...@@ -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;
} }
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;
}
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;
}
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;
}
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;
}
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);
} }
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);
} }
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);
} }
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);
} }
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
......
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
......
...@@ -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>
......
...@@ -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>
...@@ -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>
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