feat: 实现关注系统 + 通知侧边栏分类 TAB + 点赞聚合通知
- 新增关注系统:UserFollow 模型、FollowService(toggle/status/列表隐私控制) - User 新增 FollowersCount/FollowingCount/FollowListPublic/NotifyPrefs 字段 - Space 页面增加四态关注按钮(关注/已关注/回关/已互粉)+ 粉丝/关注数链接 - 新增 /space/:uid/followers 和 /space/:uid/following 列表页 - 新增 NotifyFollow/NotifyLikeAggregated 通知类型 - ReactionService 点赞时写入 daily_like_summary,访问时生成聚合通知 - FollowService 关注时触发 NotifyFollow 通知 - 消息中心侧边栏升级为分类 TAB(全部/系统通知/@艾特/点赞/关注) - NotificationService 新增 ListByCategory 按分类分页查询
This commit is contained in:
@ -164,5 +164,24 @@ type ReactionStore interface {
|
||||
DeleteDislike(userID, postID uint) error
|
||||
IncrPostLikes(postID uint, delta int) error
|
||||
IncrPostDislikes(postID uint, delta int) error
|
||||
GetPostAuthorID(postID uint) (uint, error)
|
||||
UpsertDailyLikeSummary(authorUID uint, date string, likerUID string) error
|
||||
GetUnnotifiedSummaries(userID uint) ([]model.DailyLikeSummary, error)
|
||||
MarkSummaryNotified(id uint) error
|
||||
WithTx(tx *gorm.DB) ReactionStore
|
||||
}
|
||||
|
||||
// FollowStore FollowService 所需的最小仓储接口(ISP)
|
||||
type FollowStore interface {
|
||||
Create(follow *model.UserFollow) error
|
||||
Delete(followerID, followeeID uint) error
|
||||
Exists(followerID, followeeID uint) (bool, error)
|
||||
CountFollowers(userID uint) (int64, error)
|
||||
CountFollowing(userID uint) (int64, error)
|
||||
ListFollowers(userID uint, offset, limit int) ([]model.UserFollow, int64, error)
|
||||
ListFollowing(userID uint, offset, limit int) ([]model.UserFollow, int64, error)
|
||||
IncrFollowersCount(userID uint, delta int) error
|
||||
IncrFollowingCount(userID uint, delta int) error
|
||||
GetFollowListPublic(userID uint) (bool, error)
|
||||
WithTx(tx *gorm.DB) FollowStore
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user