Add new functionality for managing and synchronizing academic grades and exam schedules. This includes new models, repositories, services, and HTTP handlers, along with updated gRPC definitions and dependency injection configuration. Additionally, improve the reliability of unread message count tracking by implementing an atomic Lua script for Redis operations in the conversation cache.
66 lines
1.9 KiB
Go
66 lines
1.9 KiB
Go
package wire
|
||
|
||
import (
|
||
"with_you/internal/cache"
|
||
"with_you/internal/repository"
|
||
|
||
"github.com/google/wire"
|
||
"gorm.io/gorm"
|
||
)
|
||
|
||
// RepositorySet Repository 层 Provider Set
|
||
var RepositorySet = wire.NewSet(
|
||
repository.NewUserRepository,
|
||
repository.NewPostRepository,
|
||
repository.NewCommentRepository,
|
||
repository.NewMessageRepository,
|
||
repository.NewNotificationRepository,
|
||
repository.NewPushRecordRepository,
|
||
repository.NewDeviceTokenRepository,
|
||
repository.NewSystemNotificationRepository,
|
||
repository.NewGroupRepository,
|
||
repository.NewGroupJoinRequestRepository,
|
||
repository.NewStickerRepository,
|
||
repository.NewVoteRepository,
|
||
repository.NewChannelRepository,
|
||
repository.NewScheduleRepository,
|
||
repository.NewGradeRepository,
|
||
repository.NewExamRepository,
|
||
repository.NewMaterialSubjectRepository,
|
||
repository.NewMaterialFileRepository,
|
||
repository.NewCallRepository,
|
||
repository.NewReportRepository,
|
||
ProvideUserActivityRepository,
|
||
|
||
// 日志相关仓储
|
||
repository.NewOperationLogRepository,
|
||
repository.NewLoginLogRepository,
|
||
repository.NewDataChangeLogRepository,
|
||
|
||
// 身份认证相关仓储
|
||
repository.NewVerificationRepository,
|
||
|
||
// 敏感词相关仓储
|
||
repository.NewSensitiveWordRepository,
|
||
|
||
// 用户资料审核相关仓储
|
||
repository.NewUserProfileAuditRepository,
|
||
|
||
// 帖子内链引用关系
|
||
repository.NewPostRefRepository,
|
||
|
||
// 二手交易相关
|
||
repository.NewTradeRepository,
|
||
)
|
||
|
||
// ProvideUserActivityRepository 提供用户活跃数据仓储
|
||
func ProvideUserActivityRepository(db *gorm.DB, cache cache.Cache) repository.UserActivityRepository {
|
||
return repository.NewUserActivityRepository(db, cache)
|
||
}
|
||
|
||
// Note: 以下 Repository 返回接口类型而非指针,需要单独处理
|
||
// - ScheduleRepository (repository.ScheduleRepository)
|
||
// - StickerRepository (repository.StickerRepository)
|
||
// - GroupRepository (repository.GroupRepository)
|
||
// 这些已经在各自的 New* 函数中正确返回接口类型,Wire 可以自动处理
|