Browse Source

12月23日晚,修改了redis逻辑,新增,修改作业后删除redis

dev_ljk
lijikun 5 months ago
parent
commit
e8a984e7b0
  1. 4
      link_homework/api/v1/ClientPage/ClientPage.go
  2. 8
      link_homework/internal/logic/client/client.go
  3. 22
      link_homework/internal/logic/homework/homework.go
  4. 4
      link_homework/manifest/config/config.yaml

4
link_homework/api/v1/ClientPage/ClientPage.go

@ -33,6 +33,6 @@ type CommitHomeworkReq struct {
type CommitAnswer struct { type CommitAnswer struct {
Id int `json:"id" orm:"table:activity_interactive_record;column:form_id" dc:"作业题目id"` 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:简答"`
} }

8
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) { func (s *sClient) ClientGetHomeworkList(ctx context.Context, jwcode int) (homeworkList []ClientPage.GetHomeworkListRse, err error) {
// 从Redis中获取数据 // 从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数据结构 err = json.Unmarshal(value.Bytes(), &homeworkList) //JSON -> Go数据结构
if err != nil { //如果解析失败 if err != nil { //如果解析失败
return nil, errors.New("从Redis获取数据,JSON解析失败") //返回错误信息 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 return
} }

22
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 { if len(keys) > 0 {
_, err = g.Redis().Del(ctx, keys...) _, err = g.Redis().Del(ctx, keys...)
} }
//删除客户端缓存
keys, err = g.Redis().Keys(ctx, "* ClientHomeworkList")
if len(keys) > 0 {
_, err = g.Redis().Del(ctx, keys...)
}
return return
} }
@ -237,6 +244,21 @@ func (s *sHomework) EditHomework(ctx context.Context, req *homework.EditHomework
if len(keys) > 0 { if len(keys) > 0 {
_, _ = g.Redis().Del(ctx, keys...) _, _ = 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 return
} }
} }

4
link_homework/manifest/config/config.yaml

@ -11,10 +11,10 @@ server:
database: database:
default: default:
link: "mysql:live:p4jMAMShNM8HTrbX@tcp(39.101.133.168:3306)/live?charset=utf8mb4&parseTime=True&loc=Local" link: "mysql:live:p4jMAMShNM8HTrbX@tcp(39.101.133.168:3306)/live?charset=utf8mb4&parseTime=True&loc=Local"
# debug: true
debug: true
cms: cms:
link: "mysql:cms:AF42R3ib6YkFaemm@tcp(39.101.133.168:3306)/cms?charset=utf8mb4&parseTime=True&loc=Local" link: "mysql:cms:AF42R3ib6YkFaemm@tcp(39.101.133.168:3306)/cms?charset=utf8mb4&parseTime=True&loc=Local"
# debug: true
debug: true
# redis配置 # redis配置
redis: redis:

Loading…
Cancel
Save