package application import ( "mayfly-go/base/model" "mayfly-go/server/devops/domain/entity" "mayfly-go/server/devops/domain/repository" "mayfly-go/server/devops/infrastructure/db" "mayfly-go/server/devops/infrastructure/persistence" ) type IDb interface { // 分页获取机器脚本信息列表 GetPageList(condition *entity.Db, pageParam *model.PageParam, toEntity interface{}, orderBy ...string) model.PageResult // 根据条件获取 GetDbBy(condition *entity.Db, cols ...string) error // 根据id获取 GetById(id uint64, cols ...string) *entity.Db Save(entity *entity.Db) GetDbInstance(id uint64) *db.DbInstance } type dbApp struct { dbRepo repository.Db } var Db IDb = &dbApp{dbRepo: persistence.DbDao} // 分页获取数据库信息列表 func (d *dbApp) GetPageList(condition *entity.Db, pageParam *model.PageParam, toEntity interface{}, orderBy ...string) model.PageResult { return d.dbRepo.GetDbList(condition, pageParam, toEntity, orderBy...) } // 根据条件获取 func (d *dbApp) GetDbBy(condition *entity.Db, cols ...string) error { return d.dbRepo.GetDb(condition, cols...) } // 根据id获取 func (d *dbApp) GetById(id uint64, cols ...string) *entity.Db { return d.dbRepo.GetById(id, cols...) } func (d *dbApp) Save(entity *entity.Db) { } func (d *dbApp) GetDbInstance(id uint64) *db.DbInstance { return db.GetDbInstance(id, func(id uint64) *entity.Db { return d.dbRepo.GetById(id) }) }