Files
common-server-public/archive/bbs-go/server/internal/services/eventhandler/follow_handler.go
12600k-rog-d4 8f4d399cfd 20251209
2025-12-09 20:33:57 +08:00

34 lines
768 B
Go

package eventhandler
import (
"bbs-go/internal/models"
"bbs-go/internal/models/constants"
"bbs-go/internal/pkg/event"
"bbs-go/internal/services"
"reflect"
)
func init() {
event.RegHandler(reflect.TypeOf(event.FollowEvent{}), handleFollowEvent)
}
func handleFollowEvent(i interface{}) {
e := i.(event.FollowEvent)
// 将该用户下的帖子添加到信息流
services.TopicService.ScanByUser(e.OtherId, func(topics []models.Topic) {
for _, topic := range topics {
if topic.Status != constants.StatusOk {
continue
}
_ = services.UserFeedService.Create(&models.UserFeed{
UserId: e.UserId,
DataType: constants.EntityTopic,
DataId: topic.Id,
AuthorId: topic.UserId,
CreateTime: topic.CreateTime,
})
}
})
}