Browse Source

包裹错误

yjp 1 year ago
parent
commit
f38a2fd518

+ 3 - 4
convenient/relation/many2many/simple.go

@@ -7,7 +7,6 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/binding/response"
 	"git.sxidc.com/go-framework/baize/framework/core/domain"
 	"git.sxidc.com/go-framework/baize/framework/core/domain/entity"
-	"github.com/iancoleman/strcase"
 )
 
 // Simple 关联的Bind参数
@@ -48,11 +47,11 @@ func (simple *Simple[LI, RI]) bind(binder *binding.Binder) {
 	leftRelationFieldName := fmt.Sprintf("%sIDs", simple.Right.DomainCamelName())
 	rightRelationFieldName := fmt.Sprintf("%sIDs", simple.Left.DomainCamelName())
 
-	middleTableName := domain.SnakeDomainName(simple.Left) + "_and_" + domain.SnakeDomainName(simple.Right)
+	middleTableName := domain.RelationTableName(simple.Schema, simple.Left, simple.Right)
 	leftTableName := domain.TableName(simple.Schema, simple.Left)
-	leftRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Right.DomainCamelName()))
+	leftRelationColumnName := domain.RelationColumnName(simple.Right)
 	rightTableName := domain.TableName(simple.Schema, simple.Right)
-	rightRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Left.DomainCamelName()))
+	rightRelationColumnName := domain.RelationColumnName(simple.Left)
 
 	if !options.disableLeft {
 		if !options.disableLeftUpdate {

+ 1 - 2
convenient/relation/one2many/simple.go

@@ -7,7 +7,6 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/binding/response"
 	"git.sxidc.com/go-framework/baize/framework/core/domain"
 	"git.sxidc.com/go-framework/baize/framework/core/domain/entity"
-	"github.com/iancoleman/strcase"
 )
 
 // Simple 关联的Bind参数
@@ -53,7 +52,7 @@ func (simple *Simple[LI, RI]) bind(binder *binding.Binder) {
 
 	leftTableName := domain.TableName(simple.Schema, simple.Left)
 	rightTableName := domain.TableName(simple.Schema, simple.Right)
-	rightRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Left.DomainCamelName()))
+	rightRelationColumnName := domain.RelationColumnName(simple.Left)
 
 	if !options.disableLeft {
 		if !options.disableLeftUpdate {

+ 2 - 3
convenient/relation/one2one/simple.go

@@ -7,7 +7,6 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/binding/response"
 	"git.sxidc.com/go-framework/baize/framework/core/domain"
 	"git.sxidc.com/go-framework/baize/framework/core/domain/entity"
-	"github.com/iancoleman/strcase"
 )
 
 // Simple 关联的Bind参数
@@ -55,9 +54,9 @@ func (simple *Simple[LI, RI]) bind(binder *binding.Binder) {
 	rightRelationFieldName := fmt.Sprintf("%sID", simple.Left.DomainCamelName())
 
 	leftTableName := domain.TableName(simple.Schema, simple.Left)
-	leftRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Right.DomainCamelName()))
+	leftRelationColumnName := domain.RelationColumnName(simple.Right)
 	rightTableName := domain.TableName(simple.Schema, simple.Right)
-	rightRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Left.DomainCamelName()))
+	rightRelationColumnName := domain.RelationColumnName(simple.Left)
 
 	if !options.disableLeft {
 		if !options.disableLeftUpdate {

+ 3 - 4
convenient/relation/remote/simple.go

@@ -7,7 +7,6 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/binding/response"
 	"git.sxidc.com/go-framework/baize/framework/core/domain"
 	"git.sxidc.com/go-framework/baize/framework/core/domain/entity"
-	"github.com/iancoleman/strcase"
 	"reflect"
 )
 
@@ -48,11 +47,11 @@ func (simple *Simple[LI, RI]) bind(binder *binding.Binder) {
 	leftRelationFieldName := fmt.Sprintf("%sIDs", simple.Right.DomainCamelName())
 	rightRelationFieldName := fmt.Sprintf("%sIDs", simple.Left.DomainCamelName())
 
-	middleTableName := domain.SnakeDomainName(simple.Left) + "_and_" + domain.SnakeDomainName(simple.Right)
+	middleTableName := domain.RelationTableName(simple.Schema, simple.Left, simple.Right)
 	leftTableName := domain.TableName(simple.Schema, simple.Left)
-	leftRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Right.DomainCamelName()))
+	leftRelationColumnName := domain.RelationColumnName(simple.Right)
 	rightTableName := domain.TableName(simple.Schema, simple.Right)
-	rightRelationColumnName := fmt.Sprintf("%s_id", strcase.ToSnake(simple.Left.DomainCamelName()))
+	rightRelationColumnName := domain.RelationColumnName(simple.Left)
 
 	leftRemote := false
 	if reflect.TypeOf(new(LI)).Elem().Kind() == reflect.String {

+ 37 - 6
framework/binding/request/params_bind_func.go

@@ -2,29 +2,60 @@ package request
 
 import (
 	"git.sxidc.com/go-framework/baize/framework/core/api"
+	"git.sxidc.com/service-supports/fserr"
 	"github.com/gin-gonic/gin/binding"
 )
 
 func JsonBody(c *api.Context, params Params) error {
-	return c.ShouldBindJSON(params)
+	err := c.ShouldBindJSON(params)
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }
 
 func QueryParams(c *api.Context, params Params) error {
-	return c.ShouldBindQuery(params)
+	err := c.ShouldBindQuery(params)
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }
 
 func PathParams(c *api.Context, params Params) error {
-	return c.ShouldBindUri(params)
+	err := c.ShouldBindUri(params)
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }
 
 func MultipartForm(c *api.Context, params Params) error {
-	return c.ShouldBindWith(params, binding.FormMultipart)
+	err := c.ShouldBindWith(params, binding.FormMultipart)
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }
 
 func FormBody(c *api.Context, params Params) error {
-	return c.ShouldBindWith(params, binding.Form)
+	err := c.ShouldBindWith(params, binding.Form)
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }
 
 func XMLBody(c *api.Context, params Params) error {
-	return c.ShouldBindXML(params)
+	err := c.ShouldBindXML(params)
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }

+ 3 - 2
framework/binding/response/response.go

@@ -128,13 +128,13 @@ func formMapMsgResponse(err error) map[string]any {
 func WSSendMessage(groupID string, obj any) {
 	message, err := json.Marshal(obj)
 	if err != nil {
-		logger.GetInstance().Error(err)
+		logger.GetInstance().Error(fserr.New(err.Error()))
 		return
 	}
 
 	err = websocket.GetInstance().BroadCast(groupID, message)
 	if err != nil {
-		logger.GetInstance().Error(err)
+		logger.GetInstance().Error(fserr.New(err.Error()))
 		return
 	}
 }
@@ -156,6 +156,7 @@ func WriteBytes(c *api.Context, statusCode int, bytes []byte, err error) {
 
 	_, err = c.Writer.Write(bytes)
 	if err != nil {
+		logger.GetInstance().Error(fserr.New(err.Error()))
 		c.AbortWithStatus(statusCode)
 		return
 	}

+ 7 - 2
framework/core/api/api.go

@@ -74,14 +74,19 @@ func NewWithEngine(server *http.Server, engine *gin.Engine, opts ...Option) *Api
 func (api *Api) Start() error {
 	err := api.server.ListenAndServe()
 	if err != nil && !fserr.Is(err, http.ErrServerClosed) {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return nil
 }
 
 func (api *Api) Finish() error {
-	return api.server.Shutdown(context.Background())
+	err := api.server.Shutdown(context.Background())
+	if err != nil {
+		return fserr.New(err.Error())
+	}
+
+	return nil
 }
 
 func (api *Api) Options() Options {

+ 8 - 7
framework/core/api/context.go

@@ -4,6 +4,7 @@ import (
 	"bytes"
 	"encoding/json"
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/logger"
+	"git.sxidc.com/service-supports/fserr"
 	"github.com/gin-gonic/gin"
 	"io"
 	"mime/multipart"
@@ -18,20 +19,20 @@ type Context struct {
 func (c *Context) GetFileHeaderBytes(fileHeader *multipart.FileHeader) (string, []byte, error) {
 	file, err := fileHeader.Open()
 	if err != nil {
-		return "", nil, err
+		return "", nil, fserr.New(err.Error())
 	}
 
 	defer func(file multipart.File) {
 		err := file.Close()
 		if err != nil {
-			logger.GetInstance().Error(err)
+			logger.GetInstance().Error(fserr.New(err.Error()))
 			return
 		}
 	}(file)
 
 	contentBytes, err := io.ReadAll(file)
 	if err != nil {
-		return "", nil, err
+		return "", nil, fserr.New(err.Error())
 	}
 
 	return fileHeader.Filename, contentBytes, nil
@@ -54,13 +55,13 @@ func (c *Context) ReadBody() ([]byte, error) {
 
 	body, err := io.ReadAll(c.Request.Body)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	defer func(Body io.ReadCloser) {
 		err := Body.Close()
 		if err != nil {
-			logger.GetInstance().Error(err)
+			logger.GetInstance().Error(fserr.New(err.Error()))
 			return
 		}
 	}(c.Request.Body)
@@ -74,7 +75,7 @@ func (c *Context) ReplaceBody(body []byte) error {
 	if c.Request.Body != nil {
 		err := c.Request.Body.Close()
 		if err != nil {
-			return err
+			return fserr.New(err.Error())
 		}
 	}
 
@@ -95,7 +96,7 @@ func (c *Context) ReadJsonBody(output any) error {
 func (c *Context) ReplaceJsonBody(body any) error {
 	bodyBytes, err := json.Marshal(body)
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return c.ReplaceBody(bodyBytes)

+ 2 - 2
framework/core/application/config.go

@@ -61,7 +61,7 @@ func loadFromJson(jsonBytes []byte) (Config, error) {
 	conf := new(Config)
 	err := json.Unmarshal(jsonBytes, conf)
 	if err != nil {
-		return Config{}, err
+		return Config{}, fserr.New(err.Error())
 	}
 
 	return *conf, nil
@@ -71,7 +71,7 @@ func loadFromYaml(yamlBytes []byte) (Config, error) {
 	conf := new(Config)
 	err := yaml.Unmarshal(yamlBytes, conf)
 	if err != nil {
-		return Config{}, err
+		return Config{}, fserr.New(err.Error())
 	}
 
 	return *conf, nil

+ 1 - 1
framework/core/domain/object.go

@@ -56,7 +56,7 @@ func Field[T any](object Object, fieldName string) (T, error) {
 
 	retValue, ok := fieldValue.Interface().(T)
 	if !ok {
-		return zero, err
+		return zero, fserr.New("转换字段类型失败")
 	}
 
 	return retValue, nil

+ 0 - 2
framework/core/domain/value_object/utils.go

@@ -1,2 +0,0 @@
-package value_object
-

+ 9 - 8
framework/core/infrastructure/database/data_service/client/client.go

@@ -2,6 +2,7 @@ package client
 
 import (
 	"git.sxidc.com/go-tools/utils/http_client"
+	"git.sxidc.com/service-supports/fserr"
 	"time"
 )
 
@@ -52,12 +53,12 @@ func (c *Client) post(token string, url string, request interface{}, result inte
 			"Authorization": token,
 		}))
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	err = resp.Json(result)
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return nil
@@ -73,12 +74,12 @@ func (c *Client) delete(token string, url string, queryMap map[string]string, re
 		}),
 		http_client.WithRequestQueryParams(queryMap))
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	err = resp.Json(result)
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return nil
@@ -93,12 +94,12 @@ func (c *Client) put(token string, url string, request interface{}, result inter
 			"Authorization": token,
 		}))
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	err = resp.Json(result)
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return nil
@@ -114,12 +115,12 @@ func (c *Client) get(token string, url string, queryMap map[string]string, resul
 		}),
 		http_client.WithRequestQueryParams(queryMap))
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	err = resp.Json(result)
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return nil

+ 3 - 3
framework/core/infrastructure/database/data_service/client/data_source.go

@@ -1,7 +1,7 @@
 package client
 
 import (
-	"fmt"
+	"git.sxidc.com/service-supports/fserr"
 	"net/url"
 	"strconv"
 )
@@ -13,7 +13,7 @@ const (
 func (c *Client) GetDataSources(token string, baseUrl string, namespace string, name string, typeStr string, pageNo int, pageSize int) ([]DataSourceInfo, error) {
 	fullUrl, err := url.JoinPath(baseUrl, getDataSourcesUrl)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	resp := new(struct {
@@ -36,7 +36,7 @@ func (c *Client) GetDataSources(token string, baseUrl string, namespace string,
 	}
 
 	if !resp.Success {
-		return nil, fmt.Errorf(resp.Msg)
+		return nil, fserr.New(resp.Msg)
 	}
 
 	return resp.Infos, nil

+ 3 - 3
framework/core/infrastructure/database/data_service/client/namespace.go

@@ -1,7 +1,7 @@
 package client
 
 import (
-	"fmt"
+	"git.sxidc.com/service-supports/fserr"
 	"net/url"
 	"strconv"
 )
@@ -13,7 +13,7 @@ const (
 func (c *Client) GetNamespaces(token string, baseUrl string, name string, pageNo int, pageSize int) ([]NamespaceInfo, error) {
 	fullUrl, err := url.JoinPath(baseUrl, getNamespacesUrl)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	resp := new(struct {
@@ -34,7 +34,7 @@ func (c *Client) GetNamespaces(token string, baseUrl string, name string, pageNo
 	}
 
 	if !resp.Success {
-		return nil, fmt.Errorf(resp.Msg)
+		return nil, fserr.New(resp.Msg)
 	}
 
 	return resp.Infos, nil

+ 5 - 5
framework/core/infrastructure/database/data_service/client/sql.go

@@ -1,7 +1,7 @@
 package client
 
 import (
-	"fmt"
+	"git.sxidc.com/service-supports/fserr"
 	"net/url"
 )
 
@@ -14,7 +14,7 @@ func (c *Client) ExecuteRawSql(token string, baseUrl string,
 	namespace string, dataSource string, sql string, executeParams map[string]any) ([]map[string]any, error) {
 	fullUrl, err := url.JoinPath(baseUrl, executeRawSqlUrl)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	resp := new(struct {
@@ -34,7 +34,7 @@ func (c *Client) ExecuteRawSql(token string, baseUrl string,
 	}
 
 	if !resp.Success {
-		return nil, fmt.Errorf(resp.Msg)
+		return nil, fserr.New(resp.Msg)
 	}
 
 	return resp.Results, nil
@@ -44,7 +44,7 @@ func (c *Client) ExecuteSql(token string, baseUrl string,
 	namespace string, dataSource string, name string, executeParams map[string]any) ([]map[string]any, error) {
 	fullUrl, err := url.JoinPath(baseUrl, executeSqlUrl)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	resp := new(struct {
@@ -64,7 +64,7 @@ func (c *Client) ExecuteSql(token string, baseUrl string,
 	}
 
 	if !resp.Success {
-		return nil, fmt.Errorf(resp.Msg)
+		return nil, fserr.New(resp.Msg)
 	}
 
 	return resp.Results, nil

+ 10 - 8
framework/core/infrastructure/database/data_service/data_service.go

@@ -5,6 +5,7 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/data_service/grpc_client"
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/data_service/grpc_client/v1/request"
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql"
+	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/logger"
 	"git.sxidc.com/go-tools/utils/strutils"
 	"git.sxidc.com/service-supports/fserr"
 	"io"
@@ -59,7 +60,7 @@ func NewDataService(config *Config) (*DataService, error) {
 
 	grpcClient, err := grpc_client.NewClient(grpcAddress)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	return &DataService{
@@ -76,7 +77,7 @@ func DestroyDataService(ds *DataService) error {
 
 	err := grpc_client.Destroy(ds.grpcClient)
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	ds = nil
@@ -131,13 +132,14 @@ func (ds *DataService) ExecuteSql(name string, executeParams map[string]any) ([]
 func (ds *DataService) Transaction(txFunc TxFunc) error {
 	stream, err := ds.grpcClient.Transaction()
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	defer func() {
 		innerErr := stream.CloseSend()
 		if innerErr != nil {
-			panic(innerErr)
+			logger.GetInstance().Error(fserr.New(innerErr.Error()))
+			return
 		}
 	}()
 
@@ -150,12 +152,12 @@ func (ds *DataService) Transaction(txFunc TxFunc) error {
 			},
 		}})
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	resp, err := stream.Recv()
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	if !resp.Success {
@@ -174,12 +176,12 @@ func (ds *DataService) Transaction(txFunc TxFunc) error {
 			TransactionEndRequest: &request.TransactionEndRequest{},
 		}})
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	_, err = stream.Recv()
 	if err != nil && err != io.EOF {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	return nil

+ 13 - 10
framework/core/infrastructure/database/data_service/transaction.go

@@ -5,6 +5,7 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/data_service/grpc_client/v1"
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/data_service/grpc_client/v1/request"
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql"
+	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/logger"
 	"git.sxidc.com/service-supports/fserr"
 )
 
@@ -21,14 +22,15 @@ func (tx *Transaction) ExecuteRawSql(sqlStr string, executeParams map[string]any
 		if retErr != nil {
 			innerErr := tx.stream.CloseSend()
 			if innerErr != nil {
-				panic(innerErr)
+				logger.GetInstance().Error(fserr.New(innerErr.Error()))
+				return
 			}
 		}
 	}()
 
 	executeParamsJsonBytes, err := json.Marshal(executeParams)
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
@@ -41,13 +43,13 @@ func (tx *Transaction) ExecuteRawSql(sqlStr string, executeParams map[string]any
 		},
 	})
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
 	resp, err := tx.stream.Recv()
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
@@ -59,7 +61,7 @@ func (tx *Transaction) ExecuteRawSql(sqlStr string, executeParams map[string]any
 	tableRows := make([]map[string]any, 0)
 	err = json.Unmarshal([]byte(resp.Results), &tableRows)
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
@@ -78,14 +80,15 @@ func (tx *Transaction) ExecuteSql(name string, executeParams map[string]any) ([]
 		if retErr != nil {
 			innerErr := tx.stream.CloseSend()
 			if innerErr != nil {
-				panic(innerErr)
+				logger.GetInstance().Error(fserr.New(innerErr.Error()))
+				return
 			}
 		}
 	}()
 
 	executeParamsJsonBytes, err := json.Marshal(executeParams)
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
@@ -98,13 +101,13 @@ func (tx *Transaction) ExecuteSql(name string, executeParams map[string]any) ([]
 		},
 	})
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
 	resp, err := tx.stream.Recv()
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 
@@ -116,7 +119,7 @@ func (tx *Transaction) ExecuteSql(name string, executeParams map[string]any) ([]
 	tableRows := make([]map[string]any, 0)
 	err = json.Unmarshal([]byte(resp.Results), &tableRows)
 	if err != nil {
-		retErr = err
+		retErr = fserr.New(err.Error())
 		return nil, retErr
 	}
 

+ 8 - 3
framework/core/infrastructure/database/operations/db.go

@@ -24,10 +24,15 @@ func newGormDB(dbConfig *Config) (*gorm.DB, error) {
 func newPostgresGormDB(dbConfig *Config) (*gorm.DB, error) {
 	dsn := "host=%s port=%s user=%s password=%s dbname=%s sslmode=disable TimeZone=Asia/Shanghai"
 	connStr := fmt.Sprintf(dsn, dbConfig.Address, dbConfig.Port, dbConfig.UserName, dbConfig.Password, dbConfig.Database)
-	return gorm.Open(postgres.Open(connStr), &gorm.Config{
+	gormDB, err := gorm.Open(postgres.Open(connStr), &gorm.Config{
 		Logger:      logger.Default.LogMode(logger.Info),
 		PrepareStmt: true,
 	})
+	if err != nil {
+		return nil, fserr.New(err.Error())
+	}
+
+	return gormDB, nil
 }
 
 func destroyGormDB(gormDB *gorm.DB) error {
@@ -37,12 +42,12 @@ func destroyGormDB(gormDB *gorm.DB) error {
 
 	db, err := gormDB.DB()
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	err = db.Close()
 	if err != nil {
-		return err
+		return fserr.New(err.Error())
 	}
 
 	db = nil

+ 7 - 6
framework/core/infrastructure/database/operations/operations.go

@@ -6,6 +6,7 @@ import (
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql"
 	"git.sxidc.com/go-framework/baize/framework/core/infrastructure/logger"
 	"git.sxidc.com/go-tools/utils/template"
+	"git.sxidc.com/service-supports/fserr"
 	"gorm.io/gorm"
 	"time"
 )
@@ -33,7 +34,7 @@ func NewOperations(dbConfig *Config) (*Operations, error) {
 
 	sqlDB, err := gormDB.DB()
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	if dbConfig.MaxConnections == 0 {
@@ -133,7 +134,7 @@ func (op *Operations) AutoMigrate(tables ...Table) error {
 		err = tx.Table(table.TableName).AutoMigrate(dbModel)
 		if err != nil {
 			tx.Rollback()
-			return err
+			return fserr.New(err.Error())
 		}
 	}
 
@@ -145,24 +146,24 @@ func (op *Operations) AutoMigrate(tables ...Table) error {
 func (op *Operations) ExecuteRawSql(sqlStr string, executeParams map[string]any) ([]sql.Result, error) {
 	parsedSql, err := template.ParseTemplateStringToString(sqlStr, executeParams)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	tableRows := make([]map[string]any, 0)
 	err = op.db.Raw(parsedSql).Scan(&tableRows).Error
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	// 简化一下类型体系,与DataService保持一致
 	jsonTableRows, err := json.Marshal(tableRows)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	err = json.Unmarshal(jsonTableRows, &tableRows)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	results := make([]sql.Result, len(tableRows))

+ 2 - 1
framework/core/infrastructure/database/operations/table.go

@@ -2,6 +2,7 @@ package operations
 
 import (
 	"git.sxidc.com/go-tools/utils/template"
+	"git.sxidc.com/service-supports/fserr"
 	"github.com/iancoleman/strcase"
 	"reflect"
 )
@@ -56,7 +57,7 @@ type TableColumn struct {
 func (column *TableColumn) ToDBModelField() (*reflect.StructField, error) {
 	tag, err := template.ParseTemplateStringToString(tagTpl, column)
 	if err != nil {
-		return nil, err
+		return nil, fserr.New(err.Error())
 	}
 
 	return &reflect.StructField{

+ 1 - 1
framework/core/infrastructure/database/sql/value.go

@@ -32,7 +32,7 @@ func toSqlValue(value any) (string, error) {
 		retStr := new(string)
 		err := reflectutils.AssignStringValue(v, reflect.ValueOf(retStr).Elem())
 		if err != nil {
-			return "", err
+			return "", fserr.New(err.Error())
 		}
 
 		return *retStr, nil