bilibili-backup/app/service/main/vip/dao/platform.go
2019-04-22 02:59:20 +00:00

53 lines
1.4 KiB
Go

package dao
import (
"context"
"go-common/app/service/main/vip/model"
xsql "go-common/library/database/sql"
"github.com/pkg/errors"
)
const (
_platformAll = "SELECT id,platform_name,platform,device,mobi_app,panel_type FROM vip_platform_config WHERE is_del=0 ORDER BY id"
_platformByID = "SELECT id,platform_name,platform,device,mobi_app,panel_type FROM vip_platform_config WHERE id =?;"
)
// PlatformAll .
func (d *Dao) PlatformAll(c context.Context) (res []*model.ConfPlatform, err error) {
var rows *xsql.Rows
if rows, err = d.db.Query(c, _platformAll); err != nil {
err = errors.WithStack(err)
return
}
defer rows.Close()
res = make([]*model.ConfPlatform, 0)
for rows.Next() {
r := new(model.ConfPlatform)
if err = rows.Scan(&r.ID, &r.PlatformName, &r.Platform, &r.Device, &r.MobiApp, &r.PanelType); err != nil {
err = errors.WithStack(err)
res = nil
return
}
res = append(res, r)
}
err = rows.Err()
return
}
//PlatformByID get info by open id.
func (d *Dao) PlatformByID(c context.Context, id int64) (r *model.ConfPlatform, err error) {
r = new(model.ConfPlatform)
if err = d.db.QueryRow(c, _platformByID, id).
Scan(&r.ID, &r.PlatformName, &r.Platform, &r.Device, &r.MobiApp, &r.PanelType); err != nil {
if err == xsql.ErrNoRows {
r = nil
err = nil
return
}
err = errors.Wrapf(err, "dao platform by id(%d)", id)
}
return
}