Ai
2 Star 0 Fork 0

g_boot/chkboot-common

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
general_dao.go 1.83 KB
一键复制 编辑 原始数据 按行查看 历史
flyfly 提交于 2023-12-01 17:12 +08:00 . fix: 修改包路径
/*
* @Descripttion:
* @version:
* @Author: lfzxs@qq.com
* @Date: 2023-11-09 15:44:29
* @LastEditors: lfzxs@qq.com
* @LastEditTime: 2023-12-01 17:11:45
*/
/*
* @Descripttion:
* @version:
* @Author: lfzxs@qq.com
* @Date: 2023-11-09 15:44:29
* @LastEditors: lfzxs@qq.com
* @LastEditTime: 2023-12-01 15:38:48
*/
package libService
import (
"context"
"gitee.com/g_boot/chkboot-common/library/liberr"
"github.com/gogf/gf/v2/errors/gerror"
"github.com/gogf/gf/v2/frame/g"
)
type IDao interface {
List(ctx context.Context, pageQuery *PageInp) (res *PageModel, err error)
Search(ctx context.Context, querObject any) (res *PageModel, err error)
}
type BaseDao[T any] struct {
//表名
Table string
}
func (obj *BaseDao[T]) Search(ctx context.Context, querObject any) (res *PageModel, err error) {
var (
pgeinput PageInp
)
ServiceUtil.MakeQueryAndOrderWrapper(querObject, &pgeinput)
model, err := obj.List(ctx, &pgeinput)
return model, err
}
func (obj *BaseDao[T]) List(ctx context.Context, pageQuery *PageInp) (res *PageModel, err error) {
var (
data []T
result PageModel
)
oper := g.Model(obj.Table).Safe().Ctx(ctx)
oper = ServiceUtil.MakeWhereAndOrder(oper, pageQuery)
result.Total, err = oper.Count()
if err != nil {
err = gerror.Wrap(err, liberr.ErrorORM)
return nil, err
}
err = oper.Scan(&data)
if err != nil {
err = gerror.Wrap(err, liberr.ErrorORM)
return nil, err
}
result.List = data
result.Size = len(data)
return &result, err
}
func (obj *BaseDao[T]) Add(ctx context.Context, object any) (err error) {
oper := g.Model(obj.Table).Safe().Ctx(ctx)
adt := ServiceUtil.MakeAddWrapper(object)
oper.Data(adt.Model).Insert()
return
}
func (obj *BaseDao[T]) Edit(ctx context.Context, condition any, object any) (err error) {
// oper := g.Model(obj.Table).Safe().Ctx(ctx)
// oper.Where().Update()
return
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/g_boot/chkboot-common.git
git@gitee.com:g_boot/chkboot-common.git
g_boot
chkboot-common
chkboot-common
v1.0.1

搜索帮助