|
@@ -0,0 +1,102 @@
|
|
|
+package main
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "git.sxidc.com/go-tools/utils/strutils"
|
|
|
+ "git.sxidc.com/service-supports/ds-sdk/sdk"
|
|
|
+ "git.sxidc.com/service-supports/ds-sdk/sql"
|
|
|
+ "git.sxidc.com/service-supports/ds-sdk/sql/sql_tpl"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+func main() {
|
|
|
+ err := sdk.InitInstance(token, address, httpPort, grpcPort, namespace, dataSource)
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ defer func() {
|
|
|
+ err := sdk.DestroyInstance()
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ now := time.Now()
|
|
|
+ graduatedTime := now.AddDate(3, 0, 0)
|
|
|
+ classID := strutils.SimpleUUID()
|
|
|
+ studentIDs := []string{strutils.SimpleUUID(), strutils.SimpleUUID(), strutils.SimpleUUID()}
|
|
|
+
|
|
|
+ class := &Class{
|
|
|
+ IDField: IDField{ID: classID},
|
|
|
+ Name: "001",
|
|
|
+ StudentNum: 10,
|
|
|
+ GraduatedTime: &graduatedTime,
|
|
|
+ StudentIDs: studentIDs,
|
|
|
+ }
|
|
|
+
|
|
|
+ newClass := &Class{
|
|
|
+ IDField: IDField{ID: classID},
|
|
|
+ Name: "",
|
|
|
+ StudentNum: 30,
|
|
|
+ GraduatedTime: &graduatedTime,
|
|
|
+ StudentIDs: studentIDs,
|
|
|
+ }
|
|
|
+
|
|
|
+ classInfo := new(ClassInfo)
|
|
|
+
|
|
|
+ err = sql.InsertEntity(sdk.GetInstance(), tableName, class)
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ result, err := sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
|
|
|
+ TableName: tableName,
|
|
|
+ Conditions: sql_tpl.NewConditions().Equal("id", classID),
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ err = sql.ParseSqlResult(result, classInfo)
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println("Class Info:")
|
|
|
+ fmt.Printf("%#+v", classInfo)
|
|
|
+
|
|
|
+ err = sql.UpdateEntity(sdk.GetInstance(), tableName, newClass)
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ result, err = sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
|
|
|
+ TableName: tableName,
|
|
|
+ Conditions: sql_tpl.NewConditions().Equal("id", classID),
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ err = sql.ParseSqlResult(result, classInfo)
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println("Class Info:")
|
|
|
+ fmt.Printf("%#+v", classInfo)
|
|
|
+
|
|
|
+ err = sql.DeleteEntity(sdk.GetInstance(), tableName, &Class{IDField: IDField{ID: classID}})
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ _, err = sql.QueryOne(sdk.GetInstance(), &sql_tpl.QueryOneExecuteParams{
|
|
|
+ TableName: tableName,
|
|
|
+ Conditions: sql_tpl.NewConditions().Equal("id", classID),
|
|
|
+ })
|
|
|
+ if err != nil && !sdk.IsErrorDBRecordNotExist(err) {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+}
|