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{} old_fileInfo = &RedisFileInfo{}
} }
fileInfo := handler(old_fileInfo) 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() 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 { func SetRedisFileShareRelational(fileId string, shareIDs []string) error {
rdb, ctx := utils.GetRedisClient() 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() 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{} old_shareInfo = &RedisShareInfo{}
} }
shareInfo := handler(old_shareInfo) shareInfo := handler(old_shareInfo)
jsonData, _ := json.Marshal(shareInfo) jsonData, err := json.Marshal(shareInfo)
if err != nil {
return err
}
return rdb.Do( return rdb.Do(
ctx, ctx,
rdb.B().Set(). rdb.B().Set().

View File

@@ -49,7 +49,10 @@ func SetRedisStat(key string, handler func(stat *StatData) *StatData) error {
} }
} }
stat := handler(old_stat) 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() 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 { func SetRedisTaskInfo(taskId string, taskInfo map[string]any) error {
rdb, ctx := utils.GetRedisClient() rdb, ctx := utils.GetRedisClient()
jsonData, _ := json.Marshal(taskInfo) jsonData, err := json.Marshal(taskInfo)
if err != nil {
return err
}
return rdb.Do( return rdb.Do(
ctx, ctx,
rdb.B().Set().Key(fmt.Sprintf("015:taskInfoMap:%s", taskId)).Value(string(jsonData)).Ex(time.Hour).Build(), rdb.B().Set().Key(fmt.Sprintf("015:taskInfoMap:%s", taskId)).Value(string(jsonData)).Ex(time.Hour).Build(),