更新对应交易的代码实现

This commit is contained in:
2024-04-16 18:00:05 +08:00
parent b2185f7784
commit 798f566542
18 changed files with 858 additions and 43 deletions

View File

@@ -0,0 +1,27 @@
package convert
import (
"reflect"
"strings"
)
func ModelToMap(obj any) map[string]any {
result := make(map[string]any)
val := reflect.ValueOf(obj).Elem() // 获取结构体的值
typ := val.Type() // 获取结构体的类型
for i := 0; i < val.NumField(); i++ { // 遍历结构体的每个字段
field := val.Field(i)
if !field.IsNil() { // 如果字段不为nil
fieldType := typ.Field(i)
tagValue := fieldType.Tag.Get("gorm") // 获取gorm标签值
key := strings.Split(tagValue, ",")[0] // 假设tag格式为"column:value,other_options"
if key == "" {
key = fieldType.Name // 如果没有指定tag则使用字段名作为key
}
result[key] = field.Elem().Interface() // 将字段值存入map
}
}
return result
}