package models

import (
	"github.com/beego/beego/v2/client/orm"
	"time"
)

// ChartPermission 报告权限表
type ChartPermission struct {
	ChartPermissionId   int       `orm:"column(chart_permission_id);pk" description:"问题ID"`
	ChartPermissionName string    `description:"名称"`
	PermissionName      string    `description:"权限名"`
	Sort                int       `description:"排序"`
	Enabled             int       `description:"是否可用"`
	CreatedTime         time.Time `description:"创建时间"`
	LastUpdatedTime     time.Time `description:"更新时间"`
	TeleconferenceSort  int       `description:"电话会类型排序"`
	Remark              string    `description:"备注"`
	ClassifyName        string    `description:"分类名称"`
	ProductName         string    `description:"产品名称"`
	ProductId           int       `description:"产品ID"`
	ImageURL            string    `description:"图片地址"`
	ShowType            int       `description:"1:查研观向小程序展示"`
	IsOther             int       `description:"是否是其他，用于查研观向小程序后台展示"`
	IsReport            int       `description:"是否是报告，用于查研观向小程序前台报告展示"`
	CygxAuth            int       `description:"是否是权限，用于查研观向小程序前台权限校验"`
	YbImgUrl            string    `description:"研报小程序报告列表icon"`
	PriceDrivenState    int       `description:"品种价格驱动开启状态 0-关闭 1-开启"`
}

// Update 更新
func (chartPermissionInfo *ChartPermission) Update(cols []string) (err error) {
	o := orm.NewOrmUsingDB("weekly")
	_, err = o.Update(chartPermissionInfo, cols...)
	return
}

// GetChartPermissionList 获取品种权限列表
func GetChartPermissionList() (list []*ChartPermission, err error) {
	o := orm.NewOrmUsingDB("weekly")
	sql := `SELECT * FROM chart_permission ORDER BY product_id ASC, sort ASC`
	_, err = o.Raw(sql).QueryRows(&list)
	return
}
