Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
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
陈天仲
email
Commits
bbc35999
Commit
bbc35999
authored
Mar 16, 2023
by
chentianzhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提一个版本
parent
827fd30d
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
416 additions
and
92 deletions
+416
-92
pom.xml
+4
-3
src/main/java/com/zq/email/config/SpringSecurityConfig.java
+0
-1
src/main/java/com/zq/email/controller/EmailAttachController.java
+97
-4
src/main/java/com/zq/email/controller/EmailController.java
+9
-0
src/main/java/com/zq/email/controller/EmailPersonController.java
+1
-1
src/main/java/com/zq/email/dto/Person.java
+16
-0
src/main/java/com/zq/email/feign/FileFeignClient.java
+5
-0
src/main/java/com/zq/email/feign/fallback/FileFeignFallbackFactory.java
+7
-0
src/main/java/com/zq/email/mapper/EmailPersonMapper.java
+5
-0
src/main/java/com/zq/email/service/IEmailContentService.java
+2
-0
src/main/java/com/zq/email/service/IEmailPersonService.java
+4
-0
src/main/java/com/zq/email/service/impl/EmailContentServiceImpl.java
+22
-0
src/main/java/com/zq/email/service/impl/EmailPersonServiceImpl.java
+34
-12
src/main/java/com/zq/email/utils/DateUtils.java
+8
-3
src/main/java/com/zq/email/utils/SmsUtil.java
+9
-8
src/main/java/com/zq/email/vo/EmailReqVo.java
+2
-0
src/main/java/com/zq/email/vo/FileViewVo.java
+19
-0
src/main/resources/application-product.yml
+2
-2
src/main/resources/application-test.yml
+2
-2
src/main/resources/logback-spring.xml
+4
-4
src/main/resources/mapper/EmailPersonMapper.xml
+164
-52
No files found.
pom.xml
View file @
bbc35999
...
@@ -10,10 +10,10 @@
...
@@ -10,10 +10,10 @@
</parent>
</parent>
<groupId>
com.zq
</groupId>
<groupId>
com.zq
</groupId>
<artifactId>
email-server
</artifactId>
<artifactId>
oa-
email-server
</artifactId>
<version>
1.0.0
</version>
<version>
1.0.0
</version>
<name>
email-server
</name>
<name>
oa-
email-server
</name>
<description>
内部邮件后端服务
</description>
<description>
内部邮件后端服务
</description>
<properties>
<properties>
...
@@ -153,6 +153,7 @@
...
@@ -153,6 +153,7 @@
<version>
1.4.7
</version>
<version>
1.4.7
</version>
</dependency>
</dependency>
</dependencies>
</dependencies>
<dependencyManagement>
<dependencyManagement>
...
@@ -254,7 +255,7 @@
...
@@ -254,7 +255,7 @@
<properties>
<properties>
<profiles.active>
test
</profiles.active>
<profiles.active>
test
</profiles.active>
<logging.level>
debug
</logging.level>
<logging.level>
debug
</logging.level>
<eureka.server.url>
http://admin:GXfy2021@147.2.3.
2
:8800/eureka/
</eureka.server.url>
<eureka.server.url>
http://admin:GXfy2021@147.2.3.
14
:8800/eureka/
</eureka.server.url>
</properties>
</properties>
</profile>
</profile>
<profile>
<profile>
...
...
src/main/java/com/zq/email/config/SpringSecurityConfig.java
View file @
bbc35999
...
@@ -78,7 +78,6 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
...
@@ -78,7 +78,6 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
Map
<
String
,
Set
<
String
>>
anonymousUrls
=
getAnonymousUrl
(
handlerMethodMap
);
Map
<
String
,
Set
<
String
>>
anonymousUrls
=
getAnonymousUrl
(
handlerMethodMap
);
Set
<
String
>
allType
=
anonymousUrls
.
get
(
RequestMethodEnum
.
ALL
.
getType
());
Set
<
String
>
allType
=
anonymousUrls
.
get
(
RequestMethodEnum
.
ALL
.
getType
());
//不使用注解的时候在这添加url放行
//不使用注解的时候在这添加url放行
allType
.
add
(
"/data/file/sealPlatform/**"
);
//放行静态资源
httpSecurity
httpSecurity
// 禁用 CSRF
// 禁用 CSRF
.
csrf
().
disable
()
.
csrf
().
disable
()
...
...
src/main/java/com/zq/email/controller/EmailAttachController.java
View file @
bbc35999
...
@@ -2,21 +2,30 @@ package com.zq.email.controller;
...
@@ -2,21 +2,30 @@ package com.zq.email.controller;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.zq.common.annotation.AnonymousAccess
;
import
com.zq.common.annotation.AnonymousAccess
;
import
com.zq.common.annotation.rest.AnonymousGetMapping
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.TokenUtils
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.entity.EmailAttach
;
import
com.zq.email.entity.EmailAttach
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailPerson
;
import
com.zq.email.entity.EmailPerson
;
import
com.zq.email.feign.FileFeignClient
;
import
com.zq.email.service.IEmailAttachService
;
import
com.zq.email.service.IEmailAttachService
;
import
com.zq.email.vo.EmailDetailVo
;
import
com.zq.email.vo.EmailDetailVo
;
import
com.zq.email.vo.FileViewVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.io.Resource
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
...
@@ -24,6 +33,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -24,6 +33,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.ByteArrayOutputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.OutputStream
;
import
java.io.OutputStream
;
import
java.nio.charset.StandardCharsets
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashMap
;
/**
/**
* <p>
* <p>
...
@@ -41,23 +51,24 @@ import java.nio.charset.StandardCharsets;
...
@@ -41,23 +51,24 @@ import java.nio.charset.StandardCharsets;
public
class
EmailAttachController
{
public
class
EmailAttachController
{
private
final
IEmailAttachService
emailAttachService
;
private
final
IEmailAttachService
emailAttachService
;
@Value
(
"${spring.cloud.config.profile"
)
private
final
FileFeignClient
fileFeignClient
;
@Value
(
"${spring.cloud.config.profile}"
)
private
String
profile
;
private
String
profile
;
@ApiOperation
(
"获取附件"
)
@ApiOperation
(
"获取附件"
)
@PostMapping
@PostMapping
public
ResultVo
detail
(
@RequestBody
EmailDetailVo
vo
)
{
public
ResultVo
emailAttach
(
@RequestBody
EmailDetailVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
return
ResultVo
.
success
(
emailAttachService
.
findByContentId
(
vo
.
getContentId
()));
return
ResultVo
.
success
(
emailAttachService
.
findByContentId
(
vo
.
getContentId
()));
}
}
@ApiOperation
(
"下载附件"
)
@ApiOperation
(
"下载附件"
)
@AnonymousAccess
@AnonymousGetMapping
(
"/download/{id}"
)
@GetMapping
(
"/download/{id}"
)
public
void
download
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
(
"id"
)
String
id
)
{
public
void
download
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
(
"id"
)
String
id
)
{
EmailAttach
emailAttach
=
emailAttachService
.
getById
(
id
);
EmailAttach
emailAttach
=
emailAttachService
.
getById
(
id
);
AssertUtils
.
notNull
(
emailAttach
,
"获取附件信息失败"
);
AssertUtils
.
notNull
(
emailAttach
,
"获取附件信息失败"
);
String
download
=
emailAttach
.
getDownloadPath
();
String
download
=
emailAttach
.
getDownloadPath
();
log
.
info
(
"文件下载地址1111:{}"
,
download
);
if
(
StrUtil
.
isBlank
(
download
)){
if
(
StrUtil
.
isBlank
(
download
)){
String
year
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyy"
);
String
year
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyy"
);
String
yearMonth
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyyMM"
);
String
yearMonth
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyyMM"
);
...
@@ -68,7 +79,12 @@ public class EmailAttachController {
...
@@ -68,7 +79,12 @@ public class EmailAttachController {
}
else
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
)){
}
else
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
)){
download
=
"http://172.28.1.159:82/attwjsf_yj"
+
path
;
download
=
"http://172.28.1.159:82/attwjsf_yj"
+
path
;
}
}
}
else
{
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
))
{
download
.
replaceAll
(
"147.2.3.3"
,
"172.28.1.70"
);
}
}
}
log
.
info
(
"文件下载地址2222:{}"
,
download
);
AssertUtils
.
hasText
(
download
,
"下载地址为空"
);
AssertUtils
.
hasText
(
download
,
"下载地址为空"
);
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
try
{
try
{
...
@@ -88,8 +104,85 @@ public class EmailAttachController {
...
@@ -88,8 +104,85 @@ public class EmailAttachController {
AssertUtils
.
isTrue
(
false
,
"网络异常,下载文件失败"
);
AssertUtils
.
isTrue
(
false
,
"网络异常,下载文件失败"
);
}
}
}
@ApiOperation
(
"查看附件下载地址"
)
@GetMapping
(
"/downloadPath/{id}"
)
public
ResultVo
downloadPath
(
@PathVariable
(
"id"
)
String
id
)
{
EmailAttach
emailAttach
=
emailAttachService
.
getById
(
id
);
AssertUtils
.
notNull
(
emailAttach
,
"获取附件信息失败"
);
String
download
=
emailAttach
.
getDownloadPath
();
log
.
info
(
"文件下载地址 downloadPath 1111:{}"
,
download
);
if
(
StrUtil
.
isBlank
(
download
))
{
String
year
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyy"
);
String
yearMonth
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyyMM"
);
String
yearMonthDate
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyyMMdd"
);
String
path
=
"/"
+
year
+
"/"
+
yearMonth
+
"/"
+
yearMonthDate
+
"/"
+
emailAttach
.
getAttachId
()
+
"/"
+
emailAttach
.
getAttachName
();
if
(
profile
.
equals
(
"product"
)
||
profile
.
equals
(
"test"
))
{
download
=
"http://147.1.3.87/attwjsf_email"
+
path
;
}
else
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
))
{
download
=
"http://172.28.1.159:82/attwjsf_yj"
+
path
;
}
}
else
{
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
))
{
download
.
replaceAll
(
"147.2.3.3"
,
"172.28.1.70"
);
}
}
AssertUtils
.
hasText
(
download
,
"获取到的下载地址为空"
);
return
ResultVo
.
success
(
download
);
}
@ApiOperation
(
"wps预览"
)
@GetMapping
(
"/viewFileByWps/{id}"
)
public
ResultVo
viewFileByWps
(
@PathVariable
(
"id"
)
String
id
)
{
OnlineUserDto
adminContext
=
TokenUtils
.
getAdminContext
();
AssertUtils
.
notNull
(
adminContext
,
"登录已失效,请重新登录后再次尝试!"
);
EmailAttach
emailAttach
=
emailAttachService
.
getById
(
id
);
AssertUtils
.
notNull
(
emailAttach
,
"获取附件信息失败"
);
AssertUtils
.
notNull
(
emailAttach
.
getAttachName
(),
"附件名称为空"
);
String
suffix
=
emailAttach
.
getAttachName
().
substring
(
emailAttach
.
getAttachName
().
lastIndexOf
(
"."
)
+
1
);
String
download
=
emailAttach
.
getDownloadPath
();
log
.
info
(
"文件下载地址 downloadPath 1111:{}"
,
download
);
if
(
StrUtil
.
isBlank
(
download
))
{
String
year
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyy"
);
String
yearMonth
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyyMM"
);
String
yearMonthDate
=
DateUtil
.
format
(
emailAttach
.
getSendTime
(),
"yyyyMMdd"
);
String
path
=
"/"
+
year
+
"/"
+
yearMonth
+
"/"
+
yearMonthDate
+
"/"
+
emailAttach
.
getAttachId
()
+
"/"
+
emailAttach
.
getAttachName
();
if
(
profile
.
equals
(
"product"
)
||
profile
.
equals
(
"test"
))
{
download
=
"http://147.1.3.87/attwjsf_email"
+
path
;
}
else
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
))
{
download
=
"http://172.28.1.159:82/attwjsf_yj"
+
path
;
}
}
else
{
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
))
{
download
.
replaceAll
(
"147.2.3.3"
,
"172.28.1.70"
);
}
}
log
.
info
(
"文件下载地址 downloadPath 222:{}"
,
download
);
AssertUtils
.
hasText
(
download
,
"获取到的下载地址为空"
);
//调用文件服务wps
FileViewVo
viewVo
=
new
FileViewVo
();
viewVo
.
setFileId
(
IdUtil
.
fastSimpleUUID
());
viewVo
.
setDownloadPath
(
download
);
viewVo
.
setFileType
(
suffix
);
viewVo
.
setFileName
(
emailAttach
.
getAttachName
());
viewVo
.
setUserId
(
String
.
valueOf
(
adminContext
.
getUserId
()));
ResultVo
<
String
>
resultVo
=
fileFeignClient
.
getViewUrlByDownloadPath
(
viewVo
);
log
.
info
(
"中台返回结果:"
+
JSONUtil
.
toJsonStr
(
resultVo
));
String
linkUrl
=
""
;
if
(
resultVo
.
isSuccess
()
&&
StrUtil
.
isNotBlank
(
resultVo
.
getData
())){
linkUrl
=
resultVo
.
getData
();
}
AssertUtils
.
hasText
(
linkUrl
,
"调用wps组件失败,失败原因("
+
resultVo
.
getErrMsg
()+
")"
);
return
ResultVo
.
success
(
linkUrl
);
}
}
}
}
src/main/java/com/zq/email/controller/EmailController.java
View file @
bbc35999
...
@@ -4,6 +4,7 @@ package com.zq.email.controller;
...
@@ -4,6 +4,7 @@ package com.zq.email.controller;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.TokenUtils
;
import
com.zq.common.utils.TokenUtils
;
import
com.zq.common.vo.CustomerUserVo
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailContent
;
...
@@ -198,6 +199,14 @@ public class EmailController {
...
@@ -198,6 +199,14 @@ public class EmailController {
@ApiOperation
(
"最近联系人"
)
@GetMapping
(
"recentlyContacts"
)
public
ResultVo
recentlyContacts
()
{
//最近20条邮件
List
<
Long
>
recentlySendEmail
=
emailContentService
.
findRecentlySendEmail
(
20
);
return
ResultVo
.
success
(
emailPersonService
.
recentlyContacts
(
recentlySendEmail
));
}
...
...
src/main/java/com/zq/email/controller/EmailPersonController.java
View file @
bbc35999
...
@@ -35,7 +35,7 @@ public class EmailPersonController {
...
@@ -35,7 +35,7 @@ public class EmailPersonController {
private
final
IEmailPersonService
emailPersonService
;
private
final
IEmailPersonService
emailPersonService
;
@ApiOperation
(
"移动邮件到自定义文件夹"
)
@ApiOperation
(
"移动邮件到自定义文件夹
或回收站
"
)
@PostMapping
(
"move"
)
@PostMapping
(
"move"
)
public
ResultVo
edit
(
@RequestBody
EmailFolderMoveVo
vo
)
{
public
ResultVo
edit
(
@RequestBody
EmailFolderMoveVo
vo
)
{
emailPersonService
.
moveEmailFolder
(
vo
);
emailPersonService
.
moveEmailFolder
(
vo
);
...
...
src/main/java/com/zq/email/dto/Person.java
0 → 100644
View file @
bbc35999
package
com
.
zq
.
email
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
Person
{
private
Long
id
;
private
String
mun
;
}
src/main/java/com/zq/email/feign/FileFeignClient.java
View file @
bbc35999
...
@@ -3,6 +3,7 @@ package com.zq.email.feign;
...
@@ -3,6 +3,7 @@ package com.zq.email.feign;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.SysFileUploadVo
;
import
com.zq.common.vo.SysFileUploadVo
;
import
com.zq.common.vo.UploadFileListRespVo
;
import
com.zq.common.vo.UploadFileListRespVo
;
import
com.zq.email.vo.FileViewVo
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.core.io.Resource
;
import
org.springframework.core.io.Resource
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
...
@@ -27,4 +28,8 @@ public interface FileFeignClient {
...
@@ -27,4 +28,8 @@ public interface FileFeignClient {
@GetMapping
(
value
=
"/downloadFile/{fileId}"
)
@GetMapping
(
value
=
"/downloadFile/{fileId}"
)
ResponseEntity
<
Resource
>
download
(
@PathVariable
String
fileId
);
ResponseEntity
<
Resource
>
download
(
@PathVariable
String
fileId
);
@PostMapping
(
value
=
"/wps/getViewUrl2"
)
ResultVo
<
String
>
getViewUrlByDownloadPath
(
@RequestBody
FileViewVo
vo
);
}
}
src/main/java/com/zq/email/feign/fallback/FileFeignFallbackFactory.java
View file @
bbc35999
...
@@ -3,6 +3,7 @@ package com.zq.email.feign.fallback;
...
@@ -3,6 +3,7 @@ package com.zq.email.feign.fallback;
import
com.zq.common.vo.*
;
import
com.zq.common.vo.*
;
import
com.zq.email.feign.AdminFeignClient
;
import
com.zq.email.feign.AdminFeignClient
;
import
com.zq.email.feign.FileFeignClient
;
import
com.zq.email.feign.FileFeignClient
;
import
com.zq.email.vo.FileViewVo
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -43,6 +44,12 @@ public class FileFeignFallbackFactory implements FallbackFactory<FileFeignClient
...
@@ -43,6 +44,12 @@ public class FileFeignFallbackFactory implements FallbackFactory<FileFeignClient
LOG
.
error
(
"下载文件失败(fileId:"
+
fileId
+
")"
);
LOG
.
error
(
"下载文件失败(fileId:"
+
fileId
+
")"
);
return
null
;
return
null
;
}
}
@Override
public
ResultVo
<
String
>
getViewUrlByDownloadPath
(
FileViewVo
vo
)
{
LOG
.
error
(
"文件getViewUrlByDownloadPath失败"
);
return
null
;
}
};
};
}
}
}
}
src/main/java/com/zq/email/mapper/EmailPersonMapper.java
View file @
bbc35999
package
com
.
zq
.
email
.
mapper
;
package
com
.
zq
.
email
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.zq.email.dto.Person
;
import
com.zq.email.entity.EmailPerson
;
import
com.zq.email.entity.EmailPerson
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.zq.email.vo.EmailReqVo
;
import
com.zq.email.vo.EmailReqVo
;
import
com.zq.email.vo.EmailSearchReqVo
;
import
com.zq.email.vo.EmailSearchReqVo
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* Mapper 接口
* Mapper 接口
...
@@ -20,4 +23,6 @@ public interface EmailPersonMapper extends BaseMapper<EmailPerson> {
...
@@ -20,4 +23,6 @@ public interface EmailPersonMapper extends BaseMapper<EmailPerson> {
Integer
selectSearchTotal
(
@Param
(
"s"
)
EmailSearchReqVo
vo
);
Integer
selectSearchTotal
(
@Param
(
"s"
)
EmailSearchReqVo
vo
);
Page
<
EmailPerson
>
selectSearchPage
(
Page
<
EmailPerson
>
page
,
@Param
(
"s"
)
EmailSearchReqVo
vo
);
Page
<
EmailPerson
>
selectSearchPage
(
Page
<
EmailPerson
>
page
,
@Param
(
"s"
)
EmailSearchReqVo
vo
);
List
<
Person
>
recentlyContacts
(
List
<
Long
>
recentlySendEmail
,
Integer
personType
,
Integer
isSend
,
Integer
isPerson
);
}
}
src/main/java/com/zq/email/service/IEmailContentService.java
View file @
bbc35999
...
@@ -30,4 +30,6 @@ public interface IEmailContentService extends IService<EmailContent> {
...
@@ -30,4 +30,6 @@ public interface IEmailContentService extends IService<EmailContent> {
List
<
DeptSimpleDto
>
findReceiveDeptByContentId
(
Long
contentId
);
List
<
DeptSimpleDto
>
findReceiveDeptByContentId
(
Long
contentId
);
List
<
CustomerUserVo
>
findReceiverByContentId
(
Long
contentId
);
List
<
CustomerUserVo
>
findReceiverByContentId
(
Long
contentId
);
List
<
Long
>
findRecentlySendEmail
(
Integer
num
);
}
}
src/main/java/com/zq/email/service/IEmailPersonService.java
View file @
bbc35999
package
com
.
zq
.
email
.
service
;
package
com
.
zq
.
email
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.zq.common.vo.CustomerUserVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.dto.DeptDto
;
import
com.zq.email.dto.DeptDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailPerson
;
import
com.zq.email.entity.EmailPerson
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zq.email.vo.*
;
import
com.zq.email.vo.*
;
...
@@ -62,4 +64,6 @@ public interface IEmailPersonService extends IService<EmailPerson> {
...
@@ -62,4 +64,6 @@ public interface IEmailPersonService extends IService<EmailPerson> {
//当前部门的人员
//当前部门的人员
ResultVo
getUserPolice
();
ResultVo
getUserPolice
();
List
<
CustomerUserVo
>
recentlyContacts
(
List
<
Long
>
recentlySendEmail
);
}
}
src/main/java/com/zq/email/service/impl/EmailContentServiceImpl.java
View file @
bbc35999
...
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ArrayUtil;
...
@@ -5,6 +5,7 @@ import cn.hutool.core.util.ArrayUtil;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.TokenUtils
;
import
com.zq.common.vo.CustomerUserVo
;
import
com.zq.common.vo.CustomerUserVo
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.ResultVo
;
...
@@ -135,4 +136,25 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
...
@@ -135,4 +136,25 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
return
userVoList
;
return
userVoList
;
}
}
@Override
public
List
<
Long
>
findRecentlySendEmail
(
Integer
num
)
{
OnlineUserDto
adminContext
=
TokenUtils
.
getAdminContext
();
AssertUtils
.
notNull
(
adminContext
,
"登录已失效,请重新登录后再次尝试!"
);
Page
<
EmailContent
>
page
=
new
Page
<>(
1
,
num
);
page
.
setSearchCount
(
false
).
setOptimizeCountSql
(
false
);
page
=
this
.
lambdaQuery
()
.
select
(
EmailContent:
:
getId
)
.
eq
(
EmailContent:
:
getSendUserId
,
adminContext
.
getUserId
())
.
orderByDesc
(
EmailContent:
:
getSendTime
).
page
(
page
);
List
<
Long
>
list
=
new
ArrayList
<>();
if
(
page
!=
null
&&
CollectionUtil
.
isNotEmpty
(
page
.
getRecords
())){
for
(
EmailContent
record
:
page
.
getRecords
())
{
list
.
add
(
record
.
getId
());
}
}
return
list
;
}
}
}
src/main/java/com/zq/email/service/impl/EmailPersonServiceImpl.java
View file @
bbc35999
...
@@ -18,6 +18,7 @@ import com.zq.common.vo.ResultVo;
...
@@ -18,6 +18,7 @@ import com.zq.common.vo.ResultVo;
import
com.zq.email.constants.EmailConstant
;
import
com.zq.email.constants.EmailConstant
;
import
com.zq.email.dto.DeptDto
;
import
com.zq.email.dto.DeptDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.dto.Person
;
import
com.zq.email.dto.SystemInfo
;
import
com.zq.email.dto.SystemInfo
;
import
com.zq.email.entity.EmailAttach
;
import
com.zq.email.entity.EmailAttach
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailContent
;
...
@@ -100,6 +101,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -100,6 +101,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
.
eq
(
vo
.
getFolderId
()!=
null
,
EmailPerson:
:
getFolderId
,
vo
.
getFolderId
())
.
eq
(
vo
.
getFolderId
()!=
null
,
EmailPerson:
:
getFolderId
,
vo
.
getFolderId
())
.
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
.
getIsSend
()!=
null
,
EmailPerson:
:
getIsSend
,
vo
.
getIsSend
()).
count
();
.
eq
(
vo
.
getIsSend
()!=
null
,
EmailPerson:
:
getIsSend
,
vo
.
getIsSend
()).
count
();
return
count
!=
null
?
count:
0
;
return
count
!=
null
?
count:
0
;
}
}
...
@@ -116,13 +118,15 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -116,13 +118,15 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
.
eq
(
vo
.
getFolderId
()!=
null
,
EmailPerson:
:
getFolderId
,
vo
.
getFolderId
())
.
eq
(
vo
.
getFolderId
()!=
null
,
EmailPerson:
:
getFolderId
,
vo
.
getFolderId
())
.
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
.
getIsSend
()!=
null
,
EmailPerson:
:
getIsSend
,
vo
.
getIsSend
());
.
eq
(
vo
.
getIsSend
()!=
null
,
EmailPerson:
:
getIsSend
,
vo
.
getIsSend
());
if
(
DateUtils
.
getRangeStart
(
vo
.
getSearchRange
())
!=
null
){
if
(
DateUtils
.
getRangeStart
(
vo
.
getSearchRange
())
!=
null
){
queryWrapper
.
ge
(
EmailPerson:
:
getSendTime
,
DateUtils
.
getRangeStart
(
vo
.
getSearchRange
()));
queryWrapper
.
ge
(
EmailPerson:
:
getSendTime
,
DateUtils
.
getRangeStart
(
vo
.
getSearchRange
()));
queryWrapper
.
le
(
EmailPerson:
:
getSendTime
,
LocalDateTime
.
now
());
queryWrapper
.
le
(
EmailPerson:
:
getSendTime
,
LocalDateTime
.
now
());
}
}
queryWrapper
.
orderByDesc
(
EmailPerson:
:
get
Id
).
orderByAsc
(
EmailPerson:
:
getIsRead
);
queryWrapper
.
orderByDesc
(
EmailPerson:
:
get
SendTime
).
orderByAsc
(
EmailPerson:
:
getIsRead
);
page
=
this
.
page
(
page
,
queryWrapper
);
page
=
this
.
page
(
page
,
queryWrapper
);
if
(
page
!=
null
&&
CollectionUtil
.
isNotEmpty
(
page
.
getRecords
())){
if
(
page
!=
null
&&
CollectionUtil
.
isNotEmpty
(
page
.
getRecords
())){
for
(
EmailPerson
record
:
page
.
getRecords
())
{
for
(
EmailPerson
record
:
page
.
getRecords
())
{
...
@@ -175,9 +179,13 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -175,9 +179,13 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
this
.
saveEmailReceiver
(
receiverList
,
content
,
vo
);
this
.
saveEmailReceiver
(
receiverList
,
content
,
vo
);
//短信
//短信
if
(
content
.
getSmsRemind
()!=
null
&&
content
.
getSmsRemind
()
==
1
)
{
if
(
content
.
getSmsRemind
()!=
null
&&
content
.
getSmsRemind
()
==
1
)
{
smsUtil
.
sendBatchSms
(
receiverList
,
"您有一封新的邮件,标题为《"
+
content
.
getTitle
()
+
"》。请及时查收。"
,
content
.
getId
());
new
Thread
(()
->
{
smsUtil
.
sendBatchSms
(
receiverList
,
"您有一封新的邮件,标题为《"
+
content
.
getTitle
()
+
"》。请及时查收。"
,
content
.
getId
());
});
}
}
}
}
...
@@ -186,7 +194,9 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -186,7 +194,9 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
this
.
saveEmailReceiveDept
(
deptUserList
,
content
,
vo
);
this
.
saveEmailReceiveDept
(
deptUserList
,
content
,
vo
);
//短信
//短信
if
(
content
.
getSmsRemind
()!=
null
&&
content
.
getSmsRemind
()
==
1
)
{
if
(
content
.
getSmsRemind
()!=
null
&&
content
.
getSmsRemind
()
==
1
)
{
new
Thread
(()
->
{
smsUtil
.
sendBatchSms
(
deptUserList
,
"您有一封新的邮件,标题为《"
+
content
.
getTitle
()
+
"》。请及时查收。"
,
content
.
getId
());
smsUtil
.
sendBatchSms
(
deptUserList
,
"您有一封新的邮件,标题为《"
+
content
.
getTitle
()
+
"》。请及时查收。"
,
content
.
getId
());
});
}
}
}
}
}
}
...
@@ -537,6 +547,24 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -537,6 +547,24 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
return
this
.
adminFeignClient
.
getUserByDeptId
(
adminContext
.
getDeptId
());
return
this
.
adminFeignClient
.
getUserByDeptId
(
adminContext
.
getDeptId
());
}
}
@Override
public
List
<
CustomerUserVo
>
recentlyContacts
(
List
<
Long
>
recentlySendEmail
)
{
List
<
CustomerUserVo
>
list
=
new
ArrayList
<>();
if
(
CollectionUtil
.
isNotEmpty
(
recentlySendEmail
)){
List
<
Person
>
personList
=
this
.
baseMapper
.
recentlyContacts
(
recentlySendEmail
,
EmailConstant
.
TYPE_EMAIL_RECEIVE
,
WhetherEnum
.
YES
.
getKey
(),
WhetherEnum
.
YES
.
getKey
());
if
(
CollectionUtil
.
isNotEmpty
(
personList
)){
for
(
Person
person
:
personList
)
{
CustomerUserVo
userById
=
this
.
adminFeignClient
.
getUserById
(
person
.
getId
());
if
(
userById
!=
null
){
list
.
add
(
userById
);
}
}
}
}
return
list
;
}
private
void
saveEmailSender
(
OnlineUserDto
adminContext
,
EmailContent
content
,
EmailEditVo
vo
)
{
private
void
saveEmailSender
(
OnlineUserDto
adminContext
,
EmailContent
content
,
EmailEditVo
vo
)
{
EmailPerson
sender
=
EmailPerson
.
builder
()
EmailPerson
sender
=
EmailPerson
.
builder
()
.
emailContentId
(
content
.
getId
())
.
emailContentId
(
content
.
getId
())
...
@@ -584,9 +612,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -584,9 +612,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
//内部消息提醒
//内部消息提醒
if
(
content
.
getMessageRemind
()!=
null
&&
content
.
getMessageRemind
()
==
1
){
if
(
content
.
getMessageRemind
()!=
null
&&
content
.
getMessageRemind
()
==
1
){
// new Thread(new Runnable() {
new
Thread
(()
->
{
// @Override
// public void run() {
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"title"
,
"您有一封新邮件提醒"
);
params
.
put
(
"title"
,
"您有一封新邮件提醒"
);
...
@@ -597,8 +623,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -597,8 +623,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
log
.
info
(
"发送内部短信内容打印: {}"
,
JSONUtil
.
toJsonStr
(
params
));
log
.
info
(
"发送内部短信内容打印: {}"
,
JSONUtil
.
toJsonStr
(
params
));
messageFeignClient
.
sendWebMessage
(
params
);
messageFeignClient
.
sendWebMessage
(
params
);
messageFeignClient
.
addToDo
(
params
);
messageFeignClient
.
addToDo
(
params
);
// }
});
// });
}
}
...
@@ -633,9 +658,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -633,9 +658,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
//内部消息提醒
//内部消息提醒
if
(
content
.
getMessageRemind
()!=
null
&&
content
.
getMessageRemind
()
==
1
){
if
(
content
.
getMessageRemind
()!=
null
&&
content
.
getMessageRemind
()
==
1
){
// new Thread(new Runnable() {
new
Thread
(()
->
{
// @Override
// public void run() {
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"title"
,
"您有一封新邮件提醒"
);
params
.
put
(
"title"
,
"您有一封新邮件提醒"
);
...
@@ -648,8 +671,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
...
@@ -648,8 +671,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
log
.
info
(
"sendWebMessage: {}"
+
JSONUtil
.
toJsonStr
(
resultVo
));
log
.
info
(
"sendWebMessage: {}"
+
JSONUtil
.
toJsonStr
(
resultVo
));
ResultVo
resultVo1
=
messageFeignClient
.
addToDo
(
params
);
ResultVo
resultVo1
=
messageFeignClient
.
addToDo
(
params
);
log
.
info
(
"addToDo: {}"
+
JSONUtil
.
toJsonStr
(
resultVo1
));
log
.
info
(
"addToDo: {}"
+
JSONUtil
.
toJsonStr
(
resultVo1
));
// }
});
// });
}
}
...
...
src/main/java/com/zq/email/utils/DateUtils.java
View file @
bbc35999
...
@@ -47,9 +47,14 @@ public class DateUtils {
...
@@ -47,9 +47,14 @@ public class DateUtils {
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateUtil
.
format
(
LocalDateTime
.
now
(),
"yyyy-MM-dd HH:mm:ss"
));
// System.out.println(DateUtil.format(LocalDateTime.now(), "yyyy-MM-dd HH:mm:ss"));
LocalDateTime
rangeStart
=
getRangeStart
(
0
);
// LocalDateTime rangeStart = getRangeStart(0);
System
.
out
.
println
(
DateUtil
.
format
(
rangeStart
,
"yyyy-MM-dd HH:mm:ss"
));
// System.out.println(DateUtil.format(rangeStart, "yyyy-MM-dd HH:mm:ss"));
String
suffix
=
"eeeeeee.doc"
.
substring
(
"eeeeeee.doc"
.
lastIndexOf
(
"."
)
+
1
);
System
.
out
.
println
(
suffix
);
}
}
}
}
src/main/java/com/zq/email/utils/SmsUtil.java
View file @
bbc35999
...
@@ -45,14 +45,15 @@ public class SmsUtil {
...
@@ -45,14 +45,15 @@ public class SmsUtil {
}
}
}
}
if
(
sb
.
length
()
>
0
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"phones"
,
Base64
.
encode
(
sb
.
toString
().
getBytes
()));
map
.
put
(
"phones"
,
Base64
.
encode
(
sb
.
toString
().
getBytes
()));
map
.
put
(
"fromId"
,
Base64
.
encode
(
"oa_email"
.
getBytes
()));
map
.
put
(
"fromId"
,
Base64
.
encode
(
"oa_email"
.
getBytes
()));
map
.
put
(
"content"
,
Base64
.
encode
(
content
.
getBytes
()));
map
.
put
(
"content"
,
Base64
.
encode
(
content
.
getBytes
()));
map
.
put
(
"isReply"
,
Base64
.
encode
(
"0"
.
getBytes
()));
map
.
put
(
"isReply"
,
Base64
.
encode
(
"0"
.
getBytes
()));
String
param
=
JSONUtil
.
toJsonStr
(
map
);
String
param
=
JSONUtil
.
toJsonStr
(
map
);
sendRequest
(
Base64
.
encode
(
param
.
getBytes
()),
contentId
);
sendRequest
(
Base64
.
encode
(
param
.
getBytes
()),
contentId
);
}
}
}
private
void
sendRequest
(
String
content
,
Long
contentId
)
{
private
void
sendRequest
(
String
content
,
Long
contentId
)
{
...
...
src/main/java/com/zq/email/vo/EmailReqVo.java
View file @
bbc35999
...
@@ -71,5 +71,7 @@ public class EmailReqVo extends PageReqVo {
...
@@ -71,5 +71,7 @@ public class EmailReqVo extends PageReqVo {
private
Integer
isSend
;
private
Integer
isSend
;
@ApiModelProperty
(
"查询范围,默认最近三个月"
)
@ApiModelProperty
(
"查询范围,默认最近三个月"
)
private
Integer
searchRange
=
0
;
private
Integer
searchRange
=
0
;
@ApiModelProperty
(
"0未读 1已读"
)
private
Integer
isRead
;
}
}
src/main/java/com/zq/email/vo/FileViewVo.java
0 → 100644
View file @
bbc35999
package
com
.
zq
.
email
.
vo
;
import
lombok.Data
;
@Data
public
class
FileViewVo
{
private
String
fileId
;
private
String
downloadPath
;
private
String
fileType
;
private
String
fileName
;
private
String
userId
;
}
src/main/resources/application-product.yml
View file @
bbc35999
...
@@ -62,4 +62,4 @@ swagger:
...
@@ -62,4 +62,4 @@ swagger:
sms
:
sms
:
app-id
:
oa-mobile
app-id
:
oa-mobile
app-key
:
GY@mobile$2022
app-key
:
GY@mobile$2022
url
:
http://172.28.1.71:9888/ums/inside_new/sendBatch
url
:
http://147.2.3.18:9888/ums/inside_new/sendBatch
\ No newline at end of file
\ No newline at end of file
src/main/resources/application-test.yml
View file @
bbc35999
...
@@ -61,4 +61,4 @@ swagger:
...
@@ -61,4 +61,4 @@ swagger:
sms
:
sms
:
app-id
:
oa-mobile
app-id
:
oa-mobile
app-key
:
GY@mobile$2022
app-key
:
GY@mobile$2022
url
:
http://172.28.1.71:9888/ums/inside_new/sendBatch
url
:
http://147.2.3.18:9888/ums/inside_new/sendBatch
\ No newline at end of file
\ No newline at end of file
src/main/resources/logback-spring.xml
View file @
bbc35999
...
@@ -8,11 +8,11 @@
...
@@ -8,11 +8,11 @@
<contextName>
logback
</contextName>
<contextName>
logback
</contextName>
<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
<property
name=
"log.path"
value=
"/data/services/email
_mail
/logs/"
/>
<property
name=
"log.path"
value=
"/data/services/email/logs/"
/>
<!-- <property name="log.path" value="D:/seallog/"/>-->
<!-- <property name="log.path" value="D:/seallog/"/>-->
<!--主要日志文件名-->
<!--主要日志文件名-->
<property
name=
"default_log_file"
value=
"email
_new
"
/>
<property
name=
"default_log_file"
value=
"email"
/>
<!-- 彩色日志 -->
<!-- 彩色日志 -->
<!-- 彩色日志依赖的渲染类 -->
<!-- 彩色日志依赖的渲染类 -->
...
@@ -169,10 +169,10 @@
...
@@ -169,10 +169,10 @@
<logger
name=
"org.springframework.boot.autoconfigure"
level=
"error"
/>
<logger
name=
"org.springframework.boot.autoconfigure"
level=
"error"
/>
<springProfile
name=
"local"
>
<springProfile
name=
"local"
>
<logger
name=
"com.zq"
level=
"
info
"
/>
<logger
name=
"com.zq"
level=
"
debug
"
/>
</springProfile>
</springProfile>
<springProfile
name=
"dev"
>
<springProfile
name=
"dev"
>
<logger
name=
"com.zq"
level=
"
info
"
/>
<logger
name=
"com.zq"
level=
"
debug
"
/>
</springProfile>
</springProfile>
<springProfile
name=
"test"
>
<springProfile
name=
"test"
>
...
...
src/main/resources/mapper/EmailPersonMapper.xml
View file @
bbc35999
...
@@ -3,23 +3,16 @@
...
@@ -3,23 +3,16 @@
<mapper
namespace=
"com.zq.email.mapper.EmailPersonMapper"
>
<mapper
namespace=
"com.zq.email.mapper.EmailPersonMapper"
>
<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(1)
FROM
FROM
"EMAIL_PERSON" EP
"EMAIL_PERSON" EP
LEFT JOIN
"EMAIL_CONTENT" EC
ON EP."EMAIL_CONTENT_ID" = EC."ID"
LEFT JOIN
"EMAIL_ATTACH" EA
ON EC."ID" = EA."EMAIL_CONTENT_ID"
<where>
<where>
<if
test=
"s.folderId != null"
>
<if
test=
"s.folderId != null"
>
AND
EP."FOLDER_ID" = #{s.folderId}
AND EP."FOLDER_ID" = #{s.folderId}
</if>
</if>
<if
test=
"s.isPerson != null"
>
<if
test=
"s.personType != null"
>
AND EP."IS_PERSON" = #{s.isPerson}
AND EP."IS_PERSON" = #{s.personType}
</if>
</if>
<if
test=
"s.isSend != null"
>
<if
test=
"s.isSend != null"
>
...
@@ -39,45 +32,55 @@
...
@@ -39,45 +32,55 @@
</if>
</if>
<if
test=
"s.startTime != null and s.endTime!=null "
>
<if
test=
"s.startTime != null and s.endTime!=null "
>
AND EP."SEND_TIME" BETWEEN #{s.startTime} AND ${s.endTime}
AND EP."SEND_TIME"
>
= #{s.startTime}
</if>
AND EP."SEND_TIME"
<
= #{s.endTime}
<if
test=
"s.sendUserId != null"
>
AND EC."SEND_USER_ID" =?
</if>
<if
test=
"s.title != null and s.title !='' "
>
AND EC."TITLE" LIKE concat('%', #{s.title}, '%')
</if>
<if
test=
"s.content != null and s.content !='' "
>
AND EC."CONTENT" LIKE concat('%', #{s.content}, '%')
</if>
</if>
<if
test=
"s.attachName != null and s.attachName !='' "
>
<if
test=
"s.sendUserId != null or (s.title!=null and s.title!='') or (s.content!=null and s.content!='')"
>
AND EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
AND EP."EMAIL_CONTENT_ID" IN(
SELECT
EC."ID"
FROM
"EMAIL_CONTENT" EC
<where>
<if
test=
"s.sendUserId != null"
>
AND EC."SEND_USER_ID" = #{s.sendUserId}
</if>
<if
test=
"s.title != null and s.title !='' "
>
AND EC."TITLE" LIKE concat('%', #{s.title}, '%')
</if>
<if
test=
"s.content != null and s.content !='' "
>
AND EC."CONTENT" LIKE concat('%', #{s.content}, '%')
</if>
</where>
)
</if>
<if
test=
"s.attachName!=null and s.attachName!=''"
>
AND EP."EMAIL_CONTENT_ID" IN(
SELECT
EA."EMAIL_CONTENT_ID"
FROM
"EMAIL_CONTENT" EA
WHERE
EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
)
</if>
</if>
</where>
</where>
ORDER BY EP."ID" DESC
</select>
</select>
<select
id=
"selectSearchPage"
resultType=
"com.zq.email.entity.EmailPerson"
parameterType=
"com.zq.email.vo.EmailSearchReqVo"
>
<select
id=
"selectSearchPage"
resultType=
"com.zq.email.entity.EmailPerson"
parameterType=
"com.zq.email.vo.EmailSearchReqVo"
>
SELECT
SELECT
EP.*
EP.*
FROM
FROM
"EMAIL_PERSON" EP
"EMAIL_PERSON" EP
LEFT JOIN
"EMAIL_CONTENT" EC
ON EP."EMAIL_CONTENT_ID" = EC."ID"
LEFT JOIN
"EMAIL_ATTACH" EA
ON EC."ID" = EA."EMAIL_CONTENT_ID"
<where>
<where>
<if
test=
"s.folderId != null"
>
<if
test=
"s.folderId != null"
>
AND
EP."FOLDER_ID" = #{s.folderId}
AND EP."FOLDER_ID" = #{s.folderId}
</if>
</if>
<if
test=
"s.isPerson != null"
>
<if
test=
"s.isPerson != null"
>
AND EP."IS_PERSON" = #{s.isPerson}
AND EP."IS_PERSON" = #{s.isPerson}
</if>
</if>
...
@@ -103,22 +106,131 @@
...
@@ -103,22 +106,131 @@
AND EP."SEND_TIME"
<
= #{s.endTime}
AND EP."SEND_TIME"
<
= #{s.endTime}
</if>
</if>
<if
test=
"s.sendUserId != null"
>
<if
test=
"s.sendUserId != null or (s.title!=null and s.title!='') or (s.content!=null and s.content!='')"
>
AND EC."SEND_USER_ID" = #{s.sendUserId}
AND EP."EMAIL_CONTENT_ID" IN(
</if>
SELECT
EC."ID"
<if
test=
"s.title != null and s.title !='' "
>
FROM
AND EC."TITLE" LIKE concat('%', #{s.title}, '%')
"EMAIL_CONTENT" EC
<where>
<if
test=
"s.sendUserId != null"
>
AND EC."SEND_USER_ID" = #{s.sendUserId}
</if>
<if
test=
"s.title != null and s.title !='' "
>
AND EC."TITLE" LIKE concat('%', #{s.title}, '%')
</if>
<if
test=
"s.content != null and s.content !='' "
>
AND EC."CONTENT" LIKE concat('%', #{s.content}, '%')
</if>
</where>
)
</if>
<if
test=
"s.attachName!=null and s.attachName!=''"
>
AND EP."EMAIL_CONTENT_ID" IN(
SELECT
EA."EMAIL_CONTENT_ID"
FROM
"EMAIL_CONTENT" EA
WHERE
EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
)
</if>
</if>
</where>
ORDER BY EP."SEND_TIME" DESC
</select>
<if
test=
"s.content != null and s.content !='' "
>
AND EC."CONTENT" LIKE concat('%', #{s.content}, '%')
</if>
<if
test=
"s.attachName != null and s.attachName !='' "
>
<select
id=
"recentlyContacts"
resultType=
"com.zq.email.dto.Person"
>
AND EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
SELECT
</if>
EP.USER_ID ID,
</where>
COUNT(*) NUM
ORDER BY EP."ID" DESC
FROM
"PUBLIC"."EMAIL_PERSON" EP
<where>
<if
test=
"recentlySendEmail!=null and recentlySendEmail != '' "
>
AND EP."EMAIL_CONTENT_ID" IN
<foreach
item=
"contentId"
collection=
"recentlySendEmail"
open=
"("
separator=
","
close=
")"
>
#{contentId}
</foreach>
</if>
<if
test=
"personType != null"
>
AND EP."PERSON_TYPE" = #{personType}
</if>
<if
test=
"isPerson != null"
>
AND EP."IS_PERSON" = #{isPerson}
</if>
<if
test=
"isSend != null"
>
AND EP."IS_SEND" = #{isSend}
</if>
</where>
GROUP BY EP."USER_ID"
ORDER BY NUM DESC
LIMIT 10
</select>
</select>
</mapper>
</mapper>
<!-- SELECT-->
<!-- EP.*-->
<!-- FROM-->
<!-- "EMAIL_PERSON" EP-->
<!-- LEFT JOIN-->
<!-- "EMAIL_CONTENT" EC-->
<!-- ON EP."EMAIL_CONTENT_ID" = EC."ID"-->
<!-- LEFT JOIN-->
<!-- "EMAIL_ATTACH" EA-->
<!-- ON EC."ID" = EA."EMAIL_CONTENT_ID"-->
<!--<where>-->
<!--<if test="s.folderId != null">-->
<!-- AND EP."FOLDER_ID" = #{s.folderId}-->
<!--</if>-->
<!--<if test="s.isPerson != null">-->
<!-- AND EP."IS_PERSON" = #{s.isPerson}-->
<!--</if>-->
<!--<if test="s.isSend != null">-->
<!-- AND EP."IS_SEND" = #{s.isSend}-->
<!--</if>-->
<!--<if test="s.personType != null">-->
<!-- AND EP."PERSON_TYPE" = #{s.personType}-->
<!--</if>-->
<!--<if test="s.userId != null">-->
<!-- AND EP."USER_ID" = #{s.userId}-->
<!--</if>-->
<!--<if test="s.isRead != null">-->
<!-- AND EP."IS_READ" = #{s.isRead}-->
<!--</if>-->
<!--<if test="s.startTime != null and s.endTime!=null ">-->
<!-- AND EP."SEND_TIME" >= #{s.startTime}-->
<!-- AND EP."SEND_TIME" <= #{s.endTime}-->
<!--</if>-->
<!--<if test="s.sendUserId != null">-->
<!-- AND EC."SEND_USER_ID" = #{s.sendUserId}-->
<!--</if>-->
<!--<if test="s.title != null and s.title !='' ">-->
<!-- AND EC."TITLE" LIKE concat('%', #{s.title}, '%')-->
<!--</if>-->
<!--<if test="s.content != null and s.content !='' ">-->
<!-- AND EC."CONTENT" LIKE concat('%', #{s.content}, '%')-->
<!--</if>-->
<!--<if test="s.attachName != null and s.attachName !='' ">-->
<!-- AND EA."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')-->
<!--</if>-->
<!--</where>-->
<!-- ORDER BY EP."ID" DESC-->
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