lijikun 5 months ago
parent
commit
ee569dc254
  1. 11
      link_homework/internal/logic/homework/homework.go
  2. 2
      link_homework/manifest/config/config.yaml

11
link_homework/internal/logic/homework/homework.go

@ -32,7 +32,7 @@ func (s *sHomework) GetHomeworkList(ctx context.Context, pageNo int, pageSize in
if value.String() != "" { if value.String() != "" {
// 如果Redis中有数据,尝试解析为ActivityInteractiveGroup列表 // 如果Redis中有数据,尝试解析为ActivityInteractiveGroup列表
err = json.Unmarshal(value.Bytes(), &homeworkList) //反序列化 err = json.Unmarshal(value.Bytes(), &homeworkList) //反序列化
//homeworkList = UpdateHomework(ctx, homeworkList)
homeworkList = UpdateHomework(ctx, homeworkList)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -40,23 +40,23 @@ func (s *sHomework) GetHomeworkList(ctx context.Context, pageNo int, pageSize in
} }
// 如果Redis中没有数据,查询数据库 // 如果Redis中没有数据,查询数据库
err = dao.ActivityInteractiveGroup.Ctx(ctx).With(entity.Live{}).Order("end_date desc, start_date desc").Page(pageNo, pageSize).Scan(&homeworkList)
err = dao.ActivityInteractiveGroup.Ctx(ctx).With(entity.Live{}).Order("status asc, start_date desc, end_date desc").Page(pageNo, pageSize).Scan(&homeworkList)
err = g.DB("cms").Model("fx_article").Where("id", gdb.ListItemValuesUnique(homeworkList, "ArticleId")).ScanList(&homeworkList, "Article", "id:ArticleId") err = g.DB("cms").Model("fx_article").Where("id", gdb.ListItemValuesUnique(homeworkList, "ArticleId")).ScanList(&homeworkList, "Article", "id:ArticleId")
homeworkList = UpdateHomework(ctx, homeworkList)
if err != nil { if err != nil {
return nil, err return nil, err
} }
homeworkList = UpdateHomework(ctx, homeworkList)
// 将查询到的作业列表序列化并存储到Redis,更新频繁变更的数据 // 将查询到的作业列表序列化并存储到Redis,更新频繁变更的数据
homeworkListJson, _ := json.Marshal(homeworkList) homeworkListJson, _ := json.Marshal(homeworkList)
_, err = g.Redis().Set(ctx, fmt.Sprintf("%d-%d homeworklist", pageNo, pageSize), homeworkListJson) _, err = g.Redis().Set(ctx, fmt.Sprintf("%d-%d homeworklist", pageNo, pageSize), homeworkListJson)
//homeworkList = UpdateHomework(ctx, homeworkList)
return return
} }
func UpdateHomework(ctx context.Context, homeworkList []*entity.ActivityInteractiveGroup) []*entity.ActivityInteractiveGroup { func UpdateHomework(ctx context.Context, homeworkList []*entity.ActivityInteractiveGroup) []*entity.ActivityInteractiveGroup {
for _, v := range homeworkList { for _, v := range homeworkList {
if v.Status != 2 {
if v.StartDate.After(gtime.Now()) { if v.StartDate.After(gtime.Now()) {
v.Status = 0 v.Status = 0
} else if v.EndDate.Before(gtime.Now()) { } else if v.EndDate.Before(gtime.Now()) {
@ -64,8 +64,11 @@ func UpdateHomework(ctx context.Context, homeworkList []*entity.ActivityInteract
} else { } else {
v.Status = 1 v.Status = 1
} }
if v.Status == 1 {
v.Count, _ = dao.ActivityInteractiveRecord.Ctx(ctx).Where("group_id", v.Id).Group("form_id").Limit(1).Count() v.Count, _ = dao.ActivityInteractiveRecord.Ctx(ctx).Where("group_id", v.Id).Group("form_id").Limit(1).Count()
} }
}
}
return homeworkList return homeworkList
} }

2
link_homework/manifest/config/config.yaml

@ -1,8 +1,6 @@
# https://goframe.org/docs/web/server-config-file-template # https://goframe.org/docs/web/server-config-file-template
server: server:
address: ":8080" address: ":8080"
openapiPath: "/api.json"
swaggerPath: "/swagger"
# https://goframe.org/docs/core/glog-config # https://goframe.org/docs/core/glog-config
logger: logger:

Loading…
Cancel
Save