fix(models): handle JSON marshaling errors in SetRedis functions to improve error handling and data integrity

This commit is contained in:
keven1024
2026-04-06 11:26:38 +08:00
parent 17fa39b830
commit 83f6be0486
5 changed files with 20 additions and 5 deletions

View File

@@ -54,7 +54,10 @@ func SetRedisFileInfo(fileId string, handler func(fileInfo *RedisFileInfo) *Redi
old_fileInfo = &RedisFileInfo{}
}
fileInfo := handler(old_fileInfo)
jsonData, _ := json.Marshal(fileInfo)
jsonData, err := json.Marshal(fileInfo)
if err != nil {
return err
}
return rdb.Do(ctx, rdb.B().Hset().Key("015:fileInfoMap").FieldValue().FieldValue(fileId, string(jsonData)).Build()).Error()
}

View File

@@ -25,6 +25,9 @@ func GetRedisFileShareRelational(fileId string) ([]string, error) {
func SetRedisFileShareRelational(fileId string, shareIDs []string) error {
rdb, ctx := utils.GetRedisClient()
jsonData, _ := json.Marshal(shareIDs)
jsonData, err := json.Marshal(shareIDs)
if err != nil {
return err
}
return rdb.Do(ctx, rdb.B().Hset().Key("015:fileShareRelational").FieldValue().FieldValue(fileId, string(jsonData)).Build()).Error()
}

View File

@@ -61,7 +61,10 @@ func SetRedisShareInfo(shareId string, handler func(shareInfo *RedisShareInfo) *
old_shareInfo = &RedisShareInfo{}
}
shareInfo := handler(old_shareInfo)
jsonData, _ := json.Marshal(shareInfo)
jsonData, err := json.Marshal(shareInfo)
if err != nil {
return err
}
return rdb.Do(
ctx,
rdb.B().Set().

View File

@@ -49,7 +49,10 @@ func SetRedisStat(key string, handler func(stat *StatData) *StatData) error {
}
}
stat := handler(old_stat)
jsonData, _ := json.Marshal(stat)
jsonData, err := json.Marshal(stat)
if err != nil {
return err
}
return rdb.Do(ctx, rdb.B().Hset().Key("015:stat").FieldValue().FieldValue(key, string(jsonData)).Build()).Error()
})
}

View File

@@ -29,7 +29,10 @@ func GetRedisTaskInfo(taskId string) (*map[string]any, error) {
func SetRedisTaskInfo(taskId string, taskInfo map[string]any) error {
rdb, ctx := utils.GetRedisClient()
jsonData, _ := json.Marshal(taskInfo)
jsonData, err := json.Marshal(taskInfo)
if err != nil {
return err
}
return rdb.Do(
ctx,
rdb.B().Set().Key(fmt.Sprintf("015:taskInfoMap:%s", taskId)).Value(string(jsonData)).Ex(time.Hour).Build(),