123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- package models
- import (
- "fmt"
- "github.com/beego/beego/v2/client/orm"
- "strings"
- "time"
- )
- // MiniClassify 小程序分类
- type MiniClassify struct {
- Id int `description:"分类ID"`
- ClassifyName string `description:"分类名称"`
- ParentId int `description:"父级分类ID"`
- Level int `description:"分类层级"`
- LevelPath string `description:"层级路径"`
- Sort int `description:"排序"`
- IconUrl string `description:"图标地址"`
- DiamondDistrict int `description:"是否金刚区"`
- Frequency int `description:"报告频度:1-高频;2-中频;3-低频"`
- HotComment int `description:"是否热点点评"`
- KeyPoint int `description:"是否重点数据更新"`
- Enabled int `description:"状态:0-禁用;1-启用"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- }
- func (m *MiniClassify) TableName() string {
- return "mini_classify"
- }
- type MultipleFactorSeriesCols struct {
- PrimaryId string
- ClassifyName string
- ParentId string
- Level string
- LevelPath string
- Sort string
- IconUrl string
- DiamondDistrict string
- Frequency string
- HotComment string
- KeyPoint string
- Enabled string
- CreateTime string
- ModifyTime string
- }
- func (m *MiniClassify) Cols() MultipleFactorSeriesCols {
- return MultipleFactorSeriesCols{
- PrimaryId: "id",
- ClassifyName: "classify_name",
- ParentId: "parent_id",
- Level: "level",
- LevelPath: "level_path",
- Sort: "sort",
- IconUrl: "icon_url",
- DiamondDistrict: "diamond_district",
- Frequency: "frequency",
- HotComment: "hot_comment",
- KeyPoint: "key_point",
- Enabled: "enabled",
- CreateTime: "create_time",
- ModifyTime: "modify_time",
- }
- }
- func (m *MiniClassify) GetItemById(id int) (item *MiniClassify, err error) {
- o := orm.NewOrm()
- sql := fmt.Sprintf(`SELECT * FROM %s WHERE %s = ? LIMIT 1`, m.TableName(), m.Cols().PrimaryId)
- err = o.Raw(sql, id).QueryRow(&item)
- return
- }
- func (m *MiniClassify) GetItemsByCondition(condition string, pars []interface{}, fieldArr []string, orderRule string) (items []*MiniClassify, err error) {
- o := orm.NewOrm()
- fields := strings.Join(fieldArr, ",")
- if len(fieldArr) == 0 {
- fields = `*`
- }
- order := fmt.Sprintf(`ORDER BY %s DESC`, m.Cols().CreateTime)
- if orderRule != "" {
- order = ` ORDER BY ` + orderRule
- }
- sql := fmt.Sprintf(`SELECT %s FROM %s WHERE 1=1 %s %s`, fields, m.TableName(), condition, order)
- _, err = o.Raw(sql, pars).QueryRows(&items)
- return
- }
- // MiniClassifyItem 小程序分类
- type MiniClassifyItem struct {
- Id int `description:"分类ID"`
- ClassifyName string `description:"分类名称"`
- ParentId int `description:"父级分类ID"`
- Level int `description:"分类层级"`
- LevelPath string `description:"层级路径"`
- Sort int `description:"排序"`
- IconUrl string `description:"图标地址"`
- DiamondDistrict int `description:"是否金刚区"`
- Frequency int `description:"报告频度:1-高频;2-中频;3-低频"`
- HotComment int `description:"是否热点点评"`
- KeyPoint int `description:"是否重点数据更新"`
- Children []*MiniClassifyItem `description:"子分类"`
- }
- func (m *MiniClassify) Format2Item() (item *MiniClassifyItem) {
- item = new(MiniClassifyItem)
- item.Id = m.Id
- item.ClassifyName = m.ClassifyName
- item.ParentId = m.ParentId
- item.Level = m.Level
- item.LevelPath = m.LevelPath
- item.Sort = m.Sort
- item.IconUrl = m.IconUrl
- item.DiamondDistrict = m.DiamondDistrict
- item.Frequency = m.Frequency
- item.HotComment = m.HotComment
- item.KeyPoint = m.KeyPoint
- item.Children = make([]*MiniClassifyItem, 0)
- return
- }
- func (m *MiniClassify) GetChildClassifyIdsByParentId(parentId int) (classifyIds []int, err error) {
- o := orm.NewOrm()
- sql := fmt.Sprintf(`SELECT %s FROM %s WHERE FIND_IN_SET(?, %s)`, m.Cols().PrimaryId, m.TableName(), m.Cols().LevelPath)
- _, err = o.Raw(sql, parentId).QueryRows(&classifyIds)
- return
- }
|