Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
街头小贩
Jforum2
提交
64f95be3
J
Jforum2
项目概览
街头小贩
/
Jforum2
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Jforum2
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
64f95be3
编写于
9月 25, 2020
作者:
街头小贩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
将Letter相关的事件改为RedisQ
上级
f52d8933
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
92 addition
and
82 deletion
+92
-82
core.impl/src/main/java/com/apobates/forum/core/impl/service/BoardModeratorServiceImpl.java
...es/forum/core/impl/service/BoardModeratorServiceImpl.java
+0
-4
core.impl/src/main/java/com/apobates/forum/core/impl/service/BoardServiceImpl.java
...om/apobates/forum/core/impl/service/BoardServiceImpl.java
+1
-6
core.impl/src/main/java/com/apobates/forum/core/impl/service/PostsMoodRecordsServiceImpl.java
.../forum/core/impl/service/PostsMoodRecordsServiceImpl.java
+0
-3
core.impl/src/main/java/com/apobates/forum/core/impl/service/PostsServiceImpl.java
...om/apobates/forum/core/impl/service/PostsServiceImpl.java
+0
-3
core.impl/src/main/java/com/apobates/forum/core/impl/service/TopicServiceImpl.java
...om/apobates/forum/core/impl/service/TopicServiceImpl.java
+2
-14
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/LetterAppConfig.java
...va/com/apobates/forum/letterbox/impl/LetterAppConfig.java
+33
-1
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/ForumLetterEventPublisher.java
...forum/letterbox/impl/event/ForumLetterEventPublisher.java
+0
-24
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/ForumLetterPostEvent.java
...ates/forum/letterbox/impl/event/ForumLetterPostEvent.java
+14
-8
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/ForumLetterPostInboxListener.java
...um/letterbox/impl/event/ForumLetterPostInboxListener.java
+15
-10
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/service/ForumLetterServiceImpl.java
.../forum/letterbox/impl/service/ForumLetterServiceImpl.java
+5
-4
letterbox.impl/src/main/java/module-info.java
letterbox.impl/src/main/java/module-info.java
+1
-0
letterbox/src/main/java/com/apobates/forum/letterbox/entity/ForumLetterReceiver.java
.../apobates/forum/letterbox/entity/ForumLetterReceiver.java
+13
-4
letterbox/src/main/java/com/apobates/forum/letterbox/entity/proxy/ForumLetterReplica.java
...ates/forum/letterbox/entity/proxy/ForumLetterReplica.java
+8
-0
member.impl/src/main/java/com/apobates/forum/member/impl/service/MemberVipExchangeRecordsServiceImpl.java
...ber/impl/service/MemberVipExchangeRecordsServiceImpl.java
+0
-1
未找到文件。
core.impl/src/main/java/com/apobates/forum/core/impl/service/BoardModeratorServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -54,8 +54,6 @@ public class BoardModeratorServiceImpl implements BoardModeratorService{
private
BoardModeratorDao
boardModeratorDao
;
@Autowired
private
BoardModeratorRoleHistoryDao
boardModeratorRoleHistoryDao
;
//@Autowired
//private ForumEventPublisher forumEventPublisher;
@Autowired
@Qualifier
(
"moderatorBornProducer"
)
private
MessageProducer
<
ModeratorBornEvent
>
moderatorBornProducer
;
@Autowired
@Qualifier
(
"moderatorRecallProducer"
)
...
...
@@ -153,7 +151,6 @@ public class BoardModeratorServiceImpl implements BoardModeratorService{
//版主权限
try
{
boardModeratorDao
.
deleteModerator
(
removeHis
);
//forumEventPublisher.buildModeratorRecallEvent(new ModeratorRecallEvent(this, removeHis, updateRole));
moderatorRecallProducer
.
create
(
new
ModeratorRecallEvent
(
removeHis
,
updateRole
)).
submit
();
return
Optional
.
of
(
true
);
}
catch
(
Exception
e
){
...
...
@@ -250,7 +247,6 @@ public class BoardModeratorServiceImpl implements BoardModeratorService{
try
{
Optional
<
BoardModerator
>
data
=
boardModeratorDao
.
pushModerator
(
moderator
,
memberRoleHistory
);
if
(
data
.
isPresent
()){
//forumEventPublisher.buildModeratorBornEvent(new ModeratorBornEvent(this, moderator, member, memberRoleHistory));
moderatorBornProducer
.
create
(
new
ModeratorBornEvent
(
moderator
,
member
,
memberRoleHistory
)).
submit
();
}
return
data
;
...
...
core.impl/src/main/java/com/apobates/forum/core/impl/service/BoardServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -64,8 +64,6 @@ public class BoardServiceImpl implements BoardService{
private
BoardConfigDao
boardConfigDao
;
@Autowired
private
BoardActionCollectionDao
boardActionCollectionDao
;
//@Autowired
//private ForumEventPublisher forumEventPublisher;
@Autowired
@Qualifier
(
"boardCreateProducer"
)
private
MessageProducer
<
BoardCreateEvent
>
boardCreateProducer
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
BoardServiceImpl
.
class
);
...
...
@@ -162,7 +160,6 @@ public class BoardServiceImpl implements BoardService{
try
{
boardDao
.
save
(
board
);
if
(
board
.
getId
()
>
0
)
{
//forumEventPublisher.publishBoardEvent(new BoardCreateEvent(this, board));
boardCreateProducer
.
create
(
new
BoardCreateEvent
(
board
)).
submit
();
return
Optional
.
of
(
board
);
}
...
...
@@ -182,8 +179,7 @@ public class BoardServiceImpl implements BoardService{
@ActionDescriptor
(
action
=
ForumActionEnum
.
BOARD_FAVORITE
)
@Override
public
Optional
<
Boolean
>
favorite
(
long
id
,
ActionEventCulpritor
culpritor
)
throws
IllegalStateException
{
//ASP-B4 | 20200709
boolean
isFavorited
=
isFavorited
(
id
,
culpritor
.
getMemberId
());
if
(!
isFavorited
)
{
if
(!
isFavorited
(
id
,
culpritor
.
getMemberId
()))
{
throw
new
IllegalStateException
(
"收藏记录已经存在"
);
}
//更新版块统计的fac
...
...
@@ -237,7 +233,6 @@ public class BoardServiceImpl implements BoardService{
try
{
boardDao
.
save
(
board
);
if
(
board
.
getId
()
>
0
)
{
//forumEventPublisher.publishBoardEvent(new BoardCreateEvent(this, board, BoardConfig.originConfig(board.getId())));
boardCreateProducer
.
create
(
new
BoardCreateEvent
(
board
,
BoardConfig
.
originConfig
(
board
.
getId
()))).
submit
();
return
board
.
getId
();
}
...
...
core.impl/src/main/java/com/apobates/forum/core/impl/service/PostsMoodRecordsServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -42,8 +42,6 @@ public class PostsMoodRecordsServiceImpl implements PostsMoodRecordsService{
private
PostsMoodRecordsDao
postsMoodRecordsDao
;
@Autowired
private
PostsDao
postsDao
;
//@Autowired
//private ForumEventPublisher forumEventPublisher;
@Autowired
@Qualifier
(
"postsMoodProducer"
)
private
MessageProducer
<
PostsMoodEvent
>
postsMoodProducer
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PostsMoodRecordsServiceImpl
.
class
);
...
...
@@ -93,7 +91,6 @@ public class PostsMoodRecordsServiceImpl implements PostsMoodRecordsService{
try
{
postsMoodRecordsDao
.
save
(
pmr
);
if
(
pmr
.
getId
()
>
0
)
{
//forumEventPublisher.publishPostsLikeEvent(new PostsMoodEvent(this, pmr));
postsMoodProducer
.
create
(
new
PostsMoodEvent
(
pmr
)).
submit
();
return
pmr
.
getId
();
}
...
...
core.impl/src/main/java/com/apobates/forum/core/impl/service/PostsServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -51,8 +51,6 @@ public class PostsServiceImpl implements PostsService{
private
TopicDao
topicDao
;
@Autowired
private
MemberService
memberService
;
//@Autowired
//private ForumEventPublisher forumEventPublisher;
@Autowired
@Qualifier
(
"postsPublishProducer"
)
private
MessageProducer
<
PostsPublishEvent
>
postsPublishProducer
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
PostsServiceImpl
.
class
);
...
...
@@ -72,7 +70,6 @@ public class PostsServiceImpl implements PostsService{
Posts
posts
=
new
Posts
(
encodePostsContent
,
culpritor
.
getMemberId
(),
culpritor
.
getMemberNickname
(),
topicId
,
boardGroupId
,
boardId
,
-
1
,
culpritor
.
getIpAddr
());
postsDao
.
save
(
posts
);
if
(
posts
.
getId
()
>
0
)
{
//forumEventPublisher.publishPostsEvent(new PostsPublishEvent(this, posts, culpritor.getUserAgent()));
postsPublishProducer
.
create
(
new
PostsPublishEvent
(
posts
,
culpritor
.
getUserAgent
())).
submit
();
return
posts
.
getId
();
}
...
...
core.impl/src/main/java/com/apobates/forum/core/impl/service/TopicServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -106,8 +106,6 @@ public class TopicServiceImpl implements TopicService{
private
TopicTagDao
topicTagDao
;
@Autowired
private
TopicCategoryDao
topicCategoryDao
;
//@Autowired
//private ForumEventPublisher forumEventPublisher;
@Autowired
@Qualifier
(
"topicPublishProducer"
)
private
MessageProducer
<
TopicPublishEvent
>
topicPublishProducer
;
@Autowired
@Qualifier
(
"topicMoveProducer"
)
...
...
@@ -223,9 +221,6 @@ public class TopicServiceImpl implements TopicService{
//原版块话题-1,新版块话题+1
//原版块回复-d.successValue,新版块回复+d.successValue
boardStatsDao
.
balanceTopicPosts
(
targetBoardId
,
boardId
,
affect
);
//1话题的内容
//if (data.isSuccess()) {
//forumEventPublisher.publishMoveTopicEvent(new TopicMoveEvent(this, topic, topic.getBoard(), targetBoardObj, culpritor.getMemberNickname()));
//}
topicMoveProducer
.
create
(
new
TopicMoveEvent
(
topic
,
topic
.
getBoard
(),
targetBoardObj
,
culpritor
.
getMemberNickname
())).
submit
();
return
Optional
.
of
(
true
);
}
...
...
@@ -398,10 +393,8 @@ public class TopicServiceImpl implements TopicService{
// 最后一步
Optional
<
TopicReplica
>
tr
=
storeReplicaTopic
(
pt
,
oneFloorPosts
,
null
,
null
,
config
,
culpritor
.
getUserAgent
());
// 发布事件
//final Object eventTarget = this;
final
ForumActionEnum
action
=
topicBuildPlug
.
getAction
();
tr
.
ifPresent
((
TopicReplica
tr1
)
->
{
//forumEventPublisher.publishPlugTopicEvent(new PlugTopicPublishEvent(eventTarget, tr1, action, culpritor));
Topic
t
=
tr1
.
toEventPayload
();
plugTopicPublishProducer
.
create
(
new
PlugTopicPublishEvent
(
t
,
tr1
.
getConfigure
(),
tr1
.
getContent
().
getId
(),
action
,
culpritor
));
});
...
...
@@ -432,9 +425,7 @@ public class TopicServiceImpl implements TopicService{
// 最后一步
Optional
<
TopicReplica
>
tr
=
storeReplicaTopic
(
pt
,
oneFloorPosts
,
null
,
null
,
config
,
culpritor
.
getUserAgent
());
// 发布事件
// final Object eventTarget = this;
tr
.
ifPresent
((
TopicReplica
tr1
)
->
{
//forumEventPublisher.publishPlugTopicEvent(new PlugTopicPublishEvent(eventTarget, tr1, action, culpritor));
Topic
t
=
tr1
.
toEventPayload
();
plugTopicPublishProducer
.
create
(
new
PlugTopicPublishEvent
(
t
,
tr1
.
getConfigure
(),
tr1
.
getContent
().
getId
(),
action
,
culpritor
)).
submit
();
});
...
...
@@ -476,8 +467,7 @@ public class TopicServiceImpl implements TopicService{
@Override
public
Optional
<
Boolean
>
like
(
long
id
,
ActionEventCulpritor
culpritor
)
throws
IllegalStateException
{
//ASP-T3 | 20200709
//不能重复点赞
boolean
isLiked
=
isLiked
(
id
,
culpritor
.
getMemberId
());
if
(!
isLiked
)
{
if
(!
isLiked
(
id
,
culpritor
.
getMemberId
()))
{
throw
new
IllegalStateException
(
"已经点过赞了"
);
}
return
topicStatsDao
.
plusLikes
(
id
,
culpritor
.
getMemberId
());
...
...
@@ -503,8 +493,7 @@ public class TopicServiceImpl implements TopicService{
@Override
public
Optional
<
Boolean
>
favorite
(
long
id
,
ActionEventCulpritor
culpritor
)
throws
IllegalStateException
{
//ASP-T8 | 20200709
//更新话题的收藏统计|重复收藏
boolean
isFavorited
=
isFavorited
(
id
,
culpritor
.
getMemberId
());
if
(!
isFavorited
)
{
if
(!
isFavorited
(
id
,
culpritor
.
getMemberId
()))
{
throw
new
IllegalStateException
(
"收藏记录已经存在"
);
}
return
topicStatsDao
.
plusFavorites
(
id
,
culpritor
.
getMemberId
());
...
...
@@ -923,7 +912,6 @@ public class TopicServiceImpl implements TopicService{
}
// 话题发布事件方法
private
void
generalTopicEvent
(
TopicReplica
tr
){
//forumEventPublisher.publishTopicEvent(new TopicPublishEvent(this, tr, tr.getUserAgent()));
Topic
t
=
tr
.
toEventPayload
();
topicPublishProducer
.
create
(
new
TopicPublishEvent
(
t
,
tr
.
getConfigure
(),
tr
.
getStats
(),
tr
.
getTages
(),
tr
.
getUserAgent
())).
submit
();
}
...
...
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/LetterAppConfig.java
浏览文件 @
64f95be3
package
com.apobates.forum.letterbox.impl
;
import
com.apobates.forum.letterbox.impl.event.ForumLetterPostEvent
;
import
com.apobates.forum.letterbox.impl.event.ForumLetterPostInboxListener
;
import
com.github.davidmarquis.redisq.RedisMessageQueue
;
import
com.github.davidmarquis.redisq.consumer.MessageConsumer
;
import
com.github.davidmarquis.redisq.producer.DefaultMessageProducer
;
import
com.github.davidmarquis.redisq.producer.MessageProducer
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.ComponentScan.Filter
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -12,5 +20,29 @@ import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan
(
basePackages
={
"com.apobates.forum.letterbox.impl"
},
useDefaultFilters
=
false
,
includeFilters
={
@Filter
(
classes
={
org
.
springframework
.
stereotype
.
Service
.
class
}),
@Filter
(
classes
={
org
.
springframework
.
stereotype
.
Repository
.
class
}),
@Filter
(
classes
={
org
.
springframework
.
stereotype
.
Component
.
class
})})
public
class
LetterAppConfig
{
// loop queue
@Bean
(
"letterPostEventQueue"
)
public
RedisMessageQueue
letterPostEventQueue
(){
RedisMessageQueue
mq
=
new
com
.
github
.
davidmarquis
.
redisq
.
RedisMessageQueue
();
mq
.
setQueueName
(
"letter:PostEvent"
);
return
mq
;
}
// loop Producer
@Bean
(
"letterPostEventProducer"
)
public
MessageProducer
<
ForumLetterPostEvent
>
letterPostEventProducer
(
@Qualifier
(
"letterPostEventQueue"
)
RedisMessageQueue
letterPostEventQueue
){
DefaultMessageProducer
<
ForumLetterPostEvent
>
dmq
=
new
com
.
github
.
davidmarquis
.
redisq
.
producer
.
DefaultMessageProducer
<>();
dmq
.
setQueue
(
letterPostEventQueue
);
return
dmq
;
}
// loop consumer
@Bean
public
MessageConsumer
<
ForumLetterPostEvent
>
letterdeliverConsumer
(
@Qualifier
(
"letterPostEventQueue"
)
RedisMessageQueue
letterPostEventQueue
,
@Qualifier
(
"letterdeliver"
)
ForumLetterPostInboxListener
letterdeliver
){
MessageConsumer
<
ForumLetterPostEvent
>
messageConsumer
=
new
com
.
github
.
davidmarquis
.
redisq
.
consumer
.
MessageConsumer
<>();
messageConsumer
.
setQueue
(
letterPostEventQueue
);
messageConsumer
.
setConsumerId
(
"ForumLetterPostEvent:deliver"
);
messageConsumer
.
setMessageListener
(
letterdeliver
);
return
messageConsumer
;
}
}
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/ForumLetterEventPublisher.java
已删除
100644 → 0
浏览文件 @
f52d8933
package
com.apobates.forum.letterbox.impl.event
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.stereotype.Component
;
/**
* 信件模块事件发布器
* @author xiaofanku
* @since 20200527
*/
@Component
public
class
ForumLetterEventPublisher
{
@Autowired
private
ApplicationEventPublisher
applicationEventPublisher
;
/**
* 发布信件创建事件
* @param letterPostEvent
*/
public
void
publishPostsEvent
(
ForumLetterPostEvent
letterPostEvent
)
{
applicationEventPublisher
.
publishEvent
(
letterPostEvent
);
}
}
\ No newline at end of file
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/ForumLetterPostEvent.java
浏览文件 @
64f95be3
package
com.apobates.forum.letterbox.impl.event
;
import
com.apobates.forum.letterbox.entity.proxy.ForumLetterReplica
;
import
org.springframework.context.ApplicationEvent
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.letterbox.entity.ForumLetterReceiver
;
import
java.util.Set
;
/**
* 信件创建事件
...
...
@@ -9,16 +10,21 @@ import org.springframework.context.ApplicationEvent;
* @author xiaofanku
* @since 20200527
*/
public
class
ForumLetterPostEvent
extends
ApplicationEvent
{
public
class
ForumLetterPostEvent
{
private
static
final
long
serialVersionUID
=
-
4875399186422889558L
;
private
final
ForumLetter
Replica
letter
;
public
ForumLetterPostEvent
(
Object
source
,
ForumLetterReplica
letter
)
{
super
(
source
);
private
final
ForumLetter
letter
;
private
final
Set
<
ForumLetterReceiver
>
receivers
;
public
ForumLetterPostEvent
(
ForumLetter
letter
,
Set
<
ForumLetterReceiver
>
receivers
)
{
this
.
letter
=
letter
;
this
.
receivers
=
receivers
;
}
public
ForumLetter
Replica
getLetter
()
{
public
ForumLetter
getLetter
()
{
return
letter
;
}
public
Set
<
ForumLetterReceiver
>
getReceivers
()
{
return
receivers
;
}
}
\ No newline at end of file
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/event/ForumLetterPostInboxListener.java
浏览文件 @
64f95be3
package
com.apobates.forum.letterbox.impl.event
;
import
com.apobates.forum.letterbox.dao.InboxDao
;
import
com.apobates.forum.letterbox.entity.ForumLetter
;
import
com.apobates.forum.letterbox.entity.ForumLetterReceiver
;
import
com.apobates.forum.letterbox.entity.Inbox
;
import
com.apobates.forum.letterbox.entity.proxy.ForumLetterReplica
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
com.github.davidmarquis.redisq.Message
;
import
com.github.davidmarquis.redisq.consumer.MessageListener
;
import
com.github.davidmarquis.redisq.consumer.retry.RetryableMessageException
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.stereotype.Component
;
/**
* 将信件投递到信件人的收件箱中
*
* @author xiaofanku
* @since 20200527
*/
@Component
public
class
ForumLetterPostInboxListener
implements
ApplicationListener
<
ForumLetterPostEvent
>
{
@Component
(
"letterdeliver"
)
public
class
ForumLetterPostInboxListener
implements
MessageListener
<
ForumLetterPostEvent
>
{
@Autowired
private
InboxDao
inboxDao
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ForumLetterPostInboxListener
.
class
);
@Override
public
void
onApplicationEvent
(
ForumLetterPostEvent
event
)
{
ForumLetterReplica
letter
=
event
.
getLetter
();
logger
.
info
(
"[Event][Letter][1]信件投递通知开始"
);
if
(
letter
.
getReceivers
().
isEmpty
())
{
public
void
onMessage
(
Message
<
ForumLetterPostEvent
>
event
)
throws
RetryableMessageException
{
logger
.
info
(
"[Letter][LetterPostEvent][1]信件投递通知开始"
);
ForumLetterPostEvent
lpe
=
event
.
getPayload
();
ForumLetter
letter
=
lpe
.
getLetter
();
Set
<
ForumLetterReceiver
>
receivers
=
lpe
.
getReceivers
();
if
(
receivers
.
isEmpty
())
{
return
;
}
Set
<
Inbox
>
letterEntryRecords
=
letter
.
getReceivers
()
.
stream
().
map
((
ForumLetterReceiver
fr
)->
new
Inbox
(
fr
.
getMember
(),
letter
.
getAuthor
(),
letter
.
getNickname
(),
letter
.
getId
())).
collect
(
Collectors
.
toSet
());
Set
<
Inbox
>
letterEntryRecords
=
receivers
.
stream
().
map
((
ForumLetterReceiver
fr
)->
new
Inbox
(
fr
.
getMember
(),
letter
.
getAuthor
(),
letter
.
getNickname
(),
letter
.
getId
())).
collect
(
Collectors
.
toSet
());
inboxDao
.
batchSave
(
letterEntryRecords
);
logger
.
info
(
"[
Event][Letter
][1]信件投递通知结束"
);
logger
.
info
(
"[
Letter][LetterPostEvent
][1]信件投递通知结束"
);
}
}
\ No newline at end of file
letterbox.impl/src/main/java/com/apobates/forum/letterbox/impl/service/ForumLetterServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -8,7 +8,6 @@ import com.apobates.forum.letterbox.entity.ForumLetterReceiver;
import
com.apobates.forum.letterbox.entity.ForumLetterTypeEnum
;
import
com.apobates.forum.letterbox.entity.Outbox
;
import
com.apobates.forum.letterbox.entity.proxy.ForumLetterReplica
;
import
com.apobates.forum.letterbox.impl.event.ForumLetterEventPublisher
;
import
com.apobates.forum.letterbox.impl.event.ForumLetterPostEvent
;
import
com.apobates.forum.letterbox.service.ForumLetterService
;
import
com.apobates.forum.utils.Commons
;
...
...
@@ -24,9 +23,11 @@ import java.util.concurrent.TimeUnit;
import
java.util.function.BiFunction
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
com.github.davidmarquis.redisq.producer.MessageProducer
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
/**
...
...
@@ -40,8 +41,8 @@ public class ForumLetterServiceImpl implements ForumLetterService{
private
ForumLetterDao
forumLetterDao
;
@Autowired
private
OutboxDao
outboxDao
;
@Autowired
private
ForumLetterEventPublisher
forumLetterEventPublish
er
;
@Autowired
@Qualifier
(
"letterPostEventProducer"
)
private
MessageProducer
<
ForumLetterPostEvent
>
letterPostEventProduc
er
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
ForumLetterServiceImpl
.
class
);
@Override
...
...
@@ -74,7 +75,7 @@ public class ForumLetterServiceImpl implements ForumLetterService{
try
{
ForumLetterReplica
fr
=
forumLetterDao
.
pushLetter
(
letter
,
receiveres
).
orElseGet
(
ForumLetterReplica:
:
new
);
if
(
fr
.
getId
()>
0
){
forumLetterEventPublisher
.
publishPostsEvent
(
new
ForumLetterPostEvent
(
this
,
fr
));
letterPostEventProducer
.
create
(
new
ForumLetterPostEvent
(
fr
.
toEventPayload
(),
fr
.
getReceivers
()
));
return
Optional
.
of
(
fr
);
}
}
catch
(
Exception
e
){
...
...
letterbox.impl/src/main/java/module-info.java
浏览文件 @
64f95be3
...
...
@@ -7,6 +7,7 @@ open module LetterboxImpl {
requires
transitive
Letterbox
;
requires
Attention
;
requires
Utils
;
requires
Event
;
exports
com
.
apobates
.
forum
.
letterbox
.
impl
;
exports
com
.
apobates
.
forum
.
letterbox
.
impl
.
service
;
}
\ No newline at end of file
letterbox/src/main/java/com/apobates/forum/letterbox/entity/ForumLetterReceiver.java
浏览文件 @
64f95be3
...
...
@@ -9,9 +9,10 @@ import javax.persistence.Transient;
* @since 20200510
*/
public
class
ForumLetterReceiver
{
private
final
long
member
;
private
final
String
memberNickname
;
private
long
member
;
private
String
memberNickname
;
public
ForumLetterReceiver
(){}
public
ForumLetterReceiver
(
long
member
,
String
memberNickname
)
{
super
();
this
.
member
=
member
;
...
...
@@ -25,7 +26,15 @@ public class ForumLetterReceiver {
public
String
getMemberNickname
()
{
return
memberNickname
;
}
public
void
setMember
(
long
member
)
{
this
.
member
=
member
;
}
public
void
setMemberNickname
(
String
memberNickname
)
{
this
.
memberNickname
=
memberNickname
;
}
@Override
public
int
hashCode
()
{
final
int
prime
=
31
;
...
...
letterbox/src/main/java/com/apobates/forum/letterbox/entity/proxy/ForumLetterReplica.java
浏览文件 @
64f95be3
...
...
@@ -50,4 +50,12 @@ public final class ForumLetterReplica extends ForumLetter implements ForumReplic
}
return
getReceivers
().
stream
().
map
(
ForumLetterReceiver:
:
getMemberNickname
).
collect
(
Collectors
.
joining
(
","
));
}
public
ForumLetter
toEventPayload
(){
ForumLetter
fl
=
new
ForumLetter
();
fl
.
setId
(
this
.
getId
());
fl
.
setNickname
(
this
.
getNickname
());
fl
.
setAuthor
(
this
.
getAuthor
());
return
fl
;
}
}
\ No newline at end of file
member.impl/src/main/java/com/apobates/forum/member/impl/service/MemberVipExchangeRecordsServiceImpl.java
浏览文件 @
64f95be3
...
...
@@ -3,7 +3,6 @@ package com.apobates.forum.member.impl.service;
import
com.apobates.forum.member.dao.MemberDao
;
import
com.apobates.forum.member.dao.MemberVipExchangeRecordsDao
;
import
com.apobates.forum.member.entity.MemberGroupEnum
;
import
com.apobates.forum.member.entity.MemberPenalizeRecords
;
import
com.apobates.forum.member.entity.MemberVipExchangeRecords
;
import
com.apobates.forum.member.service.MemberVipExchangeRecordsService
;
import
com.apobates.forum.utils.DateTimeUtils
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录