1、临时提交 反向下单
This commit is contained in:
@ -463,22 +463,13 @@ func (r *RedisHelper) SetNX(key string, value interface{}, expiration time.Durat
|
||||
|
||||
// SetHashWithTags 改进版:支持 struct 或 map 输入
|
||||
func (r *RedisHelper) SetHashWithTags(key string, obj interface{}) error {
|
||||
var fields map[string]interface{}
|
||||
var err error
|
||||
|
||||
// 1. 优先检查 obj 是否已经是一个 map[string]interface{}
|
||||
if m, ok := obj.(map[string]interface{}); ok {
|
||||
fields = m // 如果是,直接使用这个 map
|
||||
} else {
|
||||
// 2. 如果不是 map,则假设它是一个 struct,并尝试从 struct 中获取字段
|
||||
fields, err = getFieldsFromStruct(obj) // getFieldsFromStruct 现在需要返回 error
|
||||
if err != nil {
|
||||
return fmt.Errorf("从结构体获取字段失败: %w", err)
|
||||
}
|
||||
fields, err := getFieldsFromStruct(obj)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
cmd := r.client.HSet(r.ctx, key, fields)
|
||||
return cmd.Err()
|
||||
_, err = r.client.HSet(r.ctx, key, fields).Result()
|
||||
return err
|
||||
}
|
||||
|
||||
// getFieldsFromStruct 改进版:处理指针并进行类型检查,返回 error
|
||||
|
||||
Reference in New Issue
Block a user