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
9af12362
Commit
9af12362
authored
Mar 11, 2023
by
chentianzhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提一个版本
parent
a68c1bb3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
309 additions
and
100 deletions
+309
-100
src/main/java/com/zq/email/controller/EmailContentController.java
+16
-0
src/main/java/com/zq/email/controller/EmailController.java
+13
-3
src/main/java/com/zq/email/controller/EmailPersonController.java
+3
-10
src/main/java/com/zq/email/dto/SystemInfo.java
+45
-0
src/main/java/com/zq/email/feign/AdminFeignClient.java
+4
-0
src/main/java/com/zq/email/feign/MessageFeignClient.java
+57
-0
src/main/java/com/zq/email/feign/fallback/AdminFeignFallbackFactory.java
+6
-0
src/main/java/com/zq/email/properties/SmsProperties.java
+1
-8
src/main/java/com/zq/email/service/IEmailContentService.java
+7
-0
src/main/java/com/zq/email/service/IEmailPersonService.java
+4
-2
src/main/java/com/zq/email/service/impl/EmailAttachServiceImpl.java
+16
-3
src/main/java/com/zq/email/service/impl/EmailContentServiceImpl.java
+45
-0
src/main/java/com/zq/email/service/impl/EmailPersonServiceImpl.java
+0
-0
src/main/java/com/zq/email/utils/SmsUtil.java
+61
-63
src/main/java/com/zq/email/vo/EmailEditVo.java
+0
-1
src/main/resources/application-dev.yml
+8
-2
src/main/resources/application-local.yml
+6
-2
src/main/resources/application-product.yml
+8
-2
src/main/resources/application-test.yml
+7
-2
src/main/resources/mapper/EmailPersonMapper.xml
+2
-2
No files found.
src/main/java/com/zq/email/controller/EmailContentController.java
View file @
9af12362
...
@@ -5,6 +5,7 @@ import com.zq.common.utils.AssertUtils;
...
@@ -5,6 +5,7 @@ import com.zq.common.utils.AssertUtils;
import
com.zq.common.vo.ResultVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.service.IEmailContentService
;
import
com.zq.email.service.IEmailContentService
;
import
com.zq.email.vo.EmailDegreeVo
;
import
com.zq.email.vo.EmailDegreeVo
;
import
com.zq.email.vo.EmailDetailVo
;
import
com.zq.email.vo.EmailReqVo
;
import
com.zq.email.vo.EmailReqVo
;
import
com.zq.email.vo.EmailTaskVo
;
import
com.zq.email.vo.EmailTaskVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -53,4 +54,19 @@ public class EmailContentController {
...
@@ -53,4 +54,19 @@ public class EmailContentController {
return
ResultVo
.
success
();
return
ResultVo
.
success
();
}
}
@ApiOperation
(
"从content中获取邮件收件部门(草稿箱用)"
)
@PostMapping
(
"findReceiveDeptByContentId"
)
public
ResultVo
findReceiveDeptByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
return
ResultVo
.
success
(
emailContentService
.
findReceiveDeptByContentId
(
vo
.
getContentId
()));
}
@ApiOperation
(
"从content中获取邮件收件人(草稿箱用)"
)
@PostMapping
(
"findReceiverByContentId"
)
public
ResultVo
findReceiverByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
return
ResultVo
.
success
(
emailContentService
.
findReceiverByContentId
(
vo
.
getContentId
()));
}
}
}
src/main/java/com/zq/email/controller/EmailController.java
View file @
9af12362
...
@@ -9,6 +9,7 @@ import com.zq.common.vo.ResultVo;
...
@@ -9,6 +9,7 @@ import com.zq.common.vo.ResultVo;
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.enums.SearchRangeEnum
;
import
com.zq.email.enums.SearchRangeEnum
;
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.vo.*
;
import
com.zq.email.vo.*
;
...
@@ -88,7 +89,9 @@ public class EmailController {
...
@@ -88,7 +89,9 @@ public class EmailController {
AssertUtils
.
notNull
(
vo
.
getIsSend
(),
"缺少参数: isSend"
);
AssertUtils
.
notNull
(
vo
.
getIsSend
(),
"缺少参数: isSend"
);
log
.
info
(
"vo.getReceiver()"
+
vo
.
getReceiver
());
log
.
info
(
"vo.getReceiver()"
+
vo
.
getReceiver
());
log
.
info
(
"vo.getReceiveDeptList()"
+
vo
.
getReceiveDeptList
());
log
.
info
(
"vo.getReceiveDeptList()"
+
vo
.
getReceiveDeptList
());
AssertUtils
.
isTrue
(
CollectionUtil
.
isNotEmpty
(
vo
.
getReceiver
())
||
CollectionUtil
.
isNotEmpty
(
vo
.
getReceiveDeptList
()),
"缺少参数:receiver和 receiveDeptList"
);
if
((
vo
.
getIsSend
().
equals
(
WhetherEnum
.
YES
.
getKey
())))
{
AssertUtils
.
isTrue
(
CollectionUtil
.
isNotEmpty
(
vo
.
getReceiver
())
||
CollectionUtil
.
isNotEmpty
(
vo
.
getReceiveDeptList
()),
"缺少参数:receiver和 receiveDeptList"
);
}
emailPersonService
.
emailEditVo
(
vo
);
emailPersonService
.
emailEditVo
(
vo
);
return
ResultVo
.
success
();
return
ResultVo
.
success
();
}
}
...
@@ -99,11 +102,9 @@ public class EmailController {
...
@@ -99,11 +102,9 @@ public class EmailController {
OnlineUserDto
adminContext
=
TokenUtils
.
getAdminContext
();
OnlineUserDto
adminContext
=
TokenUtils
.
getAdminContext
();
AssertUtils
.
notNull
(
adminContext
,
"登录已失效,请重新登录后再次尝试!"
);
AssertUtils
.
notNull
(
adminContext
,
"登录已失效,请重新登录后再次尝试!"
);
AssertUtils
.
notNull
(
vo
.
getPersonId
(),
"缺少参数:personId"
);
AssertUtils
.
notNull
(
vo
.
getPersonId
(),
"缺少参数:personId"
);
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
EmailPerson
emailPerson
=
emailPersonService
.
getById
(
vo
.
getPersonId
());
EmailPerson
emailPerson
=
emailPersonService
.
getById
(
vo
.
getPersonId
());
AssertUtils
.
notNull
(
emailPerson
,
"获取邮件对应人员信息失败"
);
AssertUtils
.
notNull
(
emailPerson
,
"获取邮件对应人员信息失败"
);
AssertUtils
.
isTrue
(
emailPerson
.
getUserId
().
equals
(
adminContext
.
getUserId
())
,
"非本人邮件,不允许阅读"
);
AssertUtils
.
isTrue
(
emailPerson
.
getUserId
().
equals
(
adminContext
.
getUserId
())
,
"非本人邮件,不允许阅读"
);
AssertUtils
.
isTrue
(
emailPerson
.
getEmailContentId
()
==
vo
.
getContentId
()
,
"邮件不匹配"
);
EmailContent
content
=
emailContentService
.
getById
(
emailPerson
.
getEmailContentId
());
EmailContent
content
=
emailContentService
.
getById
(
emailPerson
.
getEmailContentId
());
AssertUtils
.
notNull
(
content
,
"获取邮件内容失败"
);
AssertUtils
.
notNull
(
content
,
"获取邮件内容失败"
);
emailPerson
.
setEmailContent
(
content
);
emailPerson
.
setEmailContent
(
content
);
...
@@ -172,6 +173,7 @@ public class EmailController {
...
@@ -172,6 +173,7 @@ public class EmailController {
@PostMapping
(
"lastEmail"
)
@PostMapping
(
"lastEmail"
)
public
ResultVo
lastEmail
(
@RequestBody
EmailLastAndAfterReqVo
vo
)
{
public
ResultVo
lastEmail
(
@RequestBody
EmailLastAndAfterReqVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getFolderId
(),
"缺少参数:folderId"
);
AssertUtils
.
notNull
(
vo
.
getFolderId
(),
"缺少参数:folderId"
);
AssertUtils
.
notNull
(
vo
.
getCurrentPersonId
(),
"缺少参数:currentPersonId"
);
EmailPerson
person
=
this
.
emailPersonService
.
lastAndAfterEmail
(
vo
,
0
);
EmailPerson
person
=
this
.
emailPersonService
.
lastAndAfterEmail
(
vo
,
0
);
AssertUtils
.
notNull
(
person
,
"没有上一封了"
);
AssertUtils
.
notNull
(
person
,
"没有上一封了"
);
return
ResultVo
.
success
(
person
);
return
ResultVo
.
success
(
person
);
...
@@ -181,12 +183,20 @@ public class EmailController {
...
@@ -181,12 +183,20 @@ public class EmailController {
@PostMapping
(
"afterEmail"
)
@PostMapping
(
"afterEmail"
)
public
ResultVo
afterEmail
(
@RequestBody
EmailLastAndAfterReqVo
vo
)
{
public
ResultVo
afterEmail
(
@RequestBody
EmailLastAndAfterReqVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getFolderId
(),
"缺少参数:folderId"
);
AssertUtils
.
notNull
(
vo
.
getFolderId
(),
"缺少参数:folderId"
);
AssertUtils
.
notNull
(
vo
.
getCurrentPersonId
(),
"缺少参数:currentPersonId"
);
EmailPerson
person
=
this
.
emailPersonService
.
lastAndAfterEmail
(
vo
,
1
);
EmailPerson
person
=
this
.
emailPersonService
.
lastAndAfterEmail
(
vo
,
1
);
AssertUtils
.
notNull
(
person
,
"没有下一封了"
);
AssertUtils
.
notNull
(
person
,
"没有下一封了"
);
return
ResultVo
.
success
(
person
);
return
ResultVo
.
success
(
person
);
}
}
@ApiOperation
(
"获取当前部门的人员"
)
@GetMapping
(
"getUserPolice"
)
public
ResultVo
getUserPolice
()
{
return
emailPersonService
.
getUserPolice
();
}
...
...
src/main/java/com/zq/email/controller/EmailPersonController.java
View file @
9af12362
...
@@ -42,27 +42,20 @@ public class EmailPersonController {
...
@@ -42,27 +42,20 @@ public class EmailPersonController {
return
ResultVo
.
success
();
return
ResultVo
.
success
();
}
}
@ApiOperation
(
"任务邮件收件人详情"
)
@ApiOperation
(
"任务邮件收件人详情
(收件箱和个人文件夹用)
"
)
@PostMapping
(
"findTaskEmailByContentId"
)
@PostMapping
(
"findTaskEmailByContentId"
)
public
ResultVo
findTaskEmailByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
public
ResultVo
findTaskEmailByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
return
ResultVo
.
success
(
emailPersonService
.
findTaskEmailByContentId
(
vo
.
getContentId
()));
return
ResultVo
.
success
(
emailPersonService
.
findTaskEmailByContentId
(
vo
.
getContentId
()));
}
}
@ApiOperation
(
"
邮件收件人详情
"
)
@ApiOperation
(
"
非任务邮件收件人详情(收件箱和个人文件夹用)
"
)
@PostMapping
(
"findReceiverByContentId"
)
@PostMapping
(
"findReceiverByContentId"
)
public
ResultVo
findReceiverByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
public
ResultVo
findReceiverByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
return
ResultVo
.
success
(
emailPersonService
.
findReceiverByContentId
(
vo
.
getContentId
()));
return
ResultVo
.
success
(
emailPersonService
.
findReceiverByContentId
(
vo
.
getContentId
()));
}
}
@ApiOperation
(
"获取邮件收件部门"
)
@PostMapping
(
"findReceiveDeptByContentId"
)
public
ResultVo
findReceiveDeptByContentId
(
@RequestBody
EmailDetailVo
vo
)
{
AssertUtils
.
notNull
(
vo
.
getContentId
(),
"缺少参数:contentId"
);
return
ResultVo
.
success
(
emailPersonService
.
findReceiveDeptByContentId
(
vo
.
getContentId
()));
}
@ApiOperation
(
"设置为已读或未读"
)
@ApiOperation
(
"设置为已读或未读"
)
@PostMapping
(
"readEmail"
)
@PostMapping
(
"readEmail"
)
public
ResultVo
readEmail
(
@RequestBody
EmailReadVo
vo
)
{
public
ResultVo
readEmail
(
@RequestBody
EmailReadVo
vo
)
{
...
...
src/main/java/com/zq/email/dto/SystemInfo.java
0 → 100644
View file @
9af12362
package
com
.
zq
.
email
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
@Data
public
class
SystemInfo
implements
Serializable
{
private
Long
id
;
@ApiModelProperty
(
"系统名称"
)
private
String
systemName
;
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"更新时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
"系统标识"
)
private
String
systemTag
;
@ApiModelProperty
(
"状态 0-禁用 1-启用"
)
private
Integer
state
;
@ApiModelProperty
(
"访问地址"
)
private
String
homeUrl
;
@ApiModelProperty
(
"系统图标Base64"
)
private
String
systemLogo
;
@ApiModelProperty
(
"短信平台自定义号"
)
private
String
smsId
;
@ApiModelProperty
(
"移动端首页"
)
private
String
mobileHomeUrl
;
@ApiModelProperty
(
"在门户中是否隐藏 0-显示 1-隐藏"
)
private
Integer
isHidden
;
}
src/main/java/com/zq/email/feign/AdminFeignClient.java
View file @
9af12362
...
@@ -6,6 +6,7 @@ import com.zq.common.vo.CustomerUserVo;
...
@@ -6,6 +6,7 @@ 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.dto.DeptSimpleDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.dto.SystemInfo
;
import
com.zq.email.feign.fallback.AdminFeignFallbackFactory
;
import
com.zq.email.feign.fallback.AdminFeignFallbackFactory
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
...
@@ -38,4 +39,7 @@ public interface AdminFeignClient {
...
@@ -38,4 +39,7 @@ public interface AdminFeignClient {
@GetMapping
(
"/dept/getByDeptId/{deptId}"
)
@GetMapping
(
"/dept/getByDeptId/{deptId}"
)
ResultVo
<
DeptSimpleDto
>
getByDeptId
(
@PathVariable
Long
deptId
);
ResultVo
<
DeptSimpleDto
>
getByDeptId
(
@PathVariable
Long
deptId
);
@GetMapping
(
"/systemInfo/getBySystemTag/{systemTag}"
)
ResultVo
<
SystemInfo
>
getBySystemTag
(
@PathVariable
String
systemTag
);
}
}
src/main/java/com/zq/email/feign/MessageFeignClient.java
0 → 100644
View file @
9af12362
package
com
.
zq
.
email
.
feign
;
import
com.zq.common.vo.ResultVo
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.Map
;
/**
* message 服务feign调用接口
*/
@FeignClient
(
name
=
"MESSAGE-SERVER"
,
path
=
"/message"
)
public
interface
MessageFeignClient
{
/**
* 发送网页短信提醒(门户的统一消息)
*
* @param param
* @return
*/
@PostMapping
(
"/web/send"
)
ResultVo
sendWebMessage
(
@RequestBody
Map
<
String
,
Object
>
param
);
/**
* 新增待办事宜
*
* @param params systemTag - 系统标识 - 必传
* @param params userList - 待办用户集合 - 必传
* @param params title - 待办标题 - 必传
* @param params content - 待办内容 - 必传
* @return
*/
@PostMapping
(
"/todo/addToDo"
)
ResultVo
addToDo
(
@RequestBody
Map
<
String
,
Object
>
params
);
/**
* 撤回网页消息
* 参数businessId,systemTag
*
* @param params
* @return
*/
@PostMapping
(
"/web/delMessageBySystem"
)
ResultVo
revokeWebBySysInfo
(
@RequestBody
Map
<
String
,
Object
>
params
);
/**
* 撤回待办
* 参数businessId,systemTag
*
* @param params
* @return
*/
@PostMapping
(
"/todo/delMessageBySystem"
)
ResultVo
revokeTodoBySysInfo
(
@RequestBody
Map
<
String
,
Object
>
params
);
}
src/main/java/com/zq/email/feign/fallback/AdminFeignFallbackFactory.java
View file @
9af12362
...
@@ -4,6 +4,7 @@ import com.zq.common.vo.CustomerUserVo;
...
@@ -4,6 +4,7 @@ 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.dto.DeptSimpleDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.dto.SystemInfo
;
import
com.zq.email.feign.AdminFeignClient
;
import
com.zq.email.feign.AdminFeignClient
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -49,6 +50,11 @@ public class AdminFeignFallbackFactory implements FallbackFactory<AdminFeignClie
...
@@ -49,6 +50,11 @@ public class AdminFeignFallbackFactory implements FallbackFactory<AdminFeignClie
return
null
;
return
null
;
}
}
@Override
public
ResultVo
<
SystemInfo
>
getBySystemTag
(
String
systemTag
)
{
return
null
;
}
};
};
}
}
...
...
src/main/java/com/zq/email/properties/SmsProperties.java
View file @
9af12362
...
@@ -21,12 +21,5 @@ public class SmsProperties {
...
@@ -21,12 +21,5 @@ public class SmsProperties {
*/
*/
private
String
appKey
;
private
String
appKey
;
/**
private
String
url
;
* 内网地址
*/
private
String
insideUrl
;
/**
* 外网地址
*/
private
String
outsideUrl
;
}
}
src/main/java/com/zq/email/service/IEmailContentService.java
View file @
9af12362
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.OnlineUserDto
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailContent
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.zq.email.vo.*
;
import
com.zq.email.vo.*
;
import
io.swagger.models.auth.In
;
import
io.swagger.models.auth.In
;
import
java.util.List
;
/**
/**
* <p>
* <p>
* 服务类
* 服务类
...
@@ -23,4 +27,7 @@ public interface IEmailContentService extends IService<EmailContent> {
...
@@ -23,4 +27,7 @@ public interface IEmailContentService extends IService<EmailContent> {
void
setDegreeEmail
(
EmailDegreeVo
vo
);
void
setDegreeEmail
(
EmailDegreeVo
vo
);
List
<
DeptSimpleDto
>
findReceiveDeptByContentId
(
Long
contentId
);
List
<
CustomerUserVo
>
findReceiverByContentId
(
Long
contentId
);
}
}
src/main/java/com/zq/email/service/IEmailPersonService.java
View file @
9af12362
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.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.EmailPerson
;
import
com.zq.email.entity.EmailPerson
;
...
@@ -34,8 +35,6 @@ public interface IEmailPersonService extends IService<EmailPerson> {
...
@@ -34,8 +35,6 @@ public interface IEmailPersonService extends IService<EmailPerson> {
List
<
EmailPerson
>
findTaskEmailByContentId
(
Long
contentId
);
List
<
EmailPerson
>
findTaskEmailByContentId
(
Long
contentId
);
List
<
DeptSimpleDto
>
findReceiveDeptByContentId
(
Long
contentId
);
void
readAllEmails
(
Long
folderId
);
void
readAllEmails
(
Long
folderId
);
void
readEmail
(
EmailReadVo
vo
);
void
readEmail
(
EmailReadVo
vo
);
...
@@ -60,4 +59,7 @@ public interface IEmailPersonService extends IService<EmailPerson> {
...
@@ -60,4 +59,7 @@ public interface IEmailPersonService extends IService<EmailPerson> {
Integer
searchTotal
(
EmailSearchReqVo
vo
);
Integer
searchTotal
(
EmailSearchReqVo
vo
);
Page
searchPage
(
EmailSearchReqVo
vo
);
Page
searchPage
(
EmailSearchReqVo
vo
);
//当前部门的人员
ResultVo
getUserPolice
();
}
}
src/main/java/com/zq/email/service/impl/EmailAttachServiceImpl.java
View file @
9af12362
...
@@ -40,9 +40,22 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
...
@@ -40,9 +40,22 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
if
(
CollectionUtil
.
isNotEmpty
(
vo
.
getFileIds
()))
{
if
(
CollectionUtil
.
isNotEmpty
(
vo
.
getFileIds
()))
{
//拿到旧附件
//拿到旧附件
list
=
this
.
lambdaQuery
().
eq
(
EmailAttach:
:
getEmailContentId
,
content
.
getId
()).
in
(
EmailAttach:
:
getAttachId
,
vo
.
getFileIds
()).
list
();
//list = this.lambdaQuery().eq(EmailAttach::getEmailContentId, content.getId()).in(EmailAttach::getAttachId, vo.getFileIds()).list();
for
(
EmailAttach
emailAttach
:
list
)
{
//list = this.lambdaQuery().in(EmailAttach::getAttachId, vo.getFileIds()).list();
emailAttach
.
setId
(
null
);
for
(
String
fileId
:
vo
.
getFileIds
())
{
ResultVo
<
SysFileUploadVo
>
uploadFileById
=
fileFeignClient
.
getUploadFileById
(
fileId
);
if
(
uploadFileById
.
isSuccess
()
&&
uploadFileById
.
getData
()!=
null
){
SysFileUploadVo
data
=
uploadFileById
.
getData
();
EmailAttach
emailAttach
=
EmailAttach
.
builder
()
.
emailContentId
(
content
.
getId
())
.
attachId
(
data
.
getId
())
.
attachName
(
data
.
getFileName
())
.
attachSize
(
data
.
getSize
())
.
downloadPath
(
data
.
getDownloadPath
())
.
sendTime
(
content
.
getSendTime
())
.
build
();
list
.
add
(
emailAttach
);
}
}
}
}
}
//先检查旧附件
//先检查旧附件
...
...
src/main/java/com/zq/email/service/impl/EmailContentServiceImpl.java
View file @
9af12362
...
@@ -2,12 +2,17 @@ package com.zq.email.service.impl;
...
@@ -2,12 +2,17 @@ package com.zq.email.service.impl;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ArrayUtil
;
import
cn.hutool.core.util.ArrayUtil
;
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.vo.CustomerUserVo
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.OnlineUserDto
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.dto.DeptSimpleDto
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.entity.EmailContent
;
import
com.zq.email.enums.RemindEnum
;
import
com.zq.email.enums.RemindEnum
;
import
com.zq.email.enums.WhetherEnum
;
import
com.zq.email.enums.WhetherEnum
;
import
com.zq.email.feign.AdminFeignClient
;
import
com.zq.email.mapper.EmailContentMapper
;
import
com.zq.email.mapper.EmailContentMapper
;
import
com.zq.email.service.IEmailContentService
;
import
com.zq.email.service.IEmailContentService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
...
@@ -15,10 +20,13 @@ import com.zq.email.vo.EmailDegreeVo;
...
@@ -15,10 +20,13 @@ import com.zq.email.vo.EmailDegreeVo;
import
com.zq.email.vo.EmailEditVo
;
import
com.zq.email.vo.EmailEditVo
;
import
com.zq.email.vo.EmailReqVo
;
import
com.zq.email.vo.EmailReqVo
;
import
com.zq.email.vo.EmailTaskVo
;
import
com.zq.email.vo.EmailTaskVo
;
import
lombok.RequiredArgsConstructor
;
import
net.bytebuddy.matcher.CollectionErasureMatcher
;
import
net.bytebuddy.matcher.CollectionErasureMatcher
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
/**
* <p>
* <p>
...
@@ -29,8 +37,11 @@ import java.time.LocalDateTime;
...
@@ -29,8 +37,11 @@ import java.time.LocalDateTime;
* @since 2023-03-06
* @since 2023-03-06
*/
*/
@Service
@Service
@RequiredArgsConstructor
public
class
EmailContentServiceImpl
extends
ServiceImpl
<
EmailContentMapper
,
EmailContent
>
implements
IEmailContentService
{
public
class
EmailContentServiceImpl
extends
ServiceImpl
<
EmailContentMapper
,
EmailContent
>
implements
IEmailContentService
{
private
final
AdminFeignClient
adminFeignClient
;
@Override
@Override
public
EmailContent
saveContent
(
EmailEditVo
vo
,
OnlineUserDto
adminContext
)
{
public
EmailContent
saveContent
(
EmailEditVo
vo
,
OnlineUserDto
adminContext
)
{
EmailContent
content
=
null
;
EmailContent
content
=
null
;
...
@@ -90,4 +101,38 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
...
@@ -90,4 +101,38 @@ public class EmailContentServiceImpl extends ServiceImpl<EmailContentMapper, Ema
public
void
setDegreeEmail
(
EmailDegreeVo
vo
)
{
public
void
setDegreeEmail
(
EmailDegreeVo
vo
)
{
this
.
lambdaUpdate
().
in
(
EmailContent:
:
getId
,
vo
.
getContentId
()).
set
(
EmailContent:
:
getDegree
,
vo
.
getDegree
()).
update
();
this
.
lambdaUpdate
().
in
(
EmailContent:
:
getId
,
vo
.
getContentId
()).
set
(
EmailContent:
:
getDegree
,
vo
.
getDegree
()).
update
();
}
}
@Override
public
List
<
DeptSimpleDto
>
findReceiveDeptByContentId
(
Long
contentId
)
{
List
<
DeptSimpleDto
>
deptDtoList
=
new
ArrayList
<>();
EmailContent
content
=
this
.
getById
(
contentId
);
if
(
StrUtil
.
isNotBlank
(
content
.
getDeptList
())){
String
[]
deptIds
=
content
.
getDeptList
().
split
(
","
);
for
(
String
deptId
:
deptIds
)
{
ResultVo
<
DeptSimpleDto
>
byDeptId
=
adminFeignClient
.
getByDeptId
(
Long
.
valueOf
(
deptId
));
if
(
byDeptId
.
isSuccess
()
&&
byDeptId
.
getData
()!=
null
){
deptDtoList
.
add
(
byDeptId
.
getData
());
}
}
}
return
deptDtoList
;
}
@Override
public
List
<
CustomerUserVo
>
findReceiverByContentId
(
Long
contentId
)
{
List
<
CustomerUserVo
>
userVoList
=
new
ArrayList
<>();
EmailContent
content
=
this
.
getById
(
contentId
);
if
(
StrUtil
.
isNotBlank
(
content
.
getUserList
())){
String
[]
userIds
=
content
.
getUserList
().
split
(
","
);
for
(
String
userId
:
userIds
)
{
CustomerUserVo
userById
=
adminFeignClient
.
getUserById
(
Long
.
valueOf
(
userId
));
if
(
userById
!=
null
){
userVoList
.
add
(
userById
);
}
}
}
return
userVoList
;
}
}
}
src/main/java/com/zq/email/service/impl/EmailPersonServiceImpl.java
View file @
9af12362
This diff is collapsed.
Click to expand it.
src/main/java/com/zq/email/utils/SmsUtil.java
View file @
9af12362
package
com
.
zq
.
email
.
utils
;
package
com
.
zq
.
email
.
utils
;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.net.url.UrlQuery
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.http.HttpRequest
;
import
cn.hutool.http.HttpResponse
;
import
cn.hutool.http.HttpUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
com.zq.common.vo.CustomerUserVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.properties.SmsProperties
;
import
com.zq.email.properties.SmsProperties
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author wilmiam
* @author wilmiam
...
@@ -17,68 +30,53 @@ public class SmsUtil {
...
@@ -17,68 +30,53 @@ public class SmsUtil {
@Resource
@Resource
public
SmsProperties
smsProperties
;
public
SmsProperties
smsProperties
;
// /**
// * 发送短信
/**
// *
* 发送批量短信
// * @return
*
// */
* @return
// public ResultVo sendSms(Map<String, Object> params) {
*/
// ResultVo resultVo = ResultVo.success();
public
void
sendBatchSms
(
List
<
CustomerUserVo
>
userVoList
,
String
content
,
Long
contentId
)
{
// if ("wantest".equals(active) || "wanpro".equals(active)) {
String
regex
=
"^1[3-9]\\d{9}"
;
// String url = smsConfig.getOutsideUrl() + "/outside/send";
StringBuffer
sb
=
new
StringBuffer
();
// resultVo = sendRequest(url, params);
for
(
CustomerUserVo
userVo
:
userVoList
)
{
// }
if
(
userVo
!=
null
&&
StrUtil
.
isNotBlank
(
userVo
.
getPhone
())
&&
userVo
.
getPhone
().
matches
(
regex
)){
// if ("test".equals(active) || "product".equals(active)) {
sb
.
append
(
userVo
.
getPhone
()).
append
(
","
);
// String url = smsConfig.getInsideUrl() + "/inside/send";
}
// resultVo = sendRequest(url, params);
// }
}
// return resultVo;
// }
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
//
map
.
put
(
"phones"
,
Base64
.
encode
(
sb
.
toString
().
getBytes
()));
// /**
map
.
put
(
"formId"
,
Base64
.
encode
(
"oa_email"
.
getBytes
()));
// * 发送批量短信
map
.
put
(
"content"
,
Base64
.
encode
(
content
.
getBytes
()));
// *
map
.
put
(
"isReply"
,
Base64
.
encode
(
"0"
.
getBytes
()));
// * @return
String
param
=
JSONUtil
.
toJsonStr
(
map
);
// */
sendRequest
(
Base64
.
encode
(
param
.
getBytes
()),
contentId
);
// public ResultVo sendBatchSms(Map<String, Object> params) {
}
// ResultVo resultVo = ResultVo.success();
// if ("wantest".equals(active) || "wanpro".equals(active)) {
private
void
sendRequest
(
String
content
,
Long
contentId
)
{
// String url = smsConfig.getOutsideUrl() + "/outside/sendBatch";
log
.
info
(
"发送短信请求 => 邮件标识:{},请求地址:{}"
,
contentId
,
smsProperties
.
getUrl
());
// resultVo = sendRequest(url, params);
// }
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
// if ("test".equals(active) || "product".equals(active)) {
map
.
put
(
"data"
,
content
);
// String url = smsConfig.getInsideUrl() + "/inside/sendBatch";
String
param
=
JSONUtil
.
toJsonStr
(
map
);
// resultVo = sendRequest(url, params);
log
.
info
(
"参数 => {}, 邮件标识:{}"
,
contentId
,
param
);
// }
HttpRequest
request
=
HttpUtil
.
createPost
(
smsProperties
.
getUrl
())
// return resultVo;
.
header
(
"APP_ID"
,
Base64
.
encode
(
smsProperties
.
getAppId
().
getBytes
()))
// }
.
header
(
"APP_KEY"
,
Base64
.
encode
(
smsProperties
.
getAppKey
().
getBytes
()))
//
.
body
(
param
);
// private ResultVo sendRequest(String url, Map<String, Object> params) {
// log.debug("发送短信请求 => {} \nRequest Body:\n\t{}\n", url, UrlQuery.of(params));
try
{
//
HttpResponse
response
=
request
.
execute
();
// HttpRequest request = HttpUtil.createPost(url)
String
body
=
response
.
body
();
// .header("APP_ID", smsConfig.getAppId())
log
.
info
(
"发送短信响应 => {}, 邮件标识:{}"
,
body
,
contentId
);
// .header("APP_KEY", smsConfig.getAppKey())
ResultVo
resultVo
=
JSONUtil
.
toBean
(
body
,
ResultVo
.
class
);
// .body(JSONUtil.toJsonStr(params));
log
.
info
(
"发送短信响应 => {}, 邮件标识:{}"
,
resultVo
.
isSuccess
(),
contentId
);
//
}
catch
(
Exception
e
)
{
// HttpResponse response;
log
.
error
(
"调用短信接口失败"
);
// try {
log
.
error
(
e
.
getLocalizedMessage
(),
e
);
// response = request.execute();
}
// } catch (Exception e) {
}
// log.error("调用短信接口失败", e);
// return ResultVo.fail("调用短信接口失败:" + e.getMessage());
// }
//
// String body = response.body();
//
// log.debug("发送短信响应 => {}", body);
//
// try {
// return JSONUtil.toBean(body, ResultVo.class);
// } catch (Exception e) {
// log.error("调用短信接口解析失败", e);
// return ResultVo.fail("调用短信接口失败:" + e.getMessage());
// }
// }
}
}
src/main/java/com/zq/email/vo/EmailEditVo.java
View file @
9af12362
...
@@ -49,5 +49,4 @@ public class EmailEditVo {
...
@@ -49,5 +49,4 @@ public class EmailEditVo {
@ApiModelProperty
(
"附件"
)
@ApiModelProperty
(
"附件"
)
private
List
<
MultipartFile
>
fileList
;
private
List
<
MultipartFile
>
fileList
;
}
}
src/main/resources/application-dev.yml
View file @
9af12362
...
@@ -57,4 +57,10 @@ spring:
...
@@ -57,4 +57,10 @@ spring:
multi-statement-allow
:
true
multi-statement-allow
:
true
#是否开启 swagger-ui
#是否开启 swagger-ui
swagger
:
swagger
:
enabled
:
true
enabled
:
true
\ No newline at end of file
sms
:
app-id
:
oa-mobile
app-key
:
GY@mobile$2022
url
:
http://171.106.48.55:19891/ums/inside_new/sendBatch
\ No newline at end of file
src/main/resources/application-local.yml
View file @
9af12362
...
@@ -57,4 +57,9 @@ spring:
...
@@ -57,4 +57,9 @@ spring:
multi-statement-allow
:
true
multi-statement-allow
:
true
#是否开启 swagger-ui
#是否开启 swagger-ui
swagger
:
swagger
:
enabled
:
true
enabled
:
true
\ No newline at end of file
sms
:
app-id
:
oa-mobile
app-key
:
GY@mobile$2022
url
:
http://171.106.48.55:19891/ums/inside_new/sendBatch
src/main/resources/application-product.yml
View file @
9af12362
...
@@ -56,4 +56,10 @@ spring:
...
@@ -56,4 +56,10 @@ spring:
multi-statement-allow
:
true
multi-statement-allow
:
true
#是否开启 swagger-ui
#是否开启 swagger-ui
swagger
:
swagger
:
enabled
:
false
enabled
:
false
\ No newline at end of file
sms
:
app-id
:
oa-mobile
app-key
:
GY@mobile$2022
url
:
http://172.28.1.71:9888/ums/inside_new/sendBatch
\ No newline at end of file
src/main/resources/application-test.yml
View file @
9af12362
...
@@ -56,4 +56,9 @@ spring:
...
@@ -56,4 +56,9 @@ spring:
multi-statement-allow
:
true
multi-statement-allow
:
true
#是否开启 swagger-ui
#是否开启 swagger-ui
swagger
:
swagger
:
enabled
:
false
enabled
:
false
\ No newline at end of file
sms
:
app-id
:
oa-mobile
app-key
:
GY@mobile$2022
url
:
http://172.28.1.71:9888/ums/inside_new/sendBatch
\ No newline at end of file
src/main/resources/mapper/EmailPersonMapper.xml
View file @
9af12362
...
@@ -55,7 +55,7 @@
...
@@ -55,7 +55,7 @@
</if>
</if>
<if
test=
"s.attachName != null and s.attachName !='' "
>
<if
test=
"s.attachName != null and s.attachName !='' "
>
AND E
C
."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
AND E
A
."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
</if>
</if>
</where>
</where>
ORDER BY EP."ID" DESC
ORDER BY EP."ID" DESC
...
@@ -116,7 +116,7 @@
...
@@ -116,7 +116,7 @@
</if>
</if>
<if
test=
"s.attachName != null and s.attachName !='' "
>
<if
test=
"s.attachName != null and s.attachName !='' "
>
AND E
C
."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
AND E
A
."ATTACH_NAME" LIKE concat('%', #{s.attachName}, '%')
</if>
</if>
</where>
</where>
ORDER BY EP."ID" DESC
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