mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-04-14 20:07:07 +02:00
support int fields in DBMappable
This commit is contained in:
parent
dde547351c
commit
50caeee5c2
@ -24,16 +24,38 @@ func QuickSetStr(strVal *string, m map[string]interface{}, name string) {
|
||||
*strVal = str
|
||||
}
|
||||
|
||||
func QuickSetInt(ival *int, m map[string]interface{}, name string) {
|
||||
v, ok := m[name]
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
sqlInt, ok := v.(int)
|
||||
if ok {
|
||||
*ival = sqlInt
|
||||
return
|
||||
}
|
||||
sqlInt64, ok := v.(int64)
|
||||
if ok {
|
||||
*ival = int(sqlInt64)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func QuickSetInt64(ival *int64, m map[string]interface{}, name string) {
|
||||
v, ok := m[name]
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
sqlInt, ok := v.(int64)
|
||||
if !ok {
|
||||
sqlInt64, ok := v.(int64)
|
||||
if ok {
|
||||
*ival = sqlInt64
|
||||
return
|
||||
}
|
||||
sqlInt, ok := v.(int)
|
||||
if ok {
|
||||
*ival = int64(sqlInt)
|
||||
return
|
||||
}
|
||||
*ival = sqlInt
|
||||
}
|
||||
|
||||
func QuickSetBool(bval *bool, m map[string]interface{}, name string) {
|
||||
|
@ -189,6 +189,9 @@ func FromDBMap(v DBMappable, m map[string]interface{}) {
|
||||
} else if field.Type.Kind() == reflect.Int64 {
|
||||
intVal := fieldVal.Addr().Interface()
|
||||
QuickSetInt64(intVal.(*int64), m, dbName)
|
||||
} else if field.Type.Kind() == reflect.Int {
|
||||
intVal := fieldVal.Addr().Interface()
|
||||
QuickSetInt(intVal.(*int), m, dbName)
|
||||
} else if field.Type.Kind() == reflect.Bool {
|
||||
boolVal := fieldVal.Addr().Interface()
|
||||
QuickSetBool(boolVal.(*bool), m, dbName)
|
||||
|
Loading…
Reference in New Issue
Block a user