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
107746a6
Commit
107746a6
authored
Sep 20, 2023
by
chentianzhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
已读关闭代办,外网数据回内网显示问题
parent
aeb05cca
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
81 additions
and
79 deletions
+81
-79
pom.xml
+1
-1
src/main/java/com/zq/email/config/MyThreadPoolTaskExecutor.java
+49
-49
src/main/java/com/zq/email/controller/EmailController.java
+4
-0
src/main/java/com/zq/email/service/impl/EmailAttachServiceImpl.java
+4
-0
src/main/java/com/zq/email/service/impl/EmailPersonServiceImpl.java
+5
-18
src/main/java/com/zq/email/utils/MsgUtil.java
+17
-9
src/main/resources/logback-spring.xml
+0
-0
src/main/resources/mapper/EmailPersonMapper.xml
+1
-2
No files found.
pom.xml
View file @
107746a6
...
...
@@ -25,7 +25,7 @@
<dependency>
<groupId>
com.zq
</groupId>
<artifactId>
oa-common-client
</artifactId>
<version>
1.2.
7
</version>
<version>
1.2.
9
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
...
...
src/main/java/com/zq/email/config/MyThreadPoolTaskExecutor.java
View file @
107746a6
package
com
.
zq
.
email
.
config
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.web.context.request.RequestAttributes
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
java.util.concurrent.Callable
;
import
java.util.concurrent.Future
;
/**
* 解决异步丢失请求信息
*
* @author wilmiam
* @since 2022/12/10 16:23
*/
public
class
MyThreadPoolTaskExecutor
extends
ThreadPoolTaskExecutor
{
public
MyThreadPoolTaskExecutor
()
{
super
();
}
@Override
public
void
execute
(
Runnable
task
)
{
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
super
.
execute
(()
->
{
RequestContextHolder
.
setRequestAttributes
(
requestAttributes
);
task
.
run
();
});
}
@Override
public
<
T
>
Future
<
T
>
submit
(
Callable
<
T
>
task
)
{
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
return
super
.
submit
(()
->
{
RequestContextHolder
.
setRequestAttributes
(
requestAttributes
);
return
task
.
call
();
});
}
@Override
public
Future
<?>
submit
(
Runnable
task
)
{
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
return
super
.
submit
(()
->
{
RequestContextHolder
.
setRequestAttributes
(
requestAttributes
);
task
.
run
();
});
}
}
//
package com.zq.email.config;
//
//
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
//
import org.springframework.web.context.request.RequestAttributes;
//
import org.springframework.web.context.request.RequestContextHolder;
//
//
import java.util.concurrent.Callable;
//
import java.util.concurrent.Future;
//
/
//
**
//
* 解决异步丢失请求信息
//
*
//
* @author wilmiam
//
* @since 2022/12/10 16:23
//
*/
//
public class MyThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
//
//
public MyThreadPoolTaskExecutor() {
//
super();
//
}
//
//
@Override
//
public void execute(Runnable task) {
//
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
//
super.execute(() -> {
//
RequestContextHolder.setRequestAttributes(requestAttributes);
//
task.run();
//
});
//
}
//
//
@Override
//
public <T> Future<T> submit(Callable<T> task) {
//
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
//
return super.submit(() -> {
//
RequestContextHolder.setRequestAttributes(requestAttributes);
//
return task.call();
//
});
//
}
//
//
@Override
//
public Future<?> submit(Runnable task) {
//
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
//
return super.submit(() -> {
//
RequestContextHolder.setRequestAttributes(requestAttributes);
//
task.run();
//
});
//
}
//
//
}
src/main/java/com/zq/email/controller/EmailController.java
View file @
107746a6
...
...
@@ -2,6 +2,7 @@ package com.zq.email.controller;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.zq.common.utils.AssertUtils
;
import
com.zq.common.utils.TokenUtils
;
import
com.zq.common.vo.OnlineUserDto
;
...
...
@@ -104,6 +105,9 @@ public class EmailController {
AssertUtils
.
notNull
(
content
,
"邮件内容读取失败"
);
EmailPerson
emailPerson
=
emailPersonService
.
getByContentAndFolderId
(
content
.
getId
(),
content
.
getSendTime
(),
vo
.
getFolderId
());
emailPerson
.
setEmailContent
(
content
);
// if (emailPerson.getIsRead().equals(WhetherEnum.NO.getKey())) {
// msgUtil.doneMsgByBusinessIdAndReceiverId(person.getEmailContentId(), person.getUserId());
// }
return
ResultVo
.
success
(
emailPerson
);
}
...
...
src/main/java/com/zq/email/service/impl/EmailAttachServiceImpl.java
View file @
107746a6
...
...
@@ -136,6 +136,8 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
}
else
{
if
(
profile
.
contains
(
"wan"
))
{
download
=
download
.
replaceAll
(
"147.2.3.3"
,
"172.28.1.71"
);
}
else
{
download
=
download
.
replaceAll
(
"172.28.1.71"
,
"147.2.3.3"
);
}
}
return
download
;
...
...
@@ -157,6 +159,8 @@ public class EmailAttachServiceImpl extends ServiceImpl<EmailAttachMapper, Email
}
else
{
if
(
profile
.
equals
(
"wanpro"
)
||
profile
.
equals
(
"wantest"
))
{
download
=
download
.
replaceAll
(
"147.2.3.3"
,
"172.28.1.71"
);
}
else
{
download
=
download
.
replaceAll
(
"172.28.1.71"
,
"147.2.3.3"
);
}
}
return
download
;
...
...
src/main/java/com/zq/email/service/impl/EmailPersonServiceImpl.java
View file @
107746a6
...
...
@@ -426,22 +426,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
List
<
Long
>
ids
=
personList
.
stream
().
map
(
EmailPerson:
:
getId
).
collect
(
Collectors
.
toList
());
for
(
EmailPerson
person
:
personList
)
{
if
(
vo
.
getIsRead
().
equals
(
WhetherEnum
.
YES
.
getKey
()))
{
msgUtil
.
doneMsgByBusinessIdAndReceiverId
(
person
.
getEmailContentId
(),
person
.
getUserId
());
}
// else{
// //获取代办前端路径
// ResultVo<SystemInfo> bySystemTag = this.adminFeignClient.getBySystemTag(EmailConstant.SYSTEM_TAG);
// AssertUtils.isTrue(bySystemTag.isSuccess(), "调用admin服务,获取业务系统异常");
// SystemInfo systemInfo = bySystemTag.getData();
// AssertUtils.notNull(systemInfo, "调用admin服务异常,获取业务系统为空");
//
// EmailContent content = this.emailContentService.getById(person.getId());
//
// List<Long> receiverList = new ArrayList<>();
// receiverList.add(person.getUserId());
// msgUtil.sendMsg2(adminContext.getNickName(), content, receiverList, systemInfo, EmailFolderEnum.FOLDER_INBOX.getKey());
// }
msgUtil
.
doneMsgByBusinessIdAndReceiverId
(
person
.
getEmailContentId
(),
person
.
getUserId
());
}
this
.
lambdaUpdate
().
in
(
EmailPerson:
:
getId
,
ids
)
...
...
@@ -749,6 +734,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
vo
.
setIsPerson
(
WhetherEnum
.
YES
.
getKey
());
vo
.
setIsSend
(
WhetherEnum
.
NO
.
getKey
());
vo
.
setUserId
(
adminContext
.
getUserId
());
vo
.
setSendUserId
(
null
);
break
;
case
FOLDER_ALREADY_SEND:
//已发送
...
...
@@ -780,6 +766,7 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
}
}
Page
<
EmailPerson
>
page
=
new
Page
<>(
vo
.
getPage
(),
vo
.
getSize
());
page
.
setSearchCount
(
false
).
setOptimizeCountSql
(
false
);
page
=
this
.
baseMapper
.
selectSearchPage
(
page
,
vo
);
if
(
page
!=
null
&&
page
.
getRecords
()!=
null
){
for
(
EmailPerson
person
:
page
.
getRecords
())
{
...
...
@@ -798,9 +785,9 @@ public class EmailPersonServiceImpl extends ServiceImpl<EmailPersonMapper, Email
if
(
profile
.
contains
(
"wan"
))
{
// content.setSendUserPhoto(StrUtil.isNotBlank(data.getPhoto())?data.getPhoto()
// .replace("http://147.1.3.87", "http://172.28.1.159:82"):data.getPhoto());
String
replace
=
data
.
getPhoto
()
String
replace
=
StrUtil
.
isNotBlank
(
data
.
getPhoto
())?
data
.
getPhoto
()
.
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
);
//userDto.setPhoto();
}
else
{
...
...
src/main/java/com/zq/email/utils/MsgUtil.java
View file @
107746a6
package
com
.
zq
.
email
.
utils
;
import
cn.hutool.core.collection.ListUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.zq.common.vo.CustomerUserVo
;
import
com.zq.common.vo.ResultVo
;
import
com.zq.email.constants.EmailConstant
;
import
com.zq.email.dto.SystemInfo
;
import
com.zq.email.dto.admin.UserDto
;
...
...
@@ -13,9 +15,7 @@ import org.springframework.scheduling.annotation.Async;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -35,13 +35,14 @@ public class MsgUtil {
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"sender"
,
sender
);
params
.
put
(
"senderId"
,
content
.
getSendUserId
());
params
.
put
(
"nickName"
,
sender
);
params
.
put
(
"title"
,
"您有一封新邮件提醒"
);
params
.
put
(
"content"
,
"请查收我的邮件!主题:"
+
content
.
getTitle
()+
"。"
);
params
.
put
(
"userIdList"
,
userVoList
.
stream
().
map
(
e
->
e
.
getId
()).
collect
(
Collectors
.
toList
()));
params
.
put
(
"businessId"
,
content
.
getId
());
params
.
put
(
"jumpUrl"
,
systemInfo
.
getHomeUrl
()
+
"/#/detail?folderId="
+
folderId
+
"&contentId="
+
content
.
getId
());
log
.
debug
(
"---发送内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
log
.
warn
(
"---发送内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
messageFeignClient
.
sendApi
(
params
);
messageFeignClient
.
addToDoApi
(
params
);
}
...
...
@@ -53,13 +54,14 @@ public class MsgUtil {
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"sender"
,
sender
);
params
.
put
(
"senderId"
,
content
.
getSendUserId
());
params
.
put
(
"nickName"
,
sender
);
params
.
put
(
"title"
,
"您有一封新邮件提醒"
);
params
.
put
(
"content"
,
"请查收我的邮件!主题:"
+
content
.
getTitle
()+
"。"
);
params
.
put
(
"userIdList"
,
userIds
);
params
.
put
(
"businessId"
,
content
.
getId
());
params
.
put
(
"jumpUrl"
,
systemInfo
.
getHomeUrl
()
+
"/#/detail?folderId="
+
folderId
+
"&contentId="
+
content
.
getId
());
log
.
debug
(
"---发送内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
log
.
warn
(
"---发送内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
messageFeignClient
.
sendApi
(
params
);
messageFeignClient
.
addToDoApi
(
params
);
}
...
...
@@ -71,7 +73,7 @@ public class MsgUtil {
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"businessId"
,
businessId
);
log
.
debug
(
"---撤回内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
log
.
warn
(
"---撤回内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
messageFeignClient
.
delMessageBySystem
(
params
);
messageFeignClient
.
delTodoMessageBySystem
(
params
);
}
...
...
@@ -85,7 +87,7 @@ public class MsgUtil {
params
.
put
(
"businessId"
,
businessId
);
params
.
put
(
"receiverId"
,
receiverId
);
params
.
put
(
"todoUserId"
,
receiverId
);
log
.
debug
(
"---撤回内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
log
.
warn
(
"---撤回内部消息打印内容: {}"
,
JSONUtil
.
toJsonStr
(
params
));
messageFeignClient
.
delMessageBySystem
(
params
);
messageFeignClient
.
delTodoMessageBySystem
(
params
);
}
...
...
@@ -98,10 +100,16 @@ public class MsgUtil {
params
.
put
(
"systemTag"
,
EmailConstant
.
SYSTEM_TAG
);
params
.
put
(
"businessId"
,
businessId
);
params
.
put
(
"todoUserId"
,
receiverId
);
params
.
put
(
"ids"
,
SetUtils
.
newIdentityHashSet
().
add
(
receiverId
));
log
.
debug
(
"---已读消息代办: {}"
,
JSONUtil
.
toJsonStr
(
params
));
LinkedHashSet
<
Long
>
receiverIds
=
new
LinkedHashSet
<>();
receiverIds
.
add
(
receiverId
);
params
.
put
(
"ids"
,
receiverIds
);
log
.
warn
(
"---已读消息代办: {}"
,
JSONUtil
.
toJsonStr
(
params
));
messageFeignClient
.
batchSetReadByUser
(
params
,
String
.
valueOf
(
businessId
));
messageFeignClient
.
doneByBusinessIdAndSystemTagAndTodoUserId
(
params
);
// ResultVo resultVo = messageFeignClient.batchSetReadByUser(params, String.valueOf(businessId));
// ResultVo resultVo1 = messageFeignClient.doneByBusinessIdAndSystemTagAndTodoUserId(params);
// log.warn("---已读消息代办返回: {}", JSONUtil.toJsonStr(resultVo));
// log.warn("---已读消息代办返回: {}", JSONUtil.toJsonStr(resultVo1));
}
...
...
src/main/resources/logback-spring.xml
View file @
107746a6
This diff is collapsed.
Click to expand it.
src/main/resources/mapper/EmailPersonMapper.xml
View file @
107746a6
...
...
@@ -4,7 +4,7 @@
<select
id=
"selectSearchTotal"
resultType=
"integer"
parameterType=
"com.zq.email.vo.EmailSearchReqVo"
>
SELECT
COUNT(
EP."ID"
)
COUNT(
1
)
FROM
"EMAIL_PERSON" EP
<where>
...
...
@@ -88,7 +88,6 @@
<select
id=
"selectSearchPage"
resultType=
"com.zq.email.entity.EmailPerson"
parameterType=
"com.zq.email.vo.EmailSearchReqVo"
>
SELECT
EP1.*
FROM
...
...
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