|
|
@@ -16,7 +16,7 @@ import (
|
|
|
"reflect"
|
|
|
)
|
|
|
|
|
|
-func Create(tableName string, callbacks *CreateCallbacks) binding.ServiceFunc[string] {
|
|
|
+func Create(tableName string, needCreateUserID bool, callbacks *CreateCallbacks) 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 {
|
|
|
@@ -35,6 +35,14 @@ func Create(tableName string, callbacks *CreateCallbacks) binding.ServiceFunc[st
|
|
|
return callbackOnCreateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
}
|
|
|
|
|
|
+ if needCreateUserID {
|
|
|
+ userInfo := c.GetUserInfo()
|
|
|
+ err := domain.SetField(e, entity.FieldCreateUserID, userInfo.GetID())
|
|
|
+ if err != nil {
|
|
|
+ return callbackOnCreateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
prepared, err := callbackPrepareCreate(callbacks, c, e, i)
|
|
|
if err != nil {
|
|
|
return callbackOnCreateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
@@ -111,7 +119,7 @@ func Delete(tableName string, callbacks *DeleteCallbacks) binding.ServiceFunc[an
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func Update(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[any] {
|
|
|
+func Update(tableName string, needLastUpdateUserID bool, callbacks *UpdateCallbacks) 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 {
|
|
|
@@ -138,6 +146,14 @@ func Update(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[an
|
|
|
return nil, callbackOnUpdateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
}
|
|
|
|
|
|
+ if needLastUpdateUserID {
|
|
|
+ userInfo := c.GetUserInfo()
|
|
|
+ err := domain.SetField(e, entity.FieldLastUpdateUserID, userInfo.GetID())
|
|
|
+ if err != nil {
|
|
|
+ return nil, callbackOnUpdateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
prepared, err := callbackPrepareUpdate(callbacks, c, e, i)
|
|
|
if err != nil {
|
|
|
return nil, callbackOnUpdateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
@@ -309,7 +325,7 @@ func GetByID[O any](tableName string, callbacks *GetByIDCallbacks[O]) binding.Se
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func CreateTx(tableName string, callbacks *CreateCallbacks) binding.ServiceFunc[string] {
|
|
|
+func CreateTx(tableName string, needCreateUserID bool, callbacks *CreateCallbacks) 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 {
|
|
|
@@ -328,6 +344,14 @@ func CreateTx(tableName string, callbacks *CreateCallbacks) binding.ServiceFunc[
|
|
|
return callbackOnCreateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
}
|
|
|
|
|
|
+ if needCreateUserID {
|
|
|
+ userInfo := c.GetUserInfo()
|
|
|
+ err := domain.SetField(e, entity.FieldCreateUserID, userInfo.GetID())
|
|
|
+ if err != nil {
|
|
|
+ return callbackOnCreateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
prepared, err := callbackPrepareCreate(callbacks, c, e, i)
|
|
|
if err != nil {
|
|
|
return callbackOnCreateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
@@ -418,7 +442,7 @@ func DeleteTx(tableName string, callbacks *DeleteCallbacks) binding.ServiceFunc[
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func UpdateTx(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[any] {
|
|
|
+func UpdateTx(tableName string, needLastUpdateUserID bool, callbacks *UpdateCallbacks) 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 {
|
|
|
@@ -444,6 +468,14 @@ func UpdateTx(tableName string, callbacks *UpdateCallbacks) binding.ServiceFunc[
|
|
|
return nil, callbackOnUpdateErrorReturn(callbacks, c, e, make(map[string]any), errors.New(e.DomainCNName()+"不存在"), i)
|
|
|
}
|
|
|
|
|
|
+ if needLastUpdateUserID {
|
|
|
+ userInfo := c.GetUserInfo()
|
|
|
+ err := domain.SetField(e, entity.FieldLastUpdateUserID, userInfo.GetID())
|
|
|
+ if err != nil {
|
|
|
+ return nil, callbackOnUpdateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
prepared, err := callbackPrepareUpdate(callbacks, c, e, i)
|
|
|
if err != nil {
|
|
|
return nil, callbackOnUpdateErrorReturn(callbacks, c, e, make(map[string]any), err, i)
|