123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package english_classify
- import (
- "hongze/hongze_yb_en_api/global"
- "hongze/hongze_yb_en_api/models/base"
- )
- type Classify struct {
- Id int `gorm:"primaryKey;column:id" json:"id"`
- ClassifyName string `gorm:"column:classify_name" json:"classify_name"` //分类名称
- Sort int8 `gorm:"column:sort" json:"sort"` //排序
- ParentId int `gorm:"column:parent_id" json:"parent_id"` //父级分类id
- RootId int `gorm:"column:root_id" json:"root_id"` //父级分类id
- ClassifyLabel string `gorm:"column:classify_label" json:"classify_label"`
- ShowType uint8 `gorm:"column:show_type" json:"show_type"` //展示类型:1-列表 2-专栏
- ClassifyType uint8 `gorm:"column:classify_type" json:"classify_type"` //分类类型:0英文报告,1英文线上路演
- IsShow int8 `gorm:"column:is_show" json:"is_show"` //是否展示报告:1,展示该分类下的报告,0隐藏分类下的报告
- base.TimeBase
- }
- // TableName get sql table name.获取数据库表名
- func (c *Classify) TableName() string {
- return "english_classify"
- }
- type ClassifyListItem struct {
- Id int `json:"id"`
- ClassifyName string `json:"classify_name"` //分类名称
- Sort int8 `json:"sort"` //排序
- ParentId int `json:"parent_id"` //父级分类id
- RootId int `json:"root_id"` //父级分类id
- ClassifyLabel string `json:"classify_label"`
- ShowType uint8 `json:"show_type"` //展示类型:1-列表 2-专栏
- IsShow int8 `json:"is_show"` //是否展示报告:1,展示该分类下的报告,0隐藏分类下的报告
- ClassifyType uint8 `json:"classify_type"` //分类类型:0英文报告,1英文线上路演
- CreateTime string `json:"create_time"` //创建时间
- ModifyTime string `json:"modify_time"` //最后更新时间
- Child []*ClassifyListItem `json:"child"`
- }
- // GetParent 获取一级分类列表
- func (c *Classify) GetParent() (list []*Classify, err error) {
- err = global.DEFAULT_MYSQL.Model(c).Where("parent_id=0 and enabled=1").Order("sort ASC,create_time ASC").Scan(&list).Error
- return
- }
- // GetChild 获取二级分类和三级分类列表
- func (c *Classify) GetChild() (list []*Classify, err error) {
- err = global.DEFAULT_MYSQL.Model(c).Where("parent_id>0 and enabled=1 ").Order("sort ASC,create_time ASC").Scan(&list).Error
- return
- }
- // GetChild 获取二级分类列表
- func (c *Classify) GetSecondChild(parentId int) (list []*Classify, err error) {
- err = global.DEFAULT_MYSQL.Model(c).Where("parent_id=? and parent_id=root_id and enabled=1", parentId).Order("sort ASC,create_time ASC").Scan(&list).Error
- return
- }
- type EnglishClassifyFullName struct {
- Id int `description:"分类ID"`
- ParentId int `description:"父级分类id"`
- RootId int `description:"一级分类ID"`
- RootName string `description:"一级分类名"`
- ParentName string `description:"二级分类名"`
- ClassifyName string `description:"分类名称"`
- }
- // GetEnglishClassifyFullNameByIds 获取英文分类名一级/二级/三级
- func (c *Classify) GetEnglishClassifyFullNameByIds(classifyIds []int) (list []*EnglishClassifyFullName, err error) {
- sql := ` SELECT
- a.id,
- a.parent_id,
- a.root_id,
- a.classify_name,
- b.classify_name AS root_name,
- c.classify_name AS parent_name
- FROM
- english_classify a
- LEFT JOIN english_classify b ON a.root_id = b.id
- LEFT JOIN english_classify c ON a.parent_id = c.id
- where a.id IN (?)`
- err = global.DEFAULT_MYSQL.Raw(sql, classifyIds).Scan(&list).Error
- return
- }
|