This commit is contained in:
2026-08-14 12:13:02 +08:00
parent 0e62930c64
commit 285fa01471
71 changed files with 1805 additions and 746 deletions
+50
View File
@@ -0,0 +1,50 @@
package controller
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"36wisdom/biz/model/dto"
"36wisdom/biz/service"
)
type userProgress struct{}
var UserProgress = &userProgress{}
func (c *userProgress) GetByChildLevel(ctx context.Context, req *dto.UserProgressGetReq) (*dto.UserProgressGetRes, error) {
rec, err := service.UserProgress.GetByChildLevel(ctx, req.ChildId, req.LevelId)
if err != nil {
return nil, err
}
res := &dto.UserProgressGetRes{}
if !rec.IsEmpty() {
res.UserProgress = userProgressItem(rec)
}
return res, nil
}
func (c *userProgress) ListByChild(ctx context.Context, req *dto.UserProgressListReq) (*dto.UserProgressListRes, error) {
recs, err := service.UserProgress.ListByChildLevelIds(ctx, req.ChildId, req.LevelIds)
if err != nil {
return nil, err
}
res := &dto.UserProgressListRes{List: make([]dto.UserProgressItem, 0, len(recs))}
for _, r := range recs {
res.List = append(res.List, userProgressItem(r))
}
return res, nil
}
func userProgressItem(r gdb.Record) dto.UserProgressItem {
return dto.UserProgressItem{
Id: r["id"].Int64(),
ChildId: r["child_id"].Int64(),
LevelId: r["level_id"].Int64(),
Stars: r["stars"].Int(),
Score: r["score"].Int(),
Perfect: r["perfect"].Int(),
ContentVersion: r["content_version"].Int(),
}
}