feat(material): add material handling and routing functionality
Some checks failed
Build Backend / build (push) Failing after 12m1s
Build Backend / build-docker (push) Has been skipped

- Introduced MaterialHandler for managing learning materials and subjects.
- Updated router to include routes for public and admin material management.
- Enhanced database initialization with material subject and file models.
- Implemented seeding logic for material subjects and files.
- Updated wire generation to include MaterialHandler and related services.
This commit is contained in:
lafay
2026-03-25 20:44:12 +08:00
parent 28a45caad3
commit 0ef8e5a7e1
10 changed files with 1122 additions and 22 deletions

View File

@@ -54,6 +54,7 @@ var ServiceSet = wire.NewSet(
ProvideAdminDashboardService,
ProvideQRCodeLoginService,
ProvideHotRankWorker,
ProvideMaterialService,
// 日志服务
ProvideAsyncLogManager,
@@ -369,6 +370,14 @@ func ProvideQRCodeLoginService(
return service.NewQRCodeLoginService(redisClient, sseHub, jwtService, userService, activityService, logService)
}
// ProvideMaterialService 提供学习资料服务
func ProvideMaterialService(
subjectRepo *repository.MaterialSubjectRepository,
fileRepo *repository.MaterialFileRepository,
) service.MaterialService {
return service.NewMaterialService(subjectRepo, fileRepo)
}
// parseDuration 解析时长字符串
func parseDuration(s string) (time.Duration, error) {
return time.ParseDuration(s)