[fix] 类型转换
This commit is contained in:
parent
c7cfd1e6f7
commit
3f9461d2de
@ -101,36 +101,6 @@ func (this ResField) GetQueryDataType() contracts.QueryDataType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this ResField) ToValue(v any) any {
|
func (this ResField) ToValue(v any) any {
|
||||||
// 类型转换, 填补 cast 未知的类型
|
|
||||||
switch data := v.(type) {
|
|
||||||
case res_type.ResFieldByInteger:
|
|
||||||
v = int64(data)
|
|
||||||
case res_type.ResFieldByFloat:
|
|
||||||
v = float64(data)
|
|
||||||
case res_type.ResFieldByNumber:
|
|
||||||
v = float64(data)
|
|
||||||
case string:
|
|
||||||
v = strings.Trim(string(data), " ")
|
|
||||||
case []any, []string, []int, []float64, []float32, []int64:
|
|
||||||
if v != nil {
|
|
||||||
b, _ := json.Marshal(v)
|
|
||||||
return string(b)
|
|
||||||
}
|
|
||||||
v = data
|
|
||||||
case map[string]any, map[string]string, map[string]int:
|
|
||||||
if v != nil {
|
|
||||||
b, _ := json.Marshal(v)
|
|
||||||
return string(b)
|
|
||||||
}
|
|
||||||
v = data
|
|
||||||
default:
|
|
||||||
if v != nil {
|
|
||||||
b, _ := json.Marshal(v)
|
|
||||||
return string(b)
|
|
||||||
}
|
|
||||||
v = data
|
|
||||||
}
|
|
||||||
|
|
||||||
switch this.DataType {
|
switch this.DataType {
|
||||||
case contracts.ResDataType_String, contracts.ResDataType_Text, contracts.ResDataType_Enum,
|
case contracts.ResDataType_String, contracts.ResDataType_Text, contracts.ResDataType_Enum,
|
||||||
contracts.ResDataType_Timestamp, contracts.ResDataType_Date, contracts.ResDataType_Datetime:
|
contracts.ResDataType_Timestamp, contracts.ResDataType_Date, contracts.ResDataType_Datetime:
|
||||||
|
Loading…
Reference in New Issue
Block a user