From 514bbb00e596c3f0f805a975d2dc307adfc920b3 Mon Sep 17 00:00:00 2001 From: majun <3060162534@qq.com> Date: Wed, 18 Dec 2024 19:37:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- link_homework/internal/logic/homework/homework.go | 29 +++++++++++------------ link_homework/manifest/config/config.yaml | 3 +-- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/link_homework/internal/logic/homework/homework.go b/link_homework/internal/logic/homework/homework.go index f0988d9..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,35 +40,34 @@ func (s *sHomework) GetHomeworkList(ctx context.Context, pageNo int, pageSize in } // 如果Redis中没有数据,查询数据库 - err = dao.ActivityInteractiveGroup.Ctx(ctx).With(entity.Live{}).Order("start_date desc, end_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) - if err != nil { - fmt.Println("redis set error", err) - return nil, err - } - //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 786d5a5..91741ab 100644 --- a/link_homework/manifest/config/config.yaml +++ b/link_homework/manifest/config/config.yaml @@ -19,6 +19,5 @@ database: # https://goframe.org/docs/core/gredis-config-file redis: default: - address: "127.0.0.1:6379" - password: "" + address: 127.0.0.1:6379 db: 0 \ No newline at end of file