浏览代码

调整接口

yjp 1 年之前
父节点
当前提交
643c74d78d

+ 35 - 18
framework/core/infrastructure/database/database.go

@@ -13,8 +13,8 @@ import (
 )
 
 type Executor interface {
-	ExecuteRawSql(sql string, executeParams map[string]any, values ...any) ([]sql.Result, error)
-	ExecuteSql(name string, executeParams map[string]any, values ...any) ([]sql.Result, error)
+	ExecuteRawSql(sql string, values ...any) ([]sql.Result, error)
+	ExecuteRawSqlTemplate(sql string, template map[string]any, values ...any) ([]sql.Result, error)
 }
 
 const (
@@ -88,7 +88,7 @@ func insertEntitySingle(executor Executor, tableName string, e any) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(sql.InsertTpl, executeParamsMap, executeParams.TableRow.Values()...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.InsertTpl, executeParamsMap, executeParams.TableRow.Values()...)
 	if err != nil {
 		if strings.Contains(err.Error(), "SQLSTATE 23505") {
 			return ErrDBRecordHasExist
@@ -141,7 +141,7 @@ func insertEntityBatch(executor Executor, tableName string, es any) error {
 		values = append(values, tableRow.Values()...)
 	}
 
-	_, err = executor.ExecuteRawSql(sql.InsertTpl, executeParamsMap, values...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.InsertTpl, executeParamsMap, values...)
 	if err != nil {
 		if strings.Contains(err.Error(), "SQLSTATE 23505") {
 			return ErrDBRecordHasExist
@@ -212,7 +212,7 @@ func DeleteEntity(executor Executor, tableName string, e any) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(sql.DeleteTpl, executeParamsMap, executeParams.Conditions.Args()...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.DeleteTpl, executeParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return err
 	}
@@ -288,7 +288,7 @@ func UpdateEntity(executor Executor, tableName string, e any) error {
 	args = append(args, executeParams.TableRow.Values()...)
 	args = append(args, executeParams.Conditions.Args()...)
 
-	_, err = executor.ExecuteRawSql(sql.UpdateTpl, executeParamsMap, args...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.UpdateTpl, executeParamsMap, args...)
 	if err != nil {
 		return err
 	}
@@ -310,7 +310,7 @@ func Insert(executor Executor, executeParams *sql.InsertExecuteParams) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(sql.InsertTpl, executeParamsMap, executeParams.TableRow.Values()...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.InsertTpl, executeParamsMap, executeParams.TableRow.Values()...)
 	if err != nil {
 		return err
 	}
@@ -359,7 +359,7 @@ func Delete(executor Executor, executeParams *sql.DeleteExecuteParams) error {
 		return err
 	}
 
-	_, err = executor.ExecuteRawSql(sql.DeleteTpl, executeParamsMap, executeParams.Conditions.Args()...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.DeleteTpl, executeParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return err
 	}
@@ -385,7 +385,7 @@ func Update(executor Executor, executeParams *sql.UpdateExecuteParams) error {
 	args = append(args, executeParams.TableRow.Values()...)
 	args = append(args, executeParams.Conditions.Args()...)
 
-	_, err = executor.ExecuteRawSql(sql.UpdateTpl, executeParamsMap, args...)
+	_, err = executor.ExecuteRawSqlTemplate(sql.UpdateTpl, executeParamsMap, args...)
 	if err != nil {
 		return err
 	}
@@ -417,12 +417,12 @@ func Query(executor Executor, executeParams *sql.QueryExecuteParams) ([]sql.Resu
 		return nil, 0, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(sql.QueryTpl, queryExecuteParamsMap, executeParams.Conditions.Args()...)
+	tableRows, err := executor.ExecuteRawSqlTemplate(sql.QueryTpl, queryExecuteParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return nil, 0, err
 	}
 
-	countTableRow, err := executor.ExecuteRawSql(sql.CountTpl, countExecuteParamsMap, countExecuteParams.Conditions.Args()...)
+	countTableRow, err := executor.ExecuteRawSqlTemplate(sql.CountTpl, countExecuteParamsMap, countExecuteParams.Conditions.Args()...)
 	if err != nil {
 		return nil, 0, err
 	}
@@ -449,7 +449,7 @@ func QueryOne(executor Executor, executeParams *sql.QueryOneExecuteParams) (sql.
 		return nil, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(sql.QueryTpl, executeParamsMap, executeParams.Conditions.Args()...)
+	tableRows, err := executor.ExecuteRawSqlTemplate(sql.QueryTpl, executeParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return nil, err
 	}
@@ -475,7 +475,7 @@ func Count(executor Executor, executeParams *sql.CountExecuteParams) (int64, err
 		return 0, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(sql.CountTpl, executeParamsMap, executeParams.Conditions.Args()...)
+	tableRows, err := executor.ExecuteRawSqlTemplate(sql.CountTpl, executeParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return 0, err
 	}
@@ -497,7 +497,7 @@ func CheckExist(executor Executor, executeParams *sql.CheckExistExecuteParams) (
 		return false, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(sql.CountTpl, executeParamsMap, executeParams.Conditions.Args()...)
+	tableRows, err := executor.ExecuteRawSqlTemplate(sql.CountTpl, executeParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return false, err
 	}
@@ -519,7 +519,7 @@ func CheckHasOnlyOne(executor Executor, executeParams *sql.CheckHasOnlyOneExecut
 		return false, err
 	}
 
-	tableRows, err := executor.ExecuteRawSql(sql.CountTpl, executeParamsMap, executeParams.Conditions.Args()...)
+	tableRows, err := executor.ExecuteRawSqlTemplate(sql.CountTpl, executeParamsMap, executeParams.Conditions.Args()...)
 	if err != nil {
 		return false, err
 	}
@@ -536,7 +536,7 @@ func ExecuteRawSql(executor Executor, sql string, executeParams map[string]any,
 		return nil, errors.New("没有sql")
 	}
 
-	tableRows, err := executor.ExecuteRawSql(sql, executeParams, args...)
+	tableRows, err := executor.ExecuteRawSqlTemplate(sql, executeParams, args...)
 	if err != nil {
 		return nil, err
 	}
@@ -544,7 +544,7 @@ func ExecuteRawSql(executor Executor, sql string, executeParams map[string]any,
 	return tableRows, nil
 }
 
-func ExecuteSql(executor Executor, name string, executeParams map[string]any, args ...any) ([]sql.Result, error) {
+func ExecuteSql(executor Executor, name string, args ...any) ([]sql.Result, error) {
 	if executor == nil {
 		return nil, errors.New("没有传递执行器")
 	}
@@ -553,7 +553,24 @@ func ExecuteSql(executor Executor, name string, executeParams map[string]any, ar
 		return nil, errors.New("没有sql资源名称")
 	}
 
-	tableRows, err := executor.ExecuteSql(name, executeParams, args...)
+	tableRows, err := executor.ExecuteRawSql(name, args...)
+	if err != nil {
+		return nil, err
+	}
+
+	return tableRows, nil
+}
+
+func ExecuteSqlTemplate(executor Executor, name string, executeParams map[string]any, args ...any) ([]sql.Result, error) {
+	if executor == nil {
+		return nil, errors.New("没有传递执行器")
+	}
+
+	if strutils.IsStringEmpty(name) {
+		return nil, errors.New("没有sql资源名称")
+	}
+
+	tableRows, err := executor.ExecuteRawSqlTemplate(name, executeParams, args...)
 	if err != nil {
 		return nil, err
 	}

+ 5 - 1
framework/core/infrastructure/database/operations/operations.go

@@ -144,7 +144,11 @@ func (op *Operations) AutoMigrate(tables ...Table) error {
 	return nil
 }
 
-func (op *Operations) ExecuteRawSql(sqlStr string, executeParams map[string]any, values ...any) ([]sql.Result, error) {
+func (op *Operations) ExecuteRawSql(sqlStr string, values ...any) ([]sql.Result, error) {
+	return op.ExecuteRawSqlTemplate(sqlStr, nil, values...)
+}
+
+func (op *Operations) ExecuteRawSqlTemplate(sqlStr string, executeParams map[string]any, values ...any) ([]sql.Result, error) {
 	parsedSql, err := template.ParseTemplateStringToString(sqlStr, executeParams)
 	if err != nil {
 		return nil, errors.New(err.Error())