Ver Fonte

修改包结构

yjp há 1 ano atrás
pai
commit
f2634fbed1
4 ficheiros alterados com 126 adições e 37 exclusões
  1. 89 0
      README.md
  2. 7 7
      sql/sql.go
  3. 1 1
      sql/sql_mapping.go
  4. 29 29
      test/sdk_test.go

+ 89 - 0
README.md

@@ -2,3 +2,92 @@
 
 ## 入门
 
+数据服务SDK主要用于对接数据服务,实现数据的增删改查操作,使用sdk前,需要通过datactl在数据服务中预先创建好对应的Namespace,DataSource和
+
+DataContainer资源
+
+```go
+package main
+
+import (
+	"fmt"
+	"git.sxidc.com/service-supports/ds-sdk/sdk"
+	"git.sxidc.com/service-supports/ds-sdk/sdk/raw_sql_tpl"
+	"strconv"
+	"time"
+)
+
+const (
+	token      = "IpTTwAQweh/BP51fz5CzWKQFaXHvZe6ewvk6yOcAOkU="
+	address    = "localhost"
+	httpPort   = "10000"
+	grpcPort   = "10001"
+	namespace  = "ns-sdk-demo"
+	dataSource = "ds-sdk-demo"
+	tableName  = "test.classes"
+)
+
+type Class struct {
+	ID              string
+	Name            string
+	StudentNum      int
+	CreatedTime     time.Time
+	LastUpdatedTime time.Time
+}
+
+type ClassInfo struct {
+	ID              string    `mapstructure:"id"`
+	Name            string    `mapstructure:"name"`
+	CreatedTime     time.Time `mapstructure:"created_time"`
+	LastUpdatedTime time.Time `mapstructure:"last_updated_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)
+		}
+	}()
+
+	class := &Class{
+		ID:         "id" + strconv.Itoa(time.Now().Nanosecond()),
+		Name:       "test",
+		StudentNum: 10,
+	}
+
+	err = sdk.InsertEntity(sdk.GetInstance(), tableName, class)
+	if err != nil {
+		panic(err)
+	}
+
+	tableRow, err := sdk.QueryOne(sdk.GetInstance(), &raw_sql_tpl.QueryOneExecuteParams{
+		TableName:     tableName,
+		SelectColumns: []string{"id", "name", "created_time", "last_updated_time"},
+		Conditions:    raw_sql_tpl.NewConditions().Equal("id", class.ID),
+	})
+	if err != nil {
+		panic(err)
+	}
+
+	fmt.Println(tableRow)
+
+	classInfo := new(ClassInfo)
+	err = sdk.ParseSqlResults(tableRow, classInfo)
+	if err != nil {
+		panic(err)
+	}
+
+	fmt.Println(classInfo)
+
+	err = sdk.DeleteEntity(sdk.GetInstance(), tableName, class)
+	if err != nil {
+		panic(err)
+	}
+}
+```

+ 7 - 7
sdk/sql.go → sql/sql.go

@@ -1,10 +1,10 @@
-package sdk
+package sql
 
 import (
 	"errors"
 	"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/tag"
 	"github.com/mitchellh/mapstructure"
 	"reflect"
 	"strings"
@@ -34,7 +34,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return errors.New("没有传递实体")
 	}
 
-	sqlMapping, err := tag.ParseSqlMapping(e)
+	sqlMapping, err := ParseSqlMapping(e)
 	if err != nil {
 		return err
 	}
@@ -73,7 +73,7 @@ func InsertEntity[T any](executor SqlExecutor, tableName string, e T) error {
 	_, err = executor.ExecuteRawSql(raw_sql_tpl.InsertTpl, executeParamsMap)
 	if err != nil {
 		if strings.Contains(err.Error(), "SQLSTATE 23505") {
-			return ErrDBRecordHasExist
+			return sdk.ErrDBRecordHasExist
 		}
 
 		return err
@@ -95,7 +95,7 @@ func DeleteEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return errors.New("没有传递实体")
 	}
 
-	sqlMapping, err := tag.ParseSqlMapping(e)
+	sqlMapping, err := ParseSqlMapping(e)
 	if err != nil {
 		return err
 	}
@@ -149,7 +149,7 @@ func UpdateEntity[T any](executor SqlExecutor, tableName string, e T) error {
 		return errors.New("没有传递实体")
 	}
 
-	sqlMapping, err := tag.ParseSqlMapping(e)
+	sqlMapping, err := ParseSqlMapping(e)
 	if err != nil {
 		return err
 	}
@@ -334,7 +334,7 @@ func QueryOne(executor SqlExecutor, executeParams *raw_sql_tpl.QueryOneExecutePa
 	}
 
 	if tableRows == nil || len(tableRows) == 0 {
-		return nil, ErrDBRecordNotExist
+		return nil, sdk.ErrDBRecordNotExist
 	}
 
 	return tableRows[0], nil

+ 1 - 1
sdk/tag/sql_mapping.go → sql/sql_mapping.go

@@ -1,4 +1,4 @@
-package tag
+package sql
 
 import (
 	"errors"

+ 29 - 29
test/sdk_test.go

@@ -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/tag"
+	"git.sxidc.com/service-supports/ds-sdk/sql"
 	"github.com/iancoleman/strcase"
 	"math/rand"
 	"strings"
@@ -269,7 +269,7 @@ func TestRawSqlTemplate(t *testing.T) {
 	}
 
 	classes := make([]Class, 0)
-	err = sdk.ParseSqlResults(queryResults, &classes)
+	err = sql.ParseSqlResults(queryResults, &classes)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -307,7 +307,7 @@ func TestRawSqlTemplate(t *testing.T) {
 	}
 
 	classes = make([]Class, 0)
-	err = sdk.ParseSqlResults(queryResults, &classes)
+	err = sql.ParseSqlResults(queryResults, &classes)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -336,7 +336,7 @@ func TestRawSqlTemplate(t *testing.T) {
 }
 
 func TestSqlMapping(t *testing.T) {
-	sqlMapping, err := tag.ParseSqlMapping(&Class{})
+	sqlMapping, err := sql.ParseSqlMapping(&Class{})
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -441,22 +441,22 @@ func TestSql(t *testing.T) {
 		}
 	}()
 
-	err = sdk.InsertEntity(sdk.GetInstance(), tableName, class)
+	err = sql.InsertEntity(sdk.GetInstance(), tableName, class)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	err = sdk.UpdateEntity(sdk.GetInstance(), tableName, newClass)
+	err = sql.UpdateEntity(sdk.GetInstance(), tableName, newClass)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	err = sdk.DeleteEntity(sdk.GetInstance(), tableName, class)
+	err = sql.DeleteEntity(sdk.GetInstance(), tableName, class)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	err = sdk.Insert(sdk.GetInstance(), &raw_sql_tpl.InsertExecuteParams{
+	err = sql.Insert(sdk.GetInstance(), &raw_sql_tpl.InsertExecuteParams{
 		TableName: tableName,
 		TableRows: raw_sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", className).
@@ -469,7 +469,7 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err = sdk.Update(sdk.GetInstance(), &raw_sql_tpl.UpdateExecuteParams{
+	err = sql.Update(sdk.GetInstance(), &raw_sql_tpl.UpdateExecuteParams{
 		TableName: tableName,
 		TableRows: raw_sql_tpl.NewTableRows().Add("id", classID).
 			Add("name", newClassName).
@@ -481,7 +481,7 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err = sdk.Delete(sdk.GetInstance(), &raw_sql_tpl.DeleteExecuteParams{
+	err = sql.Delete(sdk.GetInstance(), &raw_sql_tpl.DeleteExecuteParams{
 		TableName: tableName,
 		Conditions: raw_sql_tpl.NewConditions().
 			Equal("id", classID),
@@ -490,33 +490,33 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	_, err = sdk.ExecuteRawSql(sdk.GetInstance(), raw_sql_tpl.InsertTpl, insertExecuteParams)
+	_, err = sql.ExecuteRawSql(sdk.GetInstance(), raw_sql_tpl.InsertTpl, insertExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	_, err = sdk.ExecuteSql(sdk.GetInstance(), deleteSql, deleteExecuteParams)
+	_, err = sql.ExecuteSql(sdk.GetInstance(), deleteSql, deleteExecuteParams)
 	if err != nil {
 		t.Fatal(err)
 	}
 
 	err = sdk.GetInstance().Transaction(func(tx *sdk.Transaction) error {
-		err = sdk.InsertEntity(tx, tableName, class)
+		err = sql.InsertEntity(tx, tableName, class)
 		if err != nil {
 			t.Fatal(err)
 		}
 
-		err = sdk.UpdateEntity(tx, tableName, newClass)
+		err = sql.UpdateEntity(tx, tableName, newClass)
 		if err != nil {
 			t.Fatal(err)
 		}
 
-		err = sdk.DeleteEntity(tx, tableName, class)
+		err = sql.DeleteEntity(tx, tableName, class)
 		if err != nil {
 			t.Fatal(err)
 		}
 
-		err = sdk.Insert(tx, &raw_sql_tpl.InsertExecuteParams{
+		err = sql.Insert(tx, &raw_sql_tpl.InsertExecuteParams{
 			TableName: tableName,
 			TableRows: raw_sql_tpl.NewTableRows().Add("id", classID).
 				Add("name", className).
@@ -529,7 +529,7 @@ func TestSql(t *testing.T) {
 			t.Fatal(err)
 		}
 
-		err = sdk.Update(tx, &raw_sql_tpl.UpdateExecuteParams{
+		err = sql.Update(tx, &raw_sql_tpl.UpdateExecuteParams{
 			TableName: tableName,
 			TableRows: raw_sql_tpl.NewTableRows().Add("id", classID).
 				Add("name", newClassName).
@@ -541,7 +541,7 @@ func TestSql(t *testing.T) {
 			t.Fatal(err)
 		}
 
-		err = sdk.Delete(tx, &raw_sql_tpl.DeleteExecuteParams{
+		err = sql.Delete(tx, &raw_sql_tpl.DeleteExecuteParams{
 			TableName: tableName,
 			Conditions: raw_sql_tpl.NewConditions().
 				Equal("id", classID),
@@ -550,12 +550,12 @@ func TestSql(t *testing.T) {
 			t.Fatal(err)
 		}
 
-		_, err = sdk.ExecuteRawSql(tx, raw_sql_tpl.InsertTpl, insertExecuteParams)
+		_, err = sql.ExecuteRawSql(tx, raw_sql_tpl.InsertTpl, insertExecuteParams)
 		if err != nil {
 			t.Fatal(err)
 		}
 
-		_, err = sdk.ExecuteSql(tx, deleteSql, deleteExecuteParams)
+		_, err = sql.ExecuteSql(tx, deleteSql, deleteExecuteParams)
 		if err != nil {
 			t.Fatal(err)
 		}
@@ -566,12 +566,12 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err = sdk.InsertEntity(sdk.GetInstance(), tableName, class)
+	err = sql.InsertEntity(sdk.GetInstance(), tableName, class)
 	if err != nil {
 		t.Fatal(err)
 	}
 
-	tableRows, totalCount, err := sdk.Query(sdk.GetInstance(), &raw_sql_tpl.QueryExecuteParams{
+	tableRows, totalCount, err := sql.Query(sdk.GetInstance(), &raw_sql_tpl.QueryExecuteParams{
 		TableName:     tableName,
 		SelectColumns: []string{"id", "name"},
 		Conditions: raw_sql_tpl.NewConditions().
@@ -589,7 +589,7 @@ func TestSql(t *testing.T) {
 		t.Fatal("总数不正确")
 	}
 
-	err = sdk.ParseSqlResults(tableRows, &queryClasses)
+	err = sql.ParseSqlResults(tableRows, &queryClasses)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -603,7 +603,7 @@ func TestSql(t *testing.T) {
 		t.Fatal("查询数据不正确")
 	}
 
-	tableRow, err := sdk.QueryOne(sdk.GetInstance(), &raw_sql_tpl.QueryOneExecuteParams{
+	tableRow, err := sql.QueryOne(sdk.GetInstance(), &raw_sql_tpl.QueryOneExecuteParams{
 		TableName:     tableName,
 		SelectColumns: []string{"id", "name"},
 		Conditions: raw_sql_tpl.NewConditions().
@@ -615,7 +615,7 @@ func TestSql(t *testing.T) {
 		t.Fatal(err)
 	}
 
-	err = sdk.ParseSqlResults(tableRow, queryClass)
+	err = sql.ParseSqlResults(tableRow, queryClass)
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -629,7 +629,7 @@ func TestSql(t *testing.T) {
 		t.Fatal("查询数据不正确")
 	}
 
-	queryCount, err := sdk.Count(sdk.GetInstance(), &raw_sql_tpl.CountExecuteParams{
+	queryCount, err := sql.Count(sdk.GetInstance(), &raw_sql_tpl.CountExecuteParams{
 		TableName: tableName,
 		Conditions: raw_sql_tpl.NewConditions().
 			Equal("id", classID).
@@ -644,7 +644,7 @@ func TestSql(t *testing.T) {
 		t.Fatal("数量不正确")
 	}
 
-	exist, err := sdk.CheckExist(sdk.GetInstance(), &raw_sql_tpl.CheckExistExecuteParams{
+	exist, err := sql.CheckExist(sdk.GetInstance(), &raw_sql_tpl.CheckExistExecuteParams{
 		TableName: tableName,
 		Conditions: raw_sql_tpl.NewConditions().
 			Equal("id", classID).
@@ -659,7 +659,7 @@ func TestSql(t *testing.T) {
 		t.Fatal("存在状态错误")
 	}
 
-	hasOnlyOne, err := sdk.CheckHasOnlyOne(sdk.GetInstance(), &raw_sql_tpl.CheckHasOnlyOneExecuteParams{
+	hasOnlyOne, err := sql.CheckHasOnlyOne(sdk.GetInstance(), &raw_sql_tpl.CheckHasOnlyOneExecuteParams{
 		TableName: tableName,
 		Conditions: raw_sql_tpl.NewConditions().
 			Equal("id", classID).
@@ -674,7 +674,7 @@ func TestSql(t *testing.T) {
 		t.Fatal("唯一性错误")
 	}
 
-	err = sdk.DeleteEntity(sdk.GetInstance(), tableName, class)
+	err = sql.DeleteEntity(sdk.GetInstance(), tableName, class)
 	if err != nil {
 		t.Fatal(err)
 	}