package common import ( "context" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/frame/g" ) // BaseDao 是所有 dao 的基类:单表操作统一入口,查询缓存由 dao 层按需配置。 type BaseDao struct { Table string } func (d *BaseDao) Model() *gdb.Model { return g.DB().Model(d.Table) } func (d *BaseDao) InsertAndReturnId(ctx context.Context, data g.Map) (int64, error) { res, err := d.Model().Ctx(ctx).Data(data).Insert() if err != nil { return 0, err } return res.LastInsertId() } func (d *BaseDao) GetOneByPk(ctx context.Context, pk int64) (gdb.Record, error) { return d.Model().Ctx(ctx).WherePri(pk).One() } func (d *BaseDao) UpdateByPk(ctx context.Context, pk int64, data g.Map) error { _, err := d.Model().Ctx(ctx).WherePri(pk).Data(data).Update() return err }