|
|
@@ -5,7 +5,7 @@ import (
|
|
|
"git.sxidc.com/go-tools/utils/strutils"
|
|
|
"git.sxidc.com/service-supports/ds-sdk/sdk"
|
|
|
"git.sxidc.com/service-supports/ds-sdk/sdk/raw_sql_tpl"
|
|
|
- "git.sxidc.com/service-supports/ds-sdk/sdk/sql_mapping"
|
|
|
+ "git.sxidc.com/service-supports/ds-sdk/sdk/tag"
|
|
|
"math/rand"
|
|
|
"strconv"
|
|
|
"sync"
|
|
|
@@ -14,11 +14,13 @@ import (
|
|
|
)
|
|
|
|
|
|
type Class struct {
|
|
|
- ID string `sqlmapping:"key;"`
|
|
|
- Name string `sqlmapping:"update:canClear;notQuery;"`
|
|
|
- StudentNum int `sqlmapping:"column:student_num;notUpdate;queryConditionCallback;result_column:studentNum"`
|
|
|
- CreatedTime *time.Time `sqlmapping:"resultCallback"`
|
|
|
- Ignored string `sqlmapping:"-"`
|
|
|
+ ID string `sqlmapping:"key;"`
|
|
|
+ Name string `sqlmapping:"update:canClear;notQuery;insertCallback;updateCallback;"`
|
|
|
+ StudentNum int `sqlmapping:"column:student_num;notUpdate;queryCallback;"`
|
|
|
+ GraduatedTime time.Time
|
|
|
+ CreatedTime *time.Time
|
|
|
+ LastUpdatedTime time.Time
|
|
|
+ Ignored string `sqlmapping:"-"`
|
|
|
}
|
|
|
|
|
|
const (
|
|
|
@@ -43,6 +45,8 @@ func TestBasic(t *testing.T) {
|
|
|
classID := strutils.SimpleUUID()
|
|
|
className := strutils.SimpleUUID()
|
|
|
studentNum := rand.Int31n(100)
|
|
|
+ now := time.Now()
|
|
|
+ nowStr := now.Format(time.DateTime + ".000000 +08:00")
|
|
|
|
|
|
insertExecuteParams, err := raw_sql_tpl.InsertExecuteParams{
|
|
|
TableName: tableName,
|
|
|
@@ -59,9 +63,17 @@ func TestBasic(t *testing.T) {
|
|
|
Column: "student_num",
|
|
|
Value: strconv.FormatInt(int64(studentNum), 10),
|
|
|
},
|
|
|
+ {
|
|
|
+ Column: "graduated_time",
|
|
|
+ Value: "'" + nowStr + "'",
|
|
|
+ },
|
|
|
{
|
|
|
Column: "created_time",
|
|
|
- Value: "'" + time.Now().Format(time.DateTime+".000000 +08:00") + "'",
|
|
|
+ Value: "'" + nowStr + "'",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ Column: "last_updated_time",
|
|
|
+ Value: "'" + nowStr + "'",
|
|
|
},
|
|
|
},
|
|
|
}.Map()
|
|
|
@@ -144,8 +156,8 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
newStudentNum := rand.Int31n(100)
|
|
|
|
|
|
now := time.Now()
|
|
|
- createdTime := now.Format(time.DateTime + ".000000 +08:00")
|
|
|
- execeptedCreatedTime := now.Format("2006-01-02T15:04:05.000000+08:00")
|
|
|
+ nowStr := now.Format(time.DateTime + ".000000 +08:00")
|
|
|
+ exceptedNowStr := now.Format("2006-01-02T15:04:05.000000+08:00")
|
|
|
|
|
|
insertExecuteParams, err := raw_sql_tpl.InsertExecuteParams{
|
|
|
TableName: tableName,
|
|
|
@@ -162,9 +174,17 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
Column: "student_num",
|
|
|
Value: strconv.FormatInt(int64(studentNum), 10),
|
|
|
},
|
|
|
+ {
|
|
|
+ Column: "graduated_time",
|
|
|
+ Value: "'" + nowStr + "'",
|
|
|
+ },
|
|
|
{
|
|
|
Column: "created_time",
|
|
|
- Value: "'" + createdTime + "'",
|
|
|
+ Value: "'" + nowStr + "'",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ Column: "last_updated_time",
|
|
|
+ Value: "'" + nowStr + "'",
|
|
|
},
|
|
|
},
|
|
|
}.Map()
|
|
|
@@ -210,7 +230,7 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
|
|
|
queryExecuteParams, err := raw_sql_tpl.QueryExecuteParams{
|
|
|
TableName: tableName,
|
|
|
- SelectColumns: []string{"id", "name", "student_num as student_num_alias", "created_time"},
|
|
|
+ SelectColumns: []string{"id", "name", "student_num as student_num_alias", "graduated_time", "created_time", "last_updated_time"},
|
|
|
Conditions: []raw_sql_tpl.Condition{
|
|
|
{
|
|
|
Column: "id",
|
|
|
@@ -234,7 +254,7 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
|
|
|
newQueryExecuteParams, err := raw_sql_tpl.QueryExecuteParams{
|
|
|
TableName: tableName,
|
|
|
- SelectColumns: []string{"id", "name", "student_num as student_num_alias", "created_time"},
|
|
|
+ SelectColumns: []string{"id", "name", "student_num as student_num_alias", "graduated_time", "created_time", "last_updated_time"},
|
|
|
Conditions: []raw_sql_tpl.Condition{
|
|
|
{
|
|
|
Column: "id",
|
|
|
@@ -332,7 +352,9 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
if queryResults[0]["id"].(string) != classID ||
|
|
|
queryResults[0]["name"].(string) != className ||
|
|
|
queryResults[0]["student_num_alias"].(float64) != float64(studentNum) ||
|
|
|
- queryResults[0]["created_time"].(string) != execeptedCreatedTime {
|
|
|
+ queryResults[0]["graduated_time"].(string) != exceptedNowStr ||
|
|
|
+ queryResults[0]["created_time"].(string) != exceptedNowStr ||
|
|
|
+ queryResults[0]["last_updated_time"].(string) != exceptedNowStr {
|
|
|
t.Fatal("查询数据不正确")
|
|
|
}
|
|
|
|
|
|
@@ -358,7 +380,9 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
if queryResults[0]["id"].(string) != classID ||
|
|
|
queryResults[0]["name"].(string) != newClassName ||
|
|
|
queryResults[0]["student_num_alias"].(float64) != float64(newStudentNum) ||
|
|
|
- queryResults[0]["created_time"].(string) != execeptedCreatedTime {
|
|
|
+ queryResults[0]["graduated_time"].(string) != exceptedNowStr ||
|
|
|
+ queryResults[0]["created_time"].(string) != exceptedNowStr ||
|
|
|
+ queryResults[0]["last_updated_time"].(string) != exceptedNowStr {
|
|
|
t.Fatal("查询数据不正确")
|
|
|
}
|
|
|
|
|
|
@@ -369,19 +393,21 @@ func TestRawSqlTemplate(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestDataMapping(t *testing.T) {
|
|
|
- sqlMapping, err := sql_mapping.ParseSqlMapping(&Class{})
|
|
|
+ sqlMapping, err := tag.ParseSqlMapping(&Class{})
|
|
|
if err != nil {
|
|
|
t.Fatal(err)
|
|
|
}
|
|
|
|
|
|
for columnName, sqlColumn := range sqlMapping.ColumnMap {
|
|
|
if columnName != "id" && columnName != "name" &&
|
|
|
- columnName != "student_num" && columnName != "created_time" {
|
|
|
+ columnName != "student_num" && columnName != "graduated_time" &&
|
|
|
+ columnName != "created_time" && columnName != "last_updated_time" {
|
|
|
t.Fatal("列名不正确")
|
|
|
}
|
|
|
|
|
|
if sqlColumn.Name != "id" && sqlColumn.Name != "name" &&
|
|
|
- sqlColumn.Name != "student_num" && columnName != "created_time" {
|
|
|
+ sqlColumn.Name != "student_num" && columnName != "graduated_time" &&
|
|
|
+ columnName != "created_time" && columnName != "last_updated_time" {
|
|
|
t.Fatal("列名不正确")
|
|
|
}
|
|
|
|
|
|
@@ -405,8 +431,16 @@ func TestDataMapping(t *testing.T) {
|
|
|
t.Fatal("可清除字段不正确")
|
|
|
}
|
|
|
|
|
|
- if sqlColumn.NeedQueryConditionCallback && columnName != "student_num" {
|
|
|
- t.Fatal("可清除字段不正确")
|
|
|
+ if sqlColumn.InsertCallback && columnName != "name" {
|
|
|
+ t.Fatal("插入回调不正确")
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.UpdateCallback && columnName != "name" {
|
|
|
+ t.Fatal("更新回调不正确")
|
|
|
+ }
|
|
|
+
|
|
|
+ if sqlColumn.QueryCallback && columnName != "student_num" {
|
|
|
+ t.Fatal("查询回调不正确")
|
|
|
}
|
|
|
}
|
|
|
}
|