Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
街头小贩
jforum
提交
36498f0a
J
jforum
项目概览
街头小贩
/
jforum
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jforum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
36498f0a
编写于
9月 28, 2020
作者:
街头小贩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加Moderator相关事件的通知
上级
b210bd0a
变更
22
隐藏空白更改
内联
并排
Showing
22 changed file
with
188 addition
and
108 deletion
+188
-108
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/BoardConfigListener.java
...s/forum/core/impl/event/listener/BoardConfigListener.java
+0
-1
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/BoardStatsListener.java
...es/forum/core/impl/event/listener/BoardStatsListener.java
+0
-1
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/PostsStatsListener.java
...es/forum/core/impl/event/listener/PostsStatsListener.java
+0
-1
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/TopicStatsListener.java
...es/forum/core/impl/event/listener/TopicStatsListener.java
+0
-1
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/TopicTagListener.java
...ates/forum/core/impl/event/listener/TopicTagListener.java
+0
-1
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/listener/ForumLetterPostInboxListener.java
...box/impl/event/listener/ForumLetterPostInboxListener.java
+0
-1
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/MemberPenalizeChangeStatusListener.java
...pl/event/listener/MemberPenalizeChangeStatusListener.java
+2
-3
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/MemberSignUpInviteCodeListener.java
...r/impl/event/listener/MemberSignUpInviteCodeListener.java
+0
-1
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/MemberSignUpPromoteListener.java
...mber/impl/event/listener/MemberSignUpPromoteListener.java
+0
-1
trident/src/main/java/com/apobates/forum/trident/TridentAppConfig.java
...ain/java/com/apobates/forum/trident/TridentAppConfig.java
+2
-53
trident/src/main/java/com/apobates/forum/trident/event/MemberPenalizeNoticeListener.java
...tes/forum/trident/event/MemberPenalizeNoticeListener.java
+3
-0
trident/src/main/java/com/apobates/forum/trident/event/MemberSignInNoticeListener.java
...bates/forum/trident/event/MemberSignInNoticeListener.java
+3
-0
trident/src/main/java/com/apobates/forum/trident/event/MemberSignUpNoticeListener.java
...bates/forum/trident/event/MemberSignUpNoticeListener.java
+3
-0
trident/src/main/java/com/apobates/forum/trident/event/ModeratorBornChangeRoleListener.java
.../forum/trident/event/ModeratorBornChangeRoleListener.java
+38
-0
trident/src/main/java/com/apobates/forum/trident/event/ModeratorBornNoticeListener.java
...ates/forum/trident/event/ModeratorBornNoticeListener.java
+43
-23
trident/src/main/java/com/apobates/forum/trident/event/ModeratorRecallChangeRoleListener.java
...orum/trident/event/ModeratorRecallChangeRoleListener.java
+31
-0
trident/src/main/java/com/apobates/forum/trident/event/ModeratorRecallNoticeListener.java
...es/forum/trident/event/ModeratorRecallNoticeListener.java
+48
-17
trident/src/main/java/com/apobates/forum/trident/event/PostsDescriptorRecordListener.java
...es/forum/trident/event/PostsDescriptorRecordListener.java
+3
-0
trident/src/main/java/com/apobates/forum/trident/event/PostsMoodNoticeListener.java
...apobates/forum/trident/event/PostsMoodNoticeListener.java
+2
-0
trident/src/main/java/com/apobates/forum/trident/event/PostsQuoteNoticeListener.java
...pobates/forum/trident/event/PostsQuoteNoticeListener.java
+4
-2
trident/src/main/java/com/apobates/forum/trident/event/PostsReplyNoticeListener.java
...pobates/forum/trident/event/PostsReplyNoticeListener.java
+3
-2
trident/src/main/java/com/apobates/forum/trident/event/TopicMoveNoticeListener.java
...apobates/forum/trident/event/TopicMoveNoticeListener.java
+3
-0
未找到文件。
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/BoardConfigListener.java
浏览文件 @
36498f0a
...
...
@@ -31,5 +31,4 @@ public class BoardConfigListener implements ApplicationListener<BoardCreateEvent
boardConfigDao
.
save
(
boardConfig
);
logger
.
info
(
"[Event][Board][2]版块配置文件执行结束"
);
}
}
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/BoardStatsListener.java
浏览文件 @
36498f0a
...
...
@@ -27,5 +27,4 @@ public class BoardStatsListener implements ApplicationListener<BoardCreateEvent>
boardStatsDao
.
createStats
(
board
.
getId
(),
board
.
getVolumesId
());
logger
.
info
(
"[Event][Board][2]版块统计文件执行结束"
);
}
}
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/PostsStatsListener.java
浏览文件 @
36498f0a
...
...
@@ -34,5 +34,4 @@ public class PostsStatsListener implements ApplicationListener<PostsPublishEvent
topicStatsDao
.
updatePosts
(
posts
.
getTopicId
(),
posts
.
getMemberId
(),
posts
.
getMemberNickname
(),
posts
.
getEntryDateTime
(),
posts
.
getId
());
logger
.
info
(
"[Event][Posts][1]执行回复相关的统计更新结束"
);
}
}
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/TopicStatsListener.java
浏览文件 @
36498f0a
...
...
@@ -34,5 +34,4 @@ public class TopicStatsListener implements ApplicationListener<TopicPublishEvent
boardStatsDao
.
updateTopic
(
topic
.
getBoardId
(),
topic
.
getTitle
(),
topic
.
getId
(),
topic
.
getEntryDateTime
(),
topic
.
getMemberId
(),
topic
.
getMemberNickname
());
logger
.
info
(
"[Event][Topic][3]话题统计和版块统计处理结束"
);
}
}
core.impl/src/main/java/com/apobates/forum/core/impl/event/listener/TopicTagListener.java
浏览文件 @
36498f0a
...
...
@@ -33,5 +33,4 @@ public class TopicTagListener implements ApplicationListener<TopicPublishEvent>{
topicTagDao
.
batchSave
(
topic
.
getId
(),
topic
.
getTages
());
logger
.
info
(
"[Event][Topic][4]话题标签处理结束"
);
}
}
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/listener/ForumLetterPostInboxListener.java
浏览文件 @
36498f0a
...
...
@@ -34,5 +34,4 @@ public class ForumLetterPostInboxListener implements ApplicationListener<ForumLe
inboxDao
.
batchSave
(
letterEntryRecords
);
logger
.
info
(
"[Event][Letter][1]信件投递通知结束"
);
}
}
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/MemberChangeStatusListener.java
→
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/Member
Penalize
ChangeStatusListener.java
浏览文件 @
36498f0a
...
...
@@ -14,10 +14,10 @@ import com.apobates.forum.member.api.dao.MemberDao;
* @since 20190804
*/
@Component
public
class
MemberChangeStatusListener
implements
ApplicationListener
<
MemberPenalizeEvent
>{
public
class
Member
Penalize
ChangeStatusListener
implements
ApplicationListener
<
MemberPenalizeEvent
>{
@Autowired
private
MemberDao
memberDao
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MemberChangeStatusListener
.
class
);
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
Member
Penalize
ChangeStatusListener
.
class
);
@Override
public
void
onApplicationEvent
(
MemberPenalizeEvent
event
)
{
...
...
@@ -26,5 +26,4 @@ public class MemberChangeStatusListener implements ApplicationListener<MemberPen
memberDao
.
editMemberStatus
(
event
.
getMember
(),
event
.
getArrive
());
logger
.
info
(
"[Event][Member][11]惩罚状态更新结束"
);
}
}
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/MemberSignUpInviteCodeListener.java
浏览文件 @
36498f0a
...
...
@@ -29,5 +29,4 @@ public class MemberSignUpInviteCodeListener implements ApplicationListener<Membe
}
logger
.
info
(
"[Event][Member][3]注册成功后激活邀请码结束"
);
}
}
member.impl/src/main/java/com/apobates/forum/member/impl/event/listener/MemberSignUpPromoteListener.java
浏览文件 @
36498f0a
...
...
@@ -32,5 +32,4 @@ public class MemberSignUpPromoteListener implements ApplicationListener<MemberSi
}
logger
.
info
(
"[Event][Member][2]通知发送完毕"
);
}
}
trident/src/main/java/com/apobates/forum/trident/TridentAppConfig.java
浏览文件 @
36498f0a
...
...
@@ -7,12 +7,7 @@ import javax.sql.DataSource;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cache.jcache.JCacheCacheManager
;
import
org.springframework.cache.jcache.JCacheManagerFactoryBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.context.annotation.EnableLoadTimeWeaving
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.context.annotation.*
;
import
org.springframework.core.env.Environment
;
import
org.springframework.core.io.ClassPathResource
;
import
org.springframework.orm.jpa.JpaTransactionManager
;
...
...
@@ -27,15 +22,6 @@ import com.apobates.forum.core.impl.CoreModuleActionEventAspect;
import
com.apobates.forum.letterbox.impl.LetterAppConfig
;
import
com.apobates.forum.member.impl.MemberActionAspect
;
import
com.apobates.forum.member.impl.MemberAppConfig
;
import
com.apobates.forum.trident.event.MemberPenalizeNoticeListener
;
import
com.apobates.forum.trident.event.MemberSignInNoticeListener
;
import
com.apobates.forum.trident.event.MemberSignUpNoticeListener
;
import
com.apobates.forum.trident.event.ModeratorBornNoticeListener
;
import
com.apobates.forum.trident.event.ModeratorRecallNoticeListener
;
import
com.apobates.forum.trident.event.PostsMoodNoticeListener
;
import
com.apobates.forum.trident.event.PostsQuoteNoticeListener
;
import
com.apobates.forum.trident.event.PostsReplyNoticeListener
;
import
com.apobates.forum.trident.event.TopicMoveNoticeListener
;
/**
* Spring framework配置类
* @applicationContext.xml
...
...
@@ -49,6 +35,7 @@ import com.apobates.forum.trident.event.TopicMoveNoticeListener;
@EnableAspectJAutoProxy
(
proxyTargetClass
=
true
)
@EnableTransactionManagement
(
proxyTargetClass
=
true
)
@Import
(
value
={
MemberAppConfig
.
class
,
CoreAppConfig
.
class
,
LetterAppConfig
.
class
})
@ComponentScan
(
basePackages
=
{
"com.apobates.forum.trident.event"
},
useDefaultFilters
=
false
,
includeFilters
=
{
@ComponentScan
.
Filter
(
classes
=
{
org
.
springframework
.
stereotype
.
Component
.
class
})})
public
class
TridentAppConfig
{
@Autowired
private
Environment
env
;
...
...
@@ -150,44 +137,6 @@ public class TridentAppConfig{
public
CoreModuleActionEventAspect
buildCmae
(){
return
new
com
.
apobates
.
forum
.
core
.
impl
.
CoreModuleActionEventAspect
();
}
//CORE事件侦听器
@Bean
public
PostsReplyNoticeListener
registerReplyNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
PostsReplyNoticeListener
();
}
@Bean
public
PostsQuoteNoticeListener
registerQuoteNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
PostsQuoteNoticeListener
();
}
@Bean
public
PostsMoodNoticeListener
registerMoodNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
PostsMoodNoticeListener
();
}
@Bean
public
TopicMoveNoticeListener
registerTopicMoveNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
TopicMoveNoticeListener
();
}
@Bean
public
ModeratorRecallNoticeListener
registerMRRoleChangeNotice
()
{
return
new
ModeratorRecallNoticeListener
();
}
@Bean
public
ModeratorBornNoticeListener
registerMBRoleChangeNotice
()
{
return
new
ModeratorBornNoticeListener
();
}
//Member事件侦听器
@Bean
public
MemberSignUpNoticeListener
registerSignUpNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
MemberSignUpNoticeListener
();
}
@Bean
public
MemberSignInNoticeListener
registerSignInNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
MemberSignInNoticeListener
();
}
@Bean
public
MemberPenalizeNoticeListener
registerPenalizeNotice
(){
return
new
com
.
apobates
.
forum
.
trident
.
event
.
MemberPenalizeNoticeListener
();
}
@Bean
(
"tokenParamFilter"
)
public
Filter
requestTokenParameterFilter
(){
return
new
com
.
apobates
.
forum
.
trident
.
controller
.
helper
.
RequestTokenParameterFilter
();
...
...
trident/src/main/java/com/apobates/forum/trident/event/MemberPenalizeNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -8,11 +8,14 @@ import com.apobates.forum.letterbox.api.service.ForumLetterService;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.member.entity.MemberStatusEnum
;
import
com.apobates.forum.member.impl.event.MemberPenalizeEvent
;
import
org.springframework.stereotype.Component
;
/**
* 会员惩罚通知
* @author xiaofanku
* @since 20190804
*/
@Component
public
class
MemberPenalizeNoticeListener
implements
ApplicationListener
<
MemberPenalizeEvent
>{
@Autowired
private
ForumLetterService
forumLetterService
;
...
...
trident/src/main/java/com/apobates/forum/trident/event/MemberSignInNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -17,11 +17,14 @@ import com.apobates.forum.member.impl.event.MemberSignInEvent;
import
com.apobates.forum.utils.DateTimeUtils
;
import
com.apobates.forum.utils.ip.IPMatcher
;
import
com.apobates.forum.utils.ip.IPMatcher.IpMatchResult
;
import
org.springframework.stereotype.Component
;
/**
* 会员登录事件侦听器,异地登录通知
* @author xiaofanku
* @since 20190703
*/
@Component
public
class
MemberSignInNoticeListener
implements
ApplicationListener
<
MemberSignInEvent
>{
@Autowired
private
ForumLetterService
forumLetterService
;
...
...
trident/src/main/java/com/apobates/forum/trident/event/MemberSignUpNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -9,11 +9,14 @@ import com.apobates.forum.letterbox.api.service.ForumLetterService;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.member.entity.Member
;
import
com.apobates.forum.member.impl.event.MemberSignUpEvent
;
import
org.springframework.stereotype.Component
;
/**
* 会员注册事件侦听器,会员注册后的发送问候通知
* @author xiaofanku
* @since 20190703
*/
@Component
public
class
MemberSignUpNoticeListener
implements
ApplicationListener
<
MemberSignUpEvent
>{
@Autowired
private
ForumLetterService
forumLetterService
;
...
...
trident/src/main/java/com/apobates/forum/trident/event/ModeratorBornChangeRoleListener.java
0 → 100644
浏览文件 @
36498f0a
package
com.apobates.forum.trident.event
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
com.apobates.forum.core.entity.BoardModerator
;
import
com.apobates.forum.core.impl.event.ModeratorBornEvent
;
import
com.apobates.forum.member.api.dao.MemberDao
;
import
com.apobates.forum.member.entity.Member
;
import
com.apobates.forum.member.entity.MemberRoleEnum
;
import
org.springframework.stereotype.Component
;
/**
* 版主新生事件的角色变更监听器
*
* @author xiaofanku
* @since 20200831
*/
@Component
public
class
ModeratorBornChangeRoleListener
implements
ApplicationListener
<
ModeratorBornEvent
>{
@Autowired
private
MemberDao
memberDao
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ModeratorBornChangeRoleListener
.
class
);
//从BoardModeratorDaoImpl.pushModerator中取消MemberDao
@Override
public
void
onApplicationEvent
(
ModeratorBornEvent
e
)
{
logger
.
info
(
"[Event][Moderator][1]版主新生角色变更开始"
);
BoardModerator
moderator
=
e
.
getModerator
();
Member
member
=
e
.
getMember
();
MemberRoleEnum
currentRole
=
moderator
.
isVolumesMaster
()?
MemberRoleEnum
.
MASTER
:
MemberRoleEnum
.
BM
;
if
(
currentRole
.
getSymbol
()
>
member
.
getMrole
().
getSymbol
())
{
//更新会员的角色|这是升职了
memberDao
.
editMemberRole
(
member
.
getId
(),
currentRole
);
}
logger
.
info
(
"[Event][Moderator][1]版主新生角色变更结束"
);
}
}
trident/src/main/java/com/apobates/forum/trident/event/ModeratorBornNoticeListener.java
浏览文件 @
36498f0a
package
com.apobates.forum.trident.event
;
import
com.apobates.forum.core.api.service.BoardGroupService
;
import
com.apobates.forum.core.api.service.BoardService
;
import
com.apobates.forum.core.entity.Board
;
import
com.apobates.forum.core.entity.BoardGroup
;
import
com.apobates.forum.core.entity.BoardModerator
;
import
com.apobates.forum.core.entity.ModeratorLevelEnum
;
import
com.apobates.forum.core.impl.event.ModeratorBornEvent
;
import
com.apobates.forum.letterbox.api.service.ForumLetterService
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.member.entity.MemberRoleEnum
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
com.apobates.forum.core.entity.BoardModerator
;
import
com.apobates.forum.core.impl.event.ModeratorBornEvent
;
import
com.apobates.forum.member.api.dao.MemberDao
;
import
com.apobates.forum.member.entity.Member
;
import
com.apobates.forum.member.entity.MemberRoleEnum
;
import
java.util.Optional
;
/**
* 版主新生事件的角色变更监听器
*
* @author xiaofanku
* @since 20200831
*/
public
class
ModeratorBornNoticeListener
implements
ApplicationListener
<
ModeratorBornEvent
>{
public
class
ModeratorBornNoticeListener
implements
ApplicationListener
<
ModeratorBornEvent
>
{
@Autowired
private
BoardService
boardService
;
@Autowired
private
MemberDao
memberDao
;
private
BoardGroupService
boardGroupService
;
@Autowired
private
ForumLetterService
forumLetterService
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ModeratorBornNoticeListener
.
class
);
//从BoardModeratorDaoImpl.pushModerator中取消MemberDao
@Override
public
void
onApplicationEvent
(
ModeratorBornEvent
e
)
{
logger
.
info
(
"[Event][Moderator][1]版主新生角色变更开始"
);
BoardModerator
moderator
=
e
.
getModerator
();
Member
member
=
e
.
getMember
();
MemberRoleEnum
currentRole
=
moderator
.
isVolumesMaster
()?
MemberRoleEnum
.
MASTER
:
MemberRoleEnum
.
BM
;
if
(
currentRole
.
getSymbol
()
>
member
.
getMrole
().
getSymbol
())
{
//更新会员的角色|这是升职了
memberDao
.
editMemberRole
(
member
.
getId
(),
currentRole
);
public
void
onApplicationEvent
(
ModeratorBornEvent
event
)
{
logger
.
info
(
"[Moderator][BornEvent][2]版主任命通知开始发送"
);
BoardModerator
bm
=
event
.
getModerator
();
MemberRoleEnum
currentRole
=
bm
.
isVolumesMaster
()?
MemberRoleEnum
.
MASTER
:
MemberRoleEnum
.
BM
;
forumLetterService
.
create
(
getModeratorBornNotice
(
bm
.
getMemberId
(),
bm
.
getMemberNickname
(),
bm
.
getLevel
(),
currentRole
,
boardGroupService
.
get
(
bm
.
getVolumesId
()),
boardService
.
get
(
bm
.
getBoardId
())));
logger
.
info
(
"[Moderator][BornEvent][2]版主任命通知发送结束"
);
}
//生成任命通知
private
ForumLetter
getModeratorBornNotice
(
long
memberId
,
String
names
,
ModeratorLevelEnum
level
,
MemberRoleEnum
currentRole
,
Optional
<
BoardGroup
>
boardGroup
,
Optional
<
Board
>
board
)
{
String
section
=
""
;
if
(
MemberRoleEnum
.
MASTER
==
currentRole
&&
boardGroup
.
isPresent
()){
BoardGroup
bgr
=
boardGroup
.
get
();
section
=
String
.
format
(
"<a class=\"embed-link\" href=\"/board/volumes/%s.xhtml\">%s</a>的"
,
bgr
.
getConnect
(),
bgr
.
getTitle
());
}
if
(
MemberRoleEnum
.
BM
==
currentRole
&&
boardGroup
.
isPresent
()
&&
board
.
isPresent
()){
BoardGroup
bgr
=
boardGroup
.
get
();
Board
br
=
board
.
get
();
section
=
String
.
format
(
"<a class=\"embed-link\" href=\"/board/volumes/%s.xhtml\">%s</a> » <a class=\"embed-link\" href=\"/board/%s.xhtml\">%s</a>的"
,
bgr
.
getConnect
(),
bgr
.
getTitle
(),
br
.
getConnect
(),
br
.
getTitle
());
}
logger
.
info
(
"[Event][Moderator][1]版主新生角色变更结束"
);
String
content
=
String
.
format
(
"恭喜您加入社区管理团队, 您现在是%s%s%s"
,
section
,
level
.
getTitle
(),
currentRole
.
getTitle
());
//(String title, String content, long author, String authorNames, ForumLetterTypeEnum type)
return
new
ForumLetter
(
"版主任命通知"
,
content
,
memberId
,
names
);
}
}
trident/src/main/java/com/apobates/forum/trident/event/ModeratorRecallChangeRoleListener.java
0 → 100644
浏览文件 @
36498f0a
package
com.apobates.forum.trident.event
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
com.apobates.forum.core.entity.BoardModeratorRoleHistory
;
import
com.apobates.forum.core.impl.event.ModeratorRecallEvent
;
import
com.apobates.forum.member.api.dao.MemberDao
;
import
org.springframework.stereotype.Component
;
/**
* 版主卸任事件的角色变更监听器
*
* @author xiaofanku
* @since 20200831
*/
@Component
public
class
ModeratorRecallChangeRoleListener
implements
ApplicationListener
<
ModeratorRecallEvent
>{
@Autowired
private
MemberDao
memberDao
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ModeratorRecallChangeRoleListener
.
class
);
//从BoardModeratorDaoImpl.deleteModerator中取消MemberDao
@Override
public
void
onApplicationEvent
(
ModeratorRecallEvent
e
)
{
logger
.
info
(
"[Event][Moderator][2]版主卸任角色变更开始"
);
BoardModeratorRoleHistory
bmrh
=
e
.
getRemoveRoleHistory
();
memberDao
.
editMemberRole
(
bmrh
.
getMemberId
(),
e
.
getUpdateRole
());
logger
.
info
(
"[Event][Moderator][2]版主卸任角色变更结束"
);
}
}
trident/src/main/java/com/apobates/forum/trident/event/ModeratorRecallNoticeListener.java
浏览文件 @
36498f0a
package
com.apobates.forum.trident.event
;
import
com.apobates.forum.core.api.service.BoardGroupService
;
import
com.apobates.forum.core.api.service.BoardService
;
import
com.apobates.forum.core.entity.Board
;
import
com.apobates.forum.core.entity.BoardGroup
;
import
com.apobates.forum.core.entity.BoardModeratorRoleHistory
;
import
com.apobates.forum.core.impl.event.ModeratorRecallEvent
;
import
com.apobates.forum.letterbox.api.service.ForumLetterService
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.member.api.service.MemberService
;
import
com.apobates.forum.member.entity.Member
;
import
com.apobates.forum.member.entity.MemberRoleEnum
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
com.apobates.forum.core.entity.BoardModeratorRoleHistory
;
import
com.apobates.forum.core.impl.event.ModeratorRecallEvent
;
import
com.apobates.forum.member.api.dao.MemberDao
;
import
java.util.Optional
;
/**
* 版主卸任事件的角色变更监听器
*
* @author xiaofanku
* @since 20200831
*/
public
class
ModeratorRecallNoticeListener
implements
ApplicationListener
<
ModeratorRecallEvent
>{
public
class
ModeratorRecallNoticeListener
implements
ApplicationListener
<
ModeratorRecallEvent
>
{
@Autowired
private
BoardService
boardService
;
@Autowired
private
MemberDao
memberDao
;
private
BoardGroupService
boardGroupService
;
@Autowired
private
MemberService
memberSerivce
;
@Autowired
private
ForumLetterService
forumLetterService
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ModeratorRecallNoticeListener
.
class
);
//从BoardModeratorDaoImpl.deleteModerator中取消MemberDao
@Override
public
void
onApplicationEvent
(
ModeratorRecallEvent
e
)
{
logger
.
info
(
"[Event][Moderator][2]版主卸任角色变更开始"
);
BoardModeratorRoleHistory
bmrh
=
e
.
getRemoveRoleHistory
();
memberDao
.
editMemberRole
(
bmrh
.
getMemberId
(),
e
.
getUpdateRole
());
logger
.
info
(
"[Event][Moderator][2]版主卸任角色变更结束"
);
public
void
onApplicationEvent
(
ModeratorRecallEvent
event
)
{
logger
.
info
(
"[Moderator][RecallEvent][2]版主卸任通知开始发送"
);
final
BoardModeratorRoleHistory
mrh
=
event
.
getRemoveRoleHistory
();
final
MemberRoleEnum
currentRole
=
event
.
getUpdateRole
();
Optional
<
Member
>
member
=
memberSerivce
.
get
(
mrh
.
getMemberId
());
member
.
ifPresent
(
m
->
{
forumLetterService
.
create
(
getModeratorRecallNotice
(
m
.
getId
(),
m
.
getNickname
(),
boardGroupService
.
get
(
mrh
.
getVolumesId
()),
boardService
.
get
(
mrh
.
getBoardId
()),
currentRole
));
});
logger
.
info
(
"[Moderator][RecallEvent][2]版主卸任通知发送结束"
);
}
//生成卸任通知
private
ForumLetter
getModeratorRecallNotice
(
long
memberId
,
String
names
,
Optional
<
BoardGroup
>
boardGroup
,
Optional
<
Board
>
board
,
MemberRoleEnum
currentRole
)
{
String
section
=
""
;
if
(
MemberRoleEnum
.
MASTER
==
currentRole
&&
boardGroup
.
isPresent
()){
BoardGroup
bgr
=
boardGroup
.
get
();
section
=
String
.
format
(
"<a class=\"embed-link\" href=\"/board/volumes/%s.xhtml\">%s</a>的大"
,
bgr
.
getConnect
(),
bgr
.
getTitle
());
}
if
(
MemberRoleEnum
.
BM
==
currentRole
&&
boardGroup
.
isPresent
()
&&
board
.
isPresent
()){
BoardGroup
bgr
=
boardGroup
.
get
();
Board
br
=
board
.
get
();
section
=
String
.
format
(
"<a class=\"embed-link\" href=\"/board/volumes/%s.xhtml\">%s</a> » <a class=\"embed-link\" href=\"/board/%s.xhtml\">%s</a>的"
,
bgr
.
getConnect
(),
bgr
.
getTitle
(),
br
.
getConnect
(),
br
.
getTitle
());
}
String
content
=
String
.
format
(
"您现在已经辞去%s版主! 感谢您对社区孜孜不倦的工作付出, 您当前的会员角色: %s"
,
section
,
currentRole
.
getTitle
());
return
new
ForumLetter
(
"版主卸任通知"
,
content
,
memberId
,
names
);
}
}
trident/src/main/java/com/apobates/forum/trident/event/PostsDescriptorRecordListener.java
浏览文件 @
36498f0a
...
...
@@ -12,12 +12,15 @@ import com.apobates.forum.core.impl.event.PostsPublishEvent;
import
com.apobates.forum.utils.ip.IPMatcher
;
import
com.apobates.forum.utils.ip.IPMatcher.IpMatchResult
;
import
eu.bitwalker.useragentutils.UserAgent
;
import
org.springframework.stereotype.Component
;
/**
* 回复操作描述记录
*
* @author xiaofanku
*
*/
@Component
public
class
PostsDescriptorRecordListener
implements
ApplicationListener
<
PostsPublishEvent
>{
@Autowired
private
PostsDescriptorDao
postsDescriptorDao
;
...
...
trident/src/main/java/com/apobates/forum/trident/event/PostsMoodNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -12,6 +12,7 @@ import com.apobates.forum.core.impl.event.PostsMoodEvent;
import
com.apobates.forum.letterbox.api.service.ForumLetterService
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.utils.DateTimeUtils
;
import
org.springframework.stereotype.Component
;
/**
* 回复喜好动作通知
...
...
@@ -19,6 +20,7 @@ import com.apobates.forum.utils.DateTimeUtils;
* @author xiaofanku
* @since 20191116
*/
@Component
public
class
PostsMoodNoticeListener
implements
ApplicationListener
<
PostsMoodEvent
>{
@Autowired
private
PostsService
postsService
;
...
...
trident/src/main/java/com/apobates/forum/trident/event/PostsQuoteNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -14,12 +14,15 @@ import com.apobates.forum.core.entity.Topic;
import
com.apobates.forum.core.impl.event.PostsPublishEvent
;
import
com.apobates.forum.letterbox.api.service.ForumLetterService
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
org.springframework.stereotype.Component
;
/**
* 回复的引用通知
*
* @author xiaofanku
* @since 20200301
*/
@Component
public
class
PostsQuoteNoticeListener
implements
ApplicationListener
<
PostsPublishEvent
>{
@Autowired
private
TopicDao
topicDao
;
...
...
@@ -53,7 +56,7 @@ public class PostsQuoteNoticeListener implements ApplicationListener<PostsPublis
//生成引用通知
private
ForumLetter
getQuoteNotice
(
Topic
topic
,
Posts
posts
,
long
authorId
,
String
authorNickname
,
long
authorReplyFloor
){
String
floorLink
=
String
.
format
(
"/topic/%s.xhtml#posts-%d"
,
topic
.
getConnect
(),
posts
.
getId
());
ForumLetter
fl
=
new
ForumLetter
(
return
new
ForumLetter
(
posts
.
getMemberNickname
()+
"引用了您的回复"
,
String
.
format
(
"<p><a href=\"/member/%d.xhtml\">%s</a>引用了您在<a href=\"%s\">#%s#</a>%d楼发布的回复内容</p>"
,
...
...
@@ -64,7 +67,6 @@ public class PostsQuoteNoticeListener implements ApplicationListener<PostsPublis
authorReplyFloor
),
authorId
,
authorNickname
);
return
fl
;
}
//提取blockquote属性的cite
private
long
parseBlockquoteTag
(
String
postsContent
){
...
...
trident/src/main/java/com/apobates/forum/trident/event/PostsReplyNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -14,6 +14,7 @@ import com.apobates.forum.core.impl.event.PostsPublishEvent;
import
com.apobates.forum.letterbox.api.service.ForumLetterService
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.utils.Commons
;
import
org.springframework.stereotype.Component
;
/**
* 回复创建侦听器,如果话题开启了回复通知负责向楼主发送通知
...
...
@@ -21,6 +22,7 @@ import com.apobates.forum.utils.Commons;
* @author xiaofanku
* @since 20190703
*/
@Component
public
class
PostsReplyNoticeListener
implements
ApplicationListener
<
PostsPublishEvent
>{
@Autowired
private
TopicDao
topicDao
;
...
...
@@ -56,7 +58,7 @@ public class PostsReplyNoticeListener implements ApplicationListener<PostsPublis
//content: {张三}: {回复内容} #{主题}#
String
floorLink
=
String
.
format
(
"/topic/%s.xhtml#posts-%d"
,
topic
.
getConnect
(),
posts
.
getId
());
//(String title, String content, long author, String authorNames, ForumLetterTypeEnum type)
ForumLetter
fl
=
new
ForumLetter
(
return
new
ForumLetter
(
posts
.
getMemberNickname
()+
"回复了您的主题"
,
String
.
format
(
"<p><strong><a href=\"/member/%d.xhtml\">%s</a>: </strong>%s <a class=\"embed-link\" href=\"%s\">#%s#</a></p>"
,
//<a href=\"/member/%d.xhtml\">%s</a>回复了您在<a href=\"/board/%d.xhtml\">%s</a>版块中发布的话题<a href=\"/topic/%d.xhtml\">#%s#</a>
...
...
@@ -67,6 +69,5 @@ public class PostsReplyNoticeListener implements ApplicationListener<PostsPublis
topic
.
getTitle
()),
topic
.
getMemberId
(),
topic
.
getMemberNickname
());
return
fl
;
}
}
trident/src/main/java/com/apobates/forum/trident/event/TopicMoveNoticeListener.java
浏览文件 @
36498f0a
...
...
@@ -9,12 +9,15 @@ import com.apobates.forum.core.impl.event.TopicMoveEvent;
import
com.apobates.forum.letterbox.api.service.ForumLetterService
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.utils.DateTimeUtils
;
import
org.springframework.stereotype.Component
;
/**
* 话题移动通知侦听器
*
* @author xiaofanku
* @since 20191117
*/
@Component
public
class
TopicMoveNoticeListener
implements
ApplicationListener
<
TopicMoveEvent
>{
@Autowired
private
ForumLetterService
forumLetterService
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录