From e8a984e7b0f542b777f36c2843748f613ff62348 Mon Sep 17 00:00:00 2001 From: lijikun Date: Mon, 23 Dec 2024 19:23:36 +0800 Subject: [PATCH] =?UTF-8?q?12=E6=9C=8823=E6=97=A5=E6=99=9A,=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BA=86redis=E9=80=BB=E8=BE=91,=E6=96=B0=E5=A2=9E,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=9C=E4=B8=9A=E5=90=8E=E5=88=A0=E9=99=A4?= =?UTF-8?q?redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- link_homework/api/v1/ClientPage/ClientPage.go | 4 ++-- link_homework/internal/logic/client/client.go | 8 ++++++-- link_homework/internal/logic/homework/homework.go | 22 ++++++++++++++++++++++ link_homework/manifest/config/config.yaml | 4 ++-- 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/link_homework/api/v1/ClientPage/ClientPage.go b/link_homework/api/v1/ClientPage/ClientPage.go index 512f7a7..0f03660 100644 --- a/link_homework/api/v1/ClientPage/ClientPage.go +++ b/link_homework/api/v1/ClientPage/ClientPage.go @@ -33,6 +33,6 @@ type CommitHomeworkReq struct { type CommitAnswer struct { Id int `json:"id" orm:"table:activity_interactive_record;column:form_id" dc:"作业题目id"` - Answer []string `json:"answer" dc:"作业答案,包含两部分,第一部分是题目,第二部分是答案,使用','分割的"` - Type int `json:"type" dc:"题目类型,1:单选,2:多选,3:简答"` + Answer []string `json:"answer" v:"required:#答案不能为空" dc:"作业答案,包含两部分,第一部分是题目,第二部分是答案,使用','分割的"` + Type int `json:"type" v:"required:#题目类型不能为空" dc:"题目类型,1:单选,2:多选,3:简答"` } diff --git a/link_homework/internal/logic/client/client.go b/link_homework/internal/logic/client/client.go index 600093a..f038c27 100644 --- a/link_homework/internal/logic/client/client.go +++ b/link_homework/internal/logic/client/client.go @@ -20,8 +20,8 @@ func init() { func (s *sClient) ClientGetHomeworkList(ctx context.Context, jwcode int) (homeworkList []ClientPage.GetHomeworkListRse, err error) { // 从Redis中获取数据 - value, _ := g.Redis().Get(ctx, "ClientHomeworkList") //从Redis中获取ClientHomeworkList的值 - if value.String() != "" { //如果值不为空 + value, _ := g.Redis().Get(ctx, fmt.Sprintf("%d ClientHomeworkList", jwcode)) //从Redis中获取ClientHomeworkList的值 + if value.String() != "" { //如果值不为空 err = json.Unmarshal(value.Bytes(), &homeworkList) //JSON -> Go数据结构 if err != nil { //如果解析失败 return nil, errors.New("从Redis获取数据,JSON解析失败") //返回错误信息 @@ -119,5 +119,9 @@ func (s *sClient) CommitHomework(ctx context.Context, req ClientPage.CommitHomew } } } + key, _ := g.Redis().Keys(ctx, fmt.Sprintf("%d ClientHomeworkList", jwcode)) + if len(key) > 0 { + _, _ = g.Redis().Del(ctx, key...) + } return } diff --git a/link_homework/internal/logic/homework/homework.go b/link_homework/internal/logic/homework/homework.go index 3edac53..1cc1c63 100644 --- a/link_homework/internal/logic/homework/homework.go +++ b/link_homework/internal/logic/homework/homework.go @@ -162,6 +162,13 @@ func (s *sHomework) AddHomework(ctx context.Context, req *homework.AddHomeworkRe if len(keys) > 0 { _, err = g.Redis().Del(ctx, keys...) } + + //删除客户端缓存 + keys, err = g.Redis().Keys(ctx, "* ClientHomeworkList") + if len(keys) > 0 { + _, err = g.Redis().Del(ctx, keys...) + } + return } @@ -237,6 +244,21 @@ func (s *sHomework) EditHomework(ctx context.Context, req *homework.EditHomework if len(keys) > 0 { _, _ = g.Redis().Del(ctx, keys...) } + key, _ := g.Redis().Keys(ctx, fmt.Sprintf("%d HomeworkQuestions", req.Id)) + if len(key) > 0 { + _, _ = g.Redis().Del(ctx, key...) + } + + //删除客户端缓存 + keys, err = g.Redis().Keys(ctx, "* ClientHomeworkList") + if len(keys) > 0 { + _, err = g.Redis().Del(ctx, keys...) + } + keys, err = g.Redis().Keys(ctx, "* HomeworkQuestions") + if len(keys) > 0 { + _, err = g.Redis().Del(ctx, keys...) + } + return } } diff --git a/link_homework/manifest/config/config.yaml b/link_homework/manifest/config/config.yaml index 0d5bc2c..fd6b5a8 100644 --- a/link_homework/manifest/config/config.yaml +++ b/link_homework/manifest/config/config.yaml @@ -11,10 +11,10 @@ server: database: default: link: "mysql:live:p4jMAMShNM8HTrbX@tcp(39.101.133.168:3306)/live?charset=utf8mb4&parseTime=True&loc=Local" -# debug: true + debug: true cms: link: "mysql:cms:AF42R3ib6YkFaemm@tcp(39.101.133.168:3306)/cms?charset=utf8mb4&parseTime=True&loc=Local" -# debug: true + debug: true # redis配置 redis: