Browse Source

完善代码

yjp 1 year ago
parent
commit
05a7fb0702
1 changed files with 13 additions and 7 deletions
  1. 13 7
      framework/core/tag/sql/sql_result/usage.go

+ 13 - 7
framework/core/tag/sql/sql_result/usage.go

@@ -84,17 +84,23 @@ func defaultCallback(result map[string]any, columnName string) OnParsedFieldTagF
 			// 实体字段是time.Time,接收到的是数据库时间格式
 			if reflectutils.IsValueTime(entityFieldElemValue) {
 				timeStr, ok := resultValue.(string)
-				if !ok {
-					return errors.New("数据库查询类型不是时间字符串")
+				if ok {
+					parsedTime, err := parseTimeStringResult(timeStr)
+					if err != nil {
+						return err
+					}
+
+					entityFieldElemValue.Set(reflect.ValueOf(parsedTime))
+					return nil
 				}
 
-				parsedTime, err := parseTimeStringResult(timeStr)
-				if err != nil {
-					return err
+				timeResult, ok := resultValue.(time.Time)
+				if ok {
+					entityFieldElemValue.Set(reflect.ValueOf(timeResult))
+					return nil
 				}
 
-				entityFieldElemValue.Set(reflect.ValueOf(parsedTime))
-				return nil
+				return errors.New("查询到的值无法赋值为time.Time类型")
 			}
 
 			return fmt.Errorf("字段: %s 列: %s 不支持的类型: %s",