This commit is contained in:
aozhiwei 2024-08-06 13:39:08 +08:00
parent cf0959d4bd
commit 09ade85a32

View File

@ -167,8 +167,8 @@ func UnmarshalModelList[T any](ds *DataSet, models *[]*T) error {
} }
func UnmarshalModel[T any](ds *DataSet, m *T) error { func UnmarshalModel[T any](ds *DataSet, m *T) error {
mType := reflect.TypeOf(m) mType := reflect.TypeOf(m).Elem()
mVal := reflect.ValueOf(m) mVal := reflect.ValueOf(m).Elem()
for i := 0; i < mType.NumField(); i++ { for i := 0; i < mType.NumField(); i++ {
field := mType.Field(i) field := mType.Field(i)
gormTag := field.Tag.Get("gorm") gormTag := field.Tag.Get("gorm")
@ -208,24 +208,24 @@ func UnmarshalModel[T any](ds *DataSet, m *T) error {
mVal.Field(i).SetBool(true) mVal.Field(i).SetBool(true)
} }
} }
case reflect.Int: case reflect.Int,
case reflect.Int8: reflect.Int8,
case reflect.Int16: reflect.Int16,
case reflect.Int32: reflect.Int32,
case reflect.Int64: reflect.Int64:
{ {
mVal.Field(i).SetInt(q5.ToInt64(fieldVal)) mVal.Field(i).SetInt(q5.ToInt64(fieldVal))
} }
case reflect.Uint: case reflect.Uint,
case reflect.Uint8: reflect.Uint8,
case reflect.Uint16: reflect.Uint16,
case reflect.Uint32: reflect.Uint32,
case reflect.Uint64: reflect.Uint64:
{ {
mVal.Field(i).SetUint(uint64(q5.ToInt64(fieldVal))) mVal.Field(i).SetUint(uint64(q5.ToInt64(fieldVal)))
} }
case reflect.Float32: case reflect.Float32,
case reflect.Float64: reflect.Float64:
{ {
mVal.Field(i).SetFloat(q5.ToFloat64(fieldVal)) mVal.Field(i).SetFloat(q5.ToFloat64(fieldVal))
} }