diff --git a/link_homework/internal/logic/homework/homework.go b/link_homework/internal/logic/homework/homework.go index 5ee9927..de669b3 100644 --- a/link_homework/internal/logic/homework/homework.go +++ b/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() != "" { // 如果Redis中有数据,尝试解析为ActivityInteractiveGroup列表 err = json.Unmarshal(value.Bytes(), &homeworkList) //反序列化 - //homeworkList = UpdateHomework(ctx, homeworkList) + homeworkList = UpdateHomework(ctx, homeworkList) if err != nil { return nil, err } @@ -40,31 +40,34 @@ func (s *sHomework) GetHomeworkList(ctx context.Context, pageNo int, pageSize in } // 如果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") + homeworkList = UpdateHomework(ctx, homeworkList) if err != nil { return nil, err } - homeworkList = UpdateHomework(ctx, homeworkList) // 将查询到的作业列表序列化并存储到Redis,更新频繁变更的数据 homeworkListJson, _ := json.Marshal(homeworkList) _, err = g.Redis().Set(ctx, fmt.Sprintf("%d-%d homeworklist", pageNo, pageSize), homeworkListJson) - //homeworkList = UpdateHomework(ctx, homeworkList) return } func UpdateHomework(ctx context.Context, homeworkList []*entity.ActivityInteractiveGroup) []*entity.ActivityInteractiveGroup { for _, v := range homeworkList { - if v.StartDate.After(gtime.Now()) { - v.Status = 0 - } else if v.EndDate.Before(gtime.Now()) { - v.Status = 2 - } else { - v.Status = 1 + if v.Status != 2 { + if v.StartDate.After(gtime.Now()) { + v.Status = 0 + } else if v.EndDate.Before(gtime.Now()) { + v.Status = 2 + } else { + 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 } diff --git a/link_homework/manifest/config/config.yaml b/link_homework/manifest/config/config.yaml index 824ea46..ebc5fd4 100644 --- a/link_homework/manifest/config/config.yaml +++ b/link_homework/manifest/config/config.yaml @@ -1,8 +1,6 @@ # https://goframe.org/docs/web/server-config-file-template server: - address: ":8080" - openapiPath: "/api.json" - swaggerPath: "/swagger" + address: ":8080" # https://goframe.org/docs/core/glog-config logger: