Commit 17c3b0e8 by chentianzhong

1111

parent 4a359871
...@@ -9,6 +9,8 @@ import cn.hutool.core.util.*; ...@@ -9,6 +9,8 @@ import cn.hutool.core.util.*;
import cn.hutool.extra.servlet.ServletUtil; import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.zq.common.annotation.AnonymousAccess; import com.zq.common.annotation.AnonymousAccess;
import com.zq.common.annotation.rest.AnonymousGetMapping; import com.zq.common.annotation.rest.AnonymousGetMapping;
import com.zq.common.utils.AssertUtils; import com.zq.common.utils.AssertUtils;
...@@ -75,24 +77,28 @@ public class EmailAttachController { ...@@ -75,24 +77,28 @@ public class EmailAttachController {
@ApiOperation("前端调用下载前,判断文件是否是否可以下载") @ApiOperation("前端调用下载前,判断文件是否是否可以下载")
@AnonymousGetMapping("/preDownload/{id}") @AnonymousGetMapping("/preDownload/{id}")
public ResultVo preDownload(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") Long id) { public ResultVo preDownload(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") Long id) {
EmailAttach emailAttach = emailAttachService.getById(id); EmailAttach emailAttach = emailAttachService.getById(id);
AssertUtils.notNull(emailAttach, "获取附件信息失败"); AssertUtils.notNull(emailAttach, "获取附件信息失败");
byte[] bytes = null;
if (StrUtil.isNotBlank(emailAttach.getDownloadPath())){
bytes = emailAttachService.downloadNewOaFileByte(emailAttach);
}else{
bytes = emailAttachService.downloadFileByte1(emailAttach);
if (bytes == null){
bytes = emailAttachService.downloadFileByte2(emailAttach);
}
}
String download = emailAttachService.getDownloadPath(emailAttach); if (bytes == null){
AssertUtils.hasText(download, "下载地址为空"); if (profile.contains("wan")){
log.info("下载文件地址:" + download); return ResultVo.fail("文件超过安全时间,禁止从外网访问下载");
try { }else{
byte[] bytes = HttpUtil.downloadBytes(download);
AssertUtils.isTrue(ArrayUtil.isNotEmpty(bytes), "下载文件失败,文件为空");
return ResultVo.success();
} catch (Exception e) {
log.error("下载文件失败:" + e.getLocalizedMessage(), e);
if (profile.contains("wan")) {
return ResultVo.fail("文件可能超过安全时间,禁止从外网访问下载,请从内网查看下载");
} else {
return ResultVo.fail("下载文件失败,文件可能不存在"); return ResultVo.fail("下载文件失败,文件可能不存在");
} }
} }
return ResultVo.success();
} }
@ApiOperation("pc统一下载附件和移动端旧附件下载") @ApiOperation("pc统一下载附件和移动端旧附件下载")
...@@ -100,23 +106,44 @@ public class EmailAttachController { ...@@ -100,23 +106,44 @@ public class EmailAttachController {
public void download(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") Long id) { public void download(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") Long id) {
EmailAttach emailAttach = emailAttachService.getById(id); EmailAttach emailAttach = emailAttachService.getById(id);
AssertUtils.notNull(emailAttach, "获取附件信息失败"); AssertUtils.notNull(emailAttach, "获取附件信息失败");
byte[] bytes = null;
String download = emailAttachService.getDownloadPath(emailAttach);
AssertUtils.hasText(download, "下载地址为空");
log.info("下载文件地址:" +download);
try { try {
byte[] bytes = HttpUtil.downloadBytes(download); if (StrUtil.isNotBlank(emailAttach.getDownloadPath())){
response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + URLEncoder.encode(emailAttach.getAttachName(),"UTF-8")); bytes = emailAttachService.downloadNewOaFileByte(emailAttach);
response.setCharacterEncoding("UTF-8"); }else{
//ServletUtil.write(response, IoUtil.toStream(bytes),"application/octet-stream"); bytes = emailAttachService.downloadFileByte1(emailAttach);
ServletUtil.write(response, IoUtil.toStream(bytes), FileUtil.getMimeType(emailAttach.getAttachName())!=null?FileUtil.getMimeType(emailAttach.getAttachName()):"application/octet-stream"); if (bytes == null){
bytes = emailAttachService.downloadFileByte2(emailAttach);
}
}
if (bytes!=null){
response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + URLEncoder.encode(emailAttach.getAttachName(),"UTF-8"));
response.setCharacterEncoding("UTF-8");
//ServletUtil.write(response, IoUtil.toStream(bytes),"application/octet-stream");
ServletUtil.write(response,
IoUtil.toStream(bytes),
FileUtil.getMimeType(emailAttach.getAttachName())!=null?FileUtil.getMimeType(emailAttach.getAttachName()):"application/octet-stream");
}else{
if (profile.contains("wan")){
AssertUtils.isTrue(false, "文件超过安全时间,禁止从外网访问下载");
}else{
AssertUtils.isTrue(false, "下载文件失败,文件可能不存在");
}
//ServletUtil.write(response, JSON.toJSONString(fail, SerializerFeature.WriteMapNullValue), "application/json;charset=utf-8");
}
} catch (Exception e) { } catch (Exception e) {
log.error("下载文件失败:" + e.getLocalizedMessage(), e); log.error(e.getLocalizedMessage(), e);
if (profile.contains("wan")){ if (profile.contains("wan")){
AssertUtils.isTrue(false, "文件超过安全时间,禁止从外网访问下载"); AssertUtils.isTrue(false, "文件超过安全时间,禁止从外网访问下载");
}else{ }else{
AssertUtils.isTrue(false, "下载文件失败,文件可能不存在"); AssertUtils.isTrue(false, "下载文件失败,文件可能不存在");
} }
//ServletUtil.write(response, JSON.toJSONString(ResultVo.fail("下载文件失败:未知异常"), SerializerFeature.WriteMapNullValue), "application/json;charset=utf-8");
} }
} }
......
...@@ -12,6 +12,7 @@ import com.zq.email.enums.SearchRangeEnum; ...@@ -12,6 +12,7 @@ import com.zq.email.enums.SearchRangeEnum;
import com.zq.email.enums.WhetherEnum; import com.zq.email.enums.WhetherEnum;
import com.zq.email.service.IEmailContentService; import com.zq.email.service.IEmailContentService;
import com.zq.email.service.IEmailPersonService; import com.zq.email.service.IEmailPersonService;
import com.zq.email.utils.DateUtils;
import com.zq.email.vo.*; import com.zq.email.vo.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
...@@ -53,6 +55,11 @@ public class EmailController { ...@@ -53,6 +55,11 @@ public class EmailController {
public ResultVo total(@RequestBody EmailReqVo vo) { public ResultVo total(@RequestBody EmailReqVo vo) {
AssertUtils.notNull(vo.getSearchRange(), "缺少参数:searchRange"); AssertUtils.notNull(vo.getSearchRange(), "缺少参数:searchRange");
AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId"); AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId");
if (vo.getSearchStartTime() ==null && vo.getSearchStopTime()==null){
vo.setSearchStartTime(DateUtils.getRangeStart(0));
vo.setSearchStopTime(LocalDateTime.now());
}
return ResultVo.success(emailPersonService.emailCount(vo)); return ResultVo.success(emailPersonService.emailCount(vo));
} }
...@@ -61,6 +68,12 @@ public class EmailController { ...@@ -61,6 +68,12 @@ public class EmailController {
public ResultVo page(@RequestBody EmailReqVo vo) { public ResultVo page(@RequestBody EmailReqVo vo) {
AssertUtils.notNull(vo.getSearchRange(), "缺少参数:searchRange"); AssertUtils.notNull(vo.getSearchRange(), "缺少参数:searchRange");
AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId"); AssertUtils.notNull(vo.getFolderId(), "缺少参数:folderId");
if (vo.getSearchStartTime() ==null && vo.getSearchStopTime()==null){
vo.setSearchStartTime(DateUtils.getRangeStart(0));
vo.setSearchStopTime(LocalDateTime.now());
}
return ResultVo.success(emailPersonService.emailPage(vo)); return ResultVo.success(emailPersonService.emailPage(vo));
} }
......
...@@ -45,6 +45,9 @@ public class EmailContent implements Serializable { ...@@ -45,6 +45,9 @@ public class EmailContent implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String sendUserPhoto; private String sendUserPhoto;
@TableField(exist = false)
private String sendUserDeptName;
private String sendUserName; private String sendUserName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
......
...@@ -71,6 +71,9 @@ public interface AdminFeignClient { ...@@ -71,6 +71,9 @@ public interface AdminFeignClient {
ResultVo<CustomerUserVo> getBypCode(@PathVariable String pCode); ResultVo<CustomerUserVo> getBypCode(@PathVariable String pCode);
@AnonymousGetMapping("/dept/getDeptWholeName/{deptId}")
public ResultVo<String> getDeptWholeName(@PathVariable("deptId") Long deptId);
......
...@@ -84,6 +84,11 @@ public class AdminFeignFallbackFactory implements FallbackFactory<AdminFeignClie ...@@ -84,6 +84,11 @@ public class AdminFeignFallbackFactory implements FallbackFactory<AdminFeignClie
return ResultVo.fail("admin服务调用异常-->get> getBypCode异常"); return ResultVo.fail("admin服务调用异常-->get> getBypCode异常");
} }
@Override
public ResultVo<String> getDeptWholeName(Long deptId) {
return ResultVo.fail("admin服务调用异常-->get> getDeptWholeName");
}
}; };
} }
......
...@@ -29,6 +29,18 @@ public interface IEmailAttachService extends IService<EmailAttach> { ...@@ -29,6 +29,18 @@ public interface IEmailAttachService extends IService<EmailAttach> {
String getWpsPreviewUrl(Long id); String getWpsPreviewUrl(Long id);
String getDownloadPath2(Long id);
String getDownloadPath2(EmailAttach emailAttach);
String getWpsPreviewUrl2(Long id);
byte[] downloadFileByte1(EmailAttach emailAttach);
byte[] downloadFileByte2(EmailAttach emailAttach);
byte[] downloadNewOaFileByte(EmailAttach emailAttach);
void updateAttachByContentId(EmailContent emailContent, List<Long> fileIds); void updateAttachByContentId(EmailContent emailContent, List<Long> fileIds);
void addAttachByContentId(EmailContent emailContent, List<MultipartFile> fileList); void addAttachByContentId(EmailContent emailContent, List<MultipartFile> fileList);
......
...@@ -83,13 +83,9 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -83,13 +83,9 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
.eq(vo.getPersonType()!=null, EmailPerson::getPersonType, vo.getPersonType()) .eq(vo.getPersonType()!=null, EmailPerson::getPersonType, vo.getPersonType())
.eq(vo.getIsPerson()!=null, EmailPerson::getIsPerson, vo.getIsPerson()) .eq(vo.getIsPerson()!=null, EmailPerson::getIsPerson, vo.getIsPerson())
.eq(vo.getIsRead()!=null, EmailPerson::getIsRead, vo.getIsRead()) .eq(vo.getIsRead()!=null, EmailPerson::getIsRead, vo.getIsRead())
.eq(vo.getIsSend()!=null, EmailPerson::getIsSend, vo.getIsSend()); .eq(vo.getIsSend()!=null, EmailPerson::getIsSend, vo.getIsSend())
.ge(vo.getSearchStartTime()!=null, EmailPerson::getSendTime, vo.getSearchStartTime())
if (DateUtils.getRangeStart(vo.getSearchRange()) !=null){ .le(vo.getSearchStopTime()!=null, EmailPerson::getSendTime, vo.getSearchStopTime());
queryWrapper.ge(EmailPerson::getSendTime, DateUtils.getRangeStart(vo.getSearchRange()));
queryWrapper.le(EmailPerson::getSendTime, LocalDateTime.now());
}
Integer count = this.count(queryWrapper); Integer count = this.count(queryWrapper);
return count!=null?count:0; return count!=null?count:0;
} }
...@@ -108,13 +104,18 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -108,13 +104,18 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
.eq(vo.getPersonType()!=null, EmailPerson::getPersonType, vo.getPersonType()) .eq(vo.getPersonType()!=null, EmailPerson::getPersonType, vo.getPersonType())
.eq(vo.getIsPerson()!=null, EmailPerson::getIsPerson, vo.getIsPerson()) .eq(vo.getIsPerson()!=null, EmailPerson::getIsPerson, vo.getIsPerson())
.eq(vo.getIsRead()!=null, EmailPerson::getIsRead, vo.getIsRead()) .eq(vo.getIsRead()!=null, EmailPerson::getIsRead, vo.getIsRead())
.eq(vo.getIsSend()!=null, EmailPerson::getIsSend, vo.getIsSend()); .eq(vo.getIsSend()!=null, EmailPerson::getIsSend, vo.getIsSend())
.ge(vo.getSearchStartTime()!=null, EmailPerson::getSendTime, vo.getSearchStartTime())
.le(vo.getSearchStopTime()!=null, EmailPerson::getSendTime, vo.getSearchStopTime());
// if (DateUtils.getRangeStart(vo.getSearchRange()) !=null){
// queryWrapper.ge(EmailPerson::getSendTime, DateUtils.getRangeStart(vo.getSearchRange()));
// queryWrapper.le(EmailPerson::getSendTime, LocalDateTime.now());
// }
if (DateUtils.getRangeStart(vo.getSearchRange()) !=null){
queryWrapper.ge(EmailPerson::getSendTime, DateUtils.getRangeStart(vo.getSearchRange()));
queryWrapper.le(EmailPerson::getSendTime, LocalDateTime.now());
}
//queryWrapper.orderByAsc(EmailPerson::getIsRead).orderByDesc(EmailPerson::getSendTime); //queryWrapper.orderByAsc(EmailPerson::getIsRead).orderByDesc(EmailPerson::getSendTime);
queryWrapper.orderByDesc(EmailPerson::getSendTime); //.orderByAsc(EmailPerson::getIsRead); queryWrapper.orderByDesc(EmailPerson::getSendTime); //.orderByAsc(EmailPerson::getIsRead);
...@@ -134,17 +135,19 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -134,17 +135,19 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
ResultVo<UserDto> senderVo = adminFeignClient.findById(content.getSendUserId()); ResultVo<UserDto> senderVo = adminFeignClient.findById(content.getSendUserId());
if (senderVo.isSuccess() && senderVo.getData() !=null){ if (senderVo.isSuccess() && senderVo.getData() !=null){
UserDto data = senderVo.getData(); UserDto data = senderVo.getData();
UserDto userDto = new UserDto();
if (profile.contains("wan")) { if (profile.contains("wan")) {
if (StrUtil.isNotBlank(data.getPhoto())){ if (StrUtil.isNotBlank(data.getPhoto())){
String replace = data.getPhoto() String replace = data.getPhoto()
.replace("http://147.1.3.87", "http://172.28.1.159:82") .replace("http://147.1.3.87", "http://172.28.1.159:82")
.replace("http://147.2.3.3", "http://172.28.1.71"); .replace("http://147.2.3.3", "http://172.28.1.71");
content.setSendUserPhoto(replace); content.setSendUserPhoto(replace);
} }
}else{ }else{
content.setSendUserPhoto(data.getPhoto()); content.setSendUserPhoto(data.getPhoto());
} }
ResultVo<String> deptWholeName = adminFeignClient.getDeptWholeName(data.getDept().getId());
content.setSendUserDeptName(deptWholeName.getData());
} }
} }
record.setEmailContent(content); record.setEmailContent(content);
...@@ -170,6 +173,8 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -170,6 +173,8 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
vo.setIsSend(WhetherEnum.YES.getKey()); vo.setIsSend(WhetherEnum.YES.getKey());
Page<EmailPerson> page = new Page<>(vo.getPage(), vo.getSize()); Page<EmailPerson> page = new Page<>(vo.getPage(), vo.getSize());
page.setSearchCount(false).setOptimizeCountSql(false);
page = this.baseMapper.selectSearchPage(page, vo); page = this.baseMapper.selectSearchPage(page, vo);
if (page!=null && page.getRecords()!=null){ if (page!=null && page.getRecords()!=null){
for (EmailPerson person : page.getRecords()) { for (EmailPerson person : page.getRecords()) {
...@@ -842,7 +847,10 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email ...@@ -842,7 +847,10 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
content.setSendUserPhoto(data.getPhoto()); content.setSendUserPhoto(data.getPhoto());
//userDto.setPhoto(data.getPhoto()); //userDto.setPhoto(data.getPhoto());
} }
ResultVo<String> deptWholeName = adminFeignClient.getDeptWholeName(data.getDept().getId());
content.setSendUserDeptName(deptWholeName.getData());
} }
} }
person.setEmailContent(content); person.setEmailContent(content);
} }
......
package com.zq.email.vo; package com.zq.email.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sun.org.apache.xpath.internal.operations.Bool; import com.sun.org.apache.xpath.internal.operations.Bool;
import com.zq.common.vo.PageReqVo; import com.zq.common.vo.PageReqVo;
import com.zq.email.constants.EmailConstant; import com.zq.email.constants.EmailConstant;
...@@ -10,7 +11,9 @@ import com.zq.email.enums.WhetherEnum; ...@@ -10,7 +11,9 @@ import com.zq.email.enums.WhetherEnum;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -81,4 +84,15 @@ public class EmailReqVo extends PageReqVo { ...@@ -81,4 +84,15 @@ public class EmailReqVo extends PageReqVo {
@ApiModelProperty("发送人Id,邮件管理查询用。") @ApiModelProperty("发送人Id,邮件管理查询用。")
private Long sendUserId; private Long sendUserId;
@ApiModelProperty("查询开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime searchStartTime;
@ApiModelProperty("查询结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime searchStopTime;
} }
...@@ -3,7 +3,7 @@ spring: ...@@ -3,7 +3,7 @@ spring:
datasource: datasource:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: ${jdbc.driver-class-name} driverClassName: ${jdbc.db1.driver-class-name}
username: ${jdbc.db1.username} username: ${jdbc.db1.username}
password: ${jdbc.db1.password} password: ${jdbc.db1.password}
url: ${jdbc.db1.base-url}/EMAIL url: ${jdbc.db1.base-url}/EMAIL
......
...@@ -3,10 +3,10 @@ spring: ...@@ -3,10 +3,10 @@ spring:
datasource: datasource:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: ${jdbc.driver-class-name} driverClassName: ${jdbc.db1.driver-class-name}
username: ${jdbc.db1.username} username: ${jdbc.db1.username}
password: ${jdbc.db1.password} password: ${jdbc.db1.password}
url: ${jdbc.db1.base-url}/EMAIL_NEW?ConfigurePath=/opt/db-config/EMAIL/jdbc_new.conf url: ${jdbc.db1.base-url}/EMAIL_NEW?${jdbc.db1.params}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5
# 最小连接数 # 最小连接数
......
...@@ -3,7 +3,7 @@ spring: ...@@ -3,7 +3,7 @@ spring:
datasource: datasource:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: ${jdbc.driver-class-name} driverClassName: ${jdbc.db1.driver-class-name}
username: ${jdbc.db1.username} username: ${jdbc.db1.username}
password: ${jdbc.db1.password} password: ${jdbc.db1.password}
url: ${jdbc.db1.base-url}/EMAIL_NEW url: ${jdbc.db1.base-url}/EMAIL_NEW
......
server: server:
port: 8198 port: 8198
max-http-header-size: 4048576
#配置数据源 #配置数据源
spring: spring:
application: application:
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<configuration> <configuration>
<contextName>logback</contextName> <contextName>logback</contextName>
<property name="log.path" value="/data/logs/${LOG_PATH:-${PROJECT_NAME}}"/> <property name="log.path" value="/data/logs/email"/>
<!--主要日志文件名--> <!--主要日志文件名-->
<property name="default_log_file" value="email"/> <property name="default_log_file" value="email"/>
<!-- 彩色日志依赖的渲染类 --> <!-- 彩色日志依赖的渲染类 -->
......
...@@ -4,7 +4,14 @@ ...@@ -4,7 +4,14 @@
<select id="selectSearchTotal" resultType="integer" parameterType="com.zq.email.vo.EmailSearchReqVo"> <select id="selectSearchTotal" resultType="integer" parameterType="com.zq.email.vo.EmailSearchReqVo">
SELECT SELECT
COUNT(1) count(*)
FROM
"EMAIL_PERSON" EP1
WHERE
EP1."ID" IN
(
SELECT
EP."ID"
FROM FROM
"EMAIL_PERSON" EP "EMAIL_PERSON" EP
<where> <where>
...@@ -49,7 +56,6 @@ ...@@ -49,7 +56,6 @@
) )
</if> </if>
<!-- 其他文件夹,发件人、标题、内容 -->
<if test="s.sendUserId != null or (s.title!=null and s.title!='') or (s.content!=null and s.content!='')"> <if test="s.sendUserId != null or (s.title!=null and s.title!='') or (s.content!=null and s.content!='')">
AND EP."EMAIL_CONTENT_ID" IN( AND EP."EMAIL_CONTENT_ID" IN(
SELECT SELECT
...@@ -71,7 +77,7 @@ ...@@ -71,7 +77,7 @@
</where> </where>
) )
</if> </if>
<!-- 附件名称-->
<if test="s.attachName!=null and s.attachName!=''"> <if test="s.attachName!=null and s.attachName!=''">
AND EP."EMAIL_CONTENT_ID" IN( AND EP."EMAIL_CONTENT_ID" IN(
SELECT SELECT
...@@ -83,7 +89,8 @@ ...@@ -83,7 +89,8 @@
) )
</if> </if>
</where> </where>
GROUP BY EP.id GROUP BY EP."ID"
)
</select> </select>
......
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