diff --git a/utils/curd.go b/utils/curd.go index 778a433..51cc191 100644 --- a/utils/curd.go +++ b/utils/curd.go @@ -24,7 +24,8 @@ type IDao interface { } type Curd[R any] struct { - Dao IDao + Dao IDao + Hook gdb.HookHandler } var pageInfo = []string{ @@ -229,11 +230,11 @@ func (c Curd[R]) Value(ctx ctx, where any, field any) (*gvar.Var, error) { return c.Dao.Ctx(ctx).Where(where).Fields(field).Value() } func (c Curd[R]) DeletePri(ctx ctx, primaryKey any) error { - _, err := c.Dao.Ctx(ctx).WherePri(primaryKey).Delete() + _, err := c.Dao.Ctx(ctx).Hook(c.Hook).WherePri(primaryKey).Delete() return err } func (c Curd[R]) DeleteWhere(ctx ctx, where any) error { - _, err := c.Dao.Ctx(ctx).Where(where).Delete() + _, err := c.Dao.Ctx(ctx).Hook(c.Hook).Where(where).Delete() return err } @@ -300,7 +301,7 @@ func (c Curd[R]) Count(ctx ctx, where any) (count int, err error) { } func (c Curd[R]) Save(ctx ctx, data any) (id int64, err error) { - result, err := c.Dao.Ctx(ctx).Save(data) + result, err := c.Dao.Ctx(ctx).Hook(c.Hook).Save(data) if err != nil { return } @@ -309,7 +310,7 @@ func (c Curd[R]) Save(ctx ctx, data any) (id int64, err error) { } func (c Curd[R]) Update(ctx ctx, where any, data any) (count int64, err error) { - result, err := c.Dao.Ctx(ctx).Where(where).Data(data).Update() + result, err := c.Dao.Ctx(ctx).Hook(c.Hook).Where(where).Data(data).Update() if err != nil { return } @@ -318,7 +319,7 @@ func (c Curd[R]) Update(ctx ctx, where any, data any) (count int64, err error) { } func (c Curd[R]) UpdatePri(ctx ctx, primaryKey any, data any) (count int64, err error) { - result, err := c.Dao.Ctx(ctx).WherePri(primaryKey).Data(data).Update() + result, err := c.Dao.Ctx(ctx).Hook(c.Hook).WherePri(primaryKey).Data(data).Update() if err != nil { return }