yjp 1 жил өмнө
parent
commit
af88d9659a

+ 1 - 1
sql/parse_table_row.go

@@ -109,7 +109,7 @@ func ParseSqlTableRow(input any, output any) error {
 						return err
 					}
 
-					tableRowValue = parsedTime.Format(sqlColumn.ParseTime)
+					strValue = parsedTime.Format(sqlColumn.ParseTime)
 				} else if strutils.IsStringNotEmpty(sqlColumn.AESKey) {
 					decryptedValue, err := encoding.AESDecrypt(strValue, sqlColumn.AESKey)
 					if err != nil {

+ 66 - 7
test/sdk_test.go

@@ -15,13 +15,14 @@ import (
 )
 
 type Class struct {
-	ID              string
-	Name            string `sqlmapping:"updateClear;aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;" sqlresult:"aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;"`
-	StudentNum      int    `sqlmapping:"column:student_num;notUpdate;" sqlresult:"column:student_num_alias"`
-	GraduatedTime   time.Time
-	CreatedTime     *time.Time
-	LastUpdatedTime time.Time
-	Ignored         string `sqlmapping:"-" sqlresult:"-"`
+	ID                string
+	Name              string `sqlmapping:"updateClear;aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;" sqlresult:"aes:@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L;"`
+	StudentNum        int    `sqlmapping:"column:student_num;notUpdate;" sqlresult:"column:student_num_alias"`
+	GraduatedTime     time.Time
+	CreatedTime       *time.Time
+	LastUpdatedTime   time.Time
+	Ignored           string `sqlmapping:"-" sqlresult:"-"`
+	GraduatedTimeTest string `sqlmapping:"-" sqlresult:"column:graduated_time;parseTime:2006-01-02 15:04:05"`
 }
 
 const (
@@ -382,6 +383,64 @@ func TestSqlMapping(t *testing.T) {
 	}
 }
 
+func TestSqlResult(t *testing.T) {
+	sqlResult, err := sql.ParseSqlResult(&Class{})
+	if err != nil {
+		t.Fatal(err)
+	}
+
+	for fieldName, sqlColumn := range sqlResult.ColumnMap {
+		if fieldName != "ID" && fieldName != "Name" &&
+			fieldName != "StudentNum" && fieldName != "GraduatedTime" &&
+			fieldName != "CreatedTime" && fieldName != "LastUpdatedTime" &&
+			fieldName != "GraduatedTimeTest" {
+			t.Fatal("字段名不正确")
+		}
+
+		if sqlColumn.Name != "id" && sqlColumn.Name != "name" &&
+			sqlColumn.Name != "student_num_alias" && sqlColumn.Name != "graduated_time" &&
+			sqlColumn.Name != "created_time" && sqlColumn.Name != "last_updated_time" &&
+			sqlColumn.Name != "graduated_time_test" {
+			t.Fatal("列名不正确")
+		}
+
+		if sqlColumn.Name != "student_num_alias" &&
+			sqlColumn.Name != "graduated_time" &&
+			sqlColumn.Name != strcase.ToSnake(fieldName) {
+			t.Fatal("列名不正确")
+		}
+
+		if sqlColumn.Name == "id" {
+			if strutils.IsStringNotEmpty(sqlColumn.ParseTime) ||
+				strutils.IsStringNotEmpty(sqlColumn.AESKey) {
+				t.Fatal("id字段Tag不正确")
+			}
+		}
+
+		if sqlColumn.Name == "name" {
+			if strutils.IsStringNotEmpty(sqlColumn.ParseTime) ||
+				strutils.IsStringEmpty(sqlColumn.AESKey) ||
+				sqlColumn.AESKey != "@MKU^AHYCN$:j76J<TAHCVD#$XZSWQ@L" {
+				t.Fatal("name字段Tag不正确")
+			}
+		}
+
+		if sqlColumn.Name == "student_num" {
+			if strutils.IsStringNotEmpty(sqlColumn.ParseTime) ||
+				strutils.IsStringNotEmpty(sqlColumn.AESKey) {
+				t.Fatal("student_num字段Tag不正确")
+			}
+		}
+
+		if sqlColumn.Name == "graduate_time" {
+			if strutils.IsStringEmpty(sqlColumn.ParseTime) ||
+				strutils.IsStringNotEmpty(sqlColumn.AESKey) {
+				t.Fatal("graduate_time字段Tag不正确")
+			}
+		}
+	}
+}
+
 func TestSql(t *testing.T) {
 	classID := strutils.SimpleUUID()
 	className := strutils.SimpleUUID()