yjp преди 1 година
родител
ревизия
339051b189
променени са 1 файла, в които са добавени 20 реда и са изтрити 20 реда
  1. 20 20
      convenient/entity_crud/service.go

+ 20 - 20
convenient/entity_crud/service.go

@@ -35,12 +35,12 @@ func Create(tableName string, callbacks *CreateCallbacks) binding.ServiceFunc[st
 			return callbackOnCreateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		err = e.ForCreate()
+		prepared, err := callbackPrepareCreate(callbacks, e, i)
 		if err != nil {
 			return callbackOnCreateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		prepared, err := callbackPrepareCreate(callbacks, e, i)
+		err = e.ForCreate()
 		if err != nil {
 			return callbackOnCreateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
@@ -82,12 +82,12 @@ func Delete(tableName string, callbacks *DeleteCallbacks) binding.ServiceFunc[an
 			return nil, errors.New("需要传递领域对象应该为实体")
 		}
 
-		err := e.ForDelete()
+		prepared, err := callbackPrepareDelete(callbacks, e, i)
 		if err != nil {
 			return nil, callbackOnDeleteErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		prepared, err := callbackPrepareDelete(callbacks, e, i)
+		err = e.ForDelete()
 		if err != nil {
 			return nil, callbackOnDeleteErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
@@ -125,7 +125,12 @@ func Update(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[an
 			return nil, errors.New("需要传递领域对象应该为实体")
 		}
 
-		err := e.ForUpdate()
+		prepared, err := callbackPrepareUpdate(callbacks, e, i)
+		if err != nil {
+			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
+		}
+
+		err = e.ForUpdate()
 		if err != nil {
 			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
@@ -143,11 +148,6 @@ func Update(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[an
 			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		prepared, err := callbackPrepareUpdate(callbacks, e, i)
-		if err != nil {
-			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
-		}
-
 		err = callbackBeforeUpdate(callbacks, e, prepared, i, nil)
 		if err != nil {
 			return nil, callbackOnUpdateErrorReturn(callbacks, e, prepared, err, i)
@@ -325,12 +325,12 @@ func CreateTx(tableName string, callbacks *CreateCallbacks) binding.ServiceFunc[
 			return callbackOnCreateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		err = e.ForCreate()
+		prepared, err := callbackPrepareCreate(callbacks, e, i)
 		if err != nil {
 			return callbackOnCreateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		prepared, err := callbackPrepareCreate(callbacks, e, i)
+		err = e.ForCreate()
 		if err != nil {
 			return callbackOnCreateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
@@ -379,12 +379,12 @@ func DeleteTx(tableName string, callbacks *DeleteCallbacks) binding.ServiceFunc[
 			return nil, errors.New("需要传递领域对象应该为实体")
 		}
 
-		err := entity.CheckFieldID(e)
+		prepared, err := callbackPrepareDelete(callbacks, e, i)
 		if err != nil {
 			return nil, callbackOnDeleteErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
 
-		prepared, err := callbackPrepareDelete(callbacks, e, i)
+		err = e.ForDelete()
 		if err != nil {
 			return nil, callbackOnDeleteErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
@@ -429,7 +429,12 @@ func UpdateTx(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[
 			return nil, errors.New("需要传递领域对象应该为实体")
 		}
 
-		err := entity.CheckFieldID(e)
+		prepared, err := callbackPrepareUpdate(callbacks, e, i)
+		if err != nil {
+			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
+		}
+
+		err = e.ForUpdate()
 		if err != nil {
 			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
 		}
@@ -446,11 +451,6 @@ func UpdateTx(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[
 			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), errors.New(e.DomainCNName()+"不存在"), i)
 		}
 
-		prepared, err := callbackPrepareUpdate(callbacks, e, i)
-		if err != nil {
-			return nil, callbackOnUpdateErrorReturn(callbacks, e, make(map[string]any), err, i)
-		}
-
 		err = database.Transaction(dbExecutor, func(tx database.Executor) error {
 			err = callbackBeforeUpdate(callbacks, e, prepared, i, tx)
 			if err != nil {