package models import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" "time" ) type ChartResultApi struct { Data []ChartResultApidate `json:"data"` Code int `json:"code"` Msg string `json:"msg"` } type ChartFavoritesResultApi struct { Data []ChartInfo `json:"data"` Code int `json:"code"` Msg string `json:"msg"` Pagination Pagination `json:"pagination"` } type Pagination struct { Total int `json:"total"` Page int `json:"id"` PageSize int `json:"page_size"` PageTotal int `json:"page_total"` } type ChartInfo struct { ChartInfo *ChartResultApidate `json:"chart_info"` ChartId int `json:"id"` } type ChartResultApidate struct { ChartId int `json:"id"` PtagId int `json:"ptag_id"` CtagId int `json:"ctag_id"` Title string `json:"title"` TitleEn string `json:"title_en"` CreateDate string `json:"create_date"` UpdateDate string `json:"update_date"` PublishStatus int `json:"publish_status"` Cover string `json:"cover"` Iframe string `json:"iframe"` Ptag Ptag `json:"ptag"` Ctag Ptag `json:"ctag"` } type Ptag struct { Id int `json:"id"` Name string `json:"name"` Description string `json:"description"` } type Ctag struct { Id int `json:"id"` Name string `json:"name"` Description string `json:"description"` PtagId int `json:"ptag_id"` } type CygxChart struct { Id int `orm:"column(id);pk"` ChartId int `description:"图表id"` PtagId int `description:"图表父类分类id"` CtagId int `description:"图表子类分类id"` Title string `description:"标题"` TitleEn string `description:"英文标题 "` CreateDate string `description:"本地创建时间"` CreateDateApi time.Time `description:"图表创建时间"` PublishStatus int `description:"发布状态"` PtagName string `description:"父类名称"` CtagName string `description:"子类名称"` Cover string `description:"图表图片"` Iframe string `description:"图表详情跳转地址"` } func GetChartCountById(chartId int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) AS count FROM cygx_chart WHERE chart_id = ? ` err = o.Raw(sql, chartId).QueryRow(&count) return } //新增图表 func AddCygxChart(item *CygxChart) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } //标签分类 type ChartPtagResultApi struct { Data []ChartPtagResultApidate `json:"data"` Code int `json:"code"` Msg string `json:"msg"` } type ChartPtagResultApidate struct { ChartPermissionId int `json:"id"` ChartPermissionName string `json:"name"` Ctag []Ctag `json:"ctag"` } type ChartPtagResp struct { ChartPermissionId int `description:"分类ID"` PermissionName string `description:"分类名称"` List []*CtagResp `description:"子分类"` } type CtagResp struct { CtagId int `description:"子分类ID"` Name string `description:"子分类名称"` } type ChartUserTokenResult struct { AccessToken string `json:"access_token"` } type ChartUserTokenResultApi struct { Data ChartUserTokenResult `json:"data"` Code int `json:"code"` Msg string `json:"msg"` } type HomeChartListResp struct { ChartId int `description:"图表ID"` Title string `description:"标题"` TitleEn string `description:"英文标题 "` CreateDate string `description:"创建时间"` PtagName string `description:"父类名称"` CtagName string `description:"子类名称"` BodyHtml string `orm:"column(cover)";description:"图片链接"` HttpUrl string `orm:"column(iframe)";description:"文章链接跳转地址"` IsNeedJump bool `description:"是否需要跳转链接地址"` Source int `description:"来源 1:文章, 2:图表"` } type HomeChartListItem struct { Paging *paging.PagingItem List []*HomeChartListResp `description:"图表列表"` } //获取图表列表 func GetChartList(condition string, pars []interface{}, startSize, pageSize int) (items []*HomeChartListResp, err error) { o := orm.NewOrm() sql := ` SELECT * FROM cygx_chart AS a WHERE a.publish_status=1 ` if condition != "" { sql += condition } sql += ` ORDER BY create_date DESC LIMIT ?,? ` _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items) return } //获取图表数量 func GetChartCount(condition string, pars []interface{}) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) AS count FROM cygx_chart AS a WHERE a.publish_status=1 ` if condition != "" { sql += condition } err = o.Raw(sql, pars).QueryRow(&count) return }