1、临时提交 反向下单

This commit is contained in:
2025-08-01 10:30:43 +08:00
parent 771c617da4
commit 56a761e5ab
16 changed files with 490 additions and 188 deletions

View File

@ -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