Files
ppgo_job/dao/server.go
T
2026-07-10 11:28:16 +08:00

57 lines
2.1 KiB
Go

package dao
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"ppgo_job/consts"
"ppgo_job/model/entity"
)
var TaskServer = new(taskServerDao)
type taskServerDao struct{}
func (d *taskServerDao) Insert(ctx context.Context, data *entity.TaskServer) (id int64, err error) {
return InsertAndGetId(ctx, consts.TableServer, data)
}
func (d *taskServerDao) GetById(ctx context.Context, id int) (*entity.TaskServer, error) {
var result *entity.TaskServer
err := GetById(ctx, consts.TableServer, id, &result)
return result, err
}
func (d *taskServerDao) GetList(ctx context.Context, pageNum, pageSize int, filters ...interface{}) ([]*entity.TaskServer, int, error) {
m := g.DB().Model(consts.TableServer).Ctx(ctx)
m = buildFilters(m, filters)
order := extractOrder(filters)
total, err := m.Count()
if err != nil {
return nil, 0, err
}
offset, limit := ParsePage(pageNum, pageSize)
var result []*entity.TaskServer
if order == "" {
order = entity.TaskServerCols.Id + " desc"
}
err = m.Limit(limit).Offset(offset).Order(order).Scan(&result)
return result, total, err
}
func (d *taskServerDao) GetByIds(ctx context.Context, ids []int) ([]*entity.TaskServer, error) {
var result []*entity.TaskServer
err := g.DB().Model(consts.TableServer).Ctx(ctx).Where(entity.TaskServerCols.Id+"__in", ids).Scan(&result)
return result, err
}
func (d *taskServerDao) Update(ctx context.Context, data *entity.TaskServer) error {
return Update(ctx, consts.TableServer, data, g.Map{entity.TaskServerCols.Id: data.Id})
}
func (d *taskServerDao) UpdateFields(ctx context.Context, id int, data g.Map) error {
return Update(ctx, consts.TableServer, data, g.Map{entity.TaskServerCols.Id: id})
}
func (d *taskServerDao) Delete(ctx context.Context, id int) error {
return Delete(ctx, consts.TableServer, g.Map{entity.TaskServerCols.Id: id})
}
func (d *taskServerDao) GetByIpAndPort(ctx context.Context, ip string, port int) (*entity.TaskServer, error) {
var result *entity.TaskServer
err := g.DB().Model(consts.TableServer).Ctx(ctx).Where(entity.TaskServerCols.ServerIp, ip).Where(entity.TaskServerCols.Port, port).Scan(&result)
return result, err
}