|
|
@@ -16,6 +16,11 @@ import (
|
|
|
|
|
|
func Create(tableName string, callbacks *Callbacks[string]) binding.ServiceFunc[string] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (string, error) {
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return "", fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
e, ok := objects[0].(domain.Entity)
|
|
|
@@ -58,6 +63,11 @@ func Create(tableName string, callbacks *Callbacks[string]) binding.ServiceFunc[
|
|
|
|
|
|
func Delete(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[any] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return nil, fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
e, ok := objects[0].(domain.Entity)
|
|
|
@@ -91,6 +101,11 @@ func Delete(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[any
|
|
|
|
|
|
func Update(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[any] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return nil, fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
e, ok := objects[0].(domain.Entity)
|
|
|
@@ -105,7 +120,7 @@ func Update(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[any
|
|
|
|
|
|
exist, err := database.CheckExist(dbExecutor, &sql.CheckExistExecuteParams{
|
|
|
TableName: tableName,
|
|
|
- Conditions: sql.NewConditions().Equal(e.IDColumnName(), e.GetID()),
|
|
|
+ Conditions: sql.NewConditions().Equal(domain.ColumnID, e.GetID()),
|
|
|
})
|
|
|
if err != nil {
|
|
|
return callbackOnErrorReturn(callbacks, e, err, i, nil)
|
|
|
@@ -139,6 +154,15 @@ type ConditionFieldCallback func(conditions *sql.Conditions, fieldName string, c
|
|
|
|
|
|
func Query[O any](tableName string, callbacks *Callbacks[response.InfosData[O]], conditionFieldCallback ConditionFieldCallback) binding.ServiceFunc[response.InfosData[O]] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (response.InfosData[O], error) {
|
|
|
+ if params == nil {
|
|
|
+ return response.InfosData[O]{}, fserr.New("请求参数为空")
|
|
|
+ }
|
|
|
+
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return response.InfosData[O]{}, fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
queryParams, ok := params.(request.Query)
|
|
|
@@ -210,9 +234,15 @@ func Query[O any](tableName string, callbacks *Callbacks[response.InfosData[O]],
|
|
|
|
|
|
func GetByID[O any](tableName string, callbacks *Callbacks[O]) binding.ServiceFunc[O] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (O, error) {
|
|
|
+ var outputZero O
|
|
|
+
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return outputZero, fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
- var outputZero O
|
|
|
outputZeroValue := reflect.Zero(reflect.TypeOf(outputZero))
|
|
|
if outputZeroValue.Kind() == reflect.Pointer {
|
|
|
outputZeroValue.Set(reflect.New(outputZeroValue.Type().Elem()))
|
|
|
@@ -235,7 +265,7 @@ func GetByID[O any](tableName string, callbacks *Callbacks[O]) binding.ServiceFu
|
|
|
|
|
|
result, err := database.QueryOne(dbExecutor, &sql.QueryOneExecuteParams{
|
|
|
TableName: tableName,
|
|
|
- Conditions: sql.NewConditions().Equal(e.IDColumnName(), e.GetID()),
|
|
|
+ Conditions: sql.NewConditions().Equal(domain.ColumnID, e.GetID()),
|
|
|
})
|
|
|
if err != nil {
|
|
|
return callbackOnErrorReturn(callbacks, e, err, i, outputZero)
|
|
|
@@ -265,6 +295,11 @@ func GetByID[O any](tableName string, callbacks *Callbacks[O]) binding.ServiceFu
|
|
|
|
|
|
func CreateTx(tableName string, callbacks *Callbacks[string]) binding.ServiceFunc[string] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (string, error) {
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return "", fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
e, ok := objects[0].(domain.Entity)
|
|
|
@@ -314,6 +349,11 @@ func CreateTx(tableName string, callbacks *Callbacks[string]) binding.ServiceFun
|
|
|
|
|
|
func DeleteTx(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[any] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return nil, fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
e, ok := objects[0].(domain.Entity)
|
|
|
@@ -354,6 +394,11 @@ func DeleteTx(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[a
|
|
|
|
|
|
func UpdateTx(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[any] {
|
|
|
return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
|
|
|
+ object := objects[0]
|
|
|
+ if object == nil {
|
|
|
+ return nil, fserr.New("领域实体为空")
|
|
|
+ }
|
|
|
+
|
|
|
dbExecutor := i.DBExecutor()
|
|
|
|
|
|
e, ok := objects[0].(domain.Entity)
|
|
|
@@ -368,7 +413,7 @@ func UpdateTx(tableName string, callbacks *Callbacks[any]) binding.ServiceFunc[a
|
|
|
|
|
|
exist, err := database.CheckExist(dbExecutor, &sql.CheckExistExecuteParams{
|
|
|
TableName: tableName,
|
|
|
- Conditions: sql.NewConditions().Equal(e.IDColumnName(), e.GetID()),
|
|
|
+ Conditions: sql.NewConditions().Equal(domain.ColumnID, e.GetID()),
|
|
|
})
|
|
|
if err != nil {
|
|
|
return callbackOnErrorReturn(callbacks, e, err, i, nil)
|