package data_manage import ( "eta/eta_hub/utils" "fmt" "github.com/beego/beego/v2/client/orm" "strings" "time" ) // EdbClassify 指标分类 type EdbClassify struct { ClassifyId int `orm:"column(classify_id);pk"` ClassifyType uint8 `description:"分类类型,0:普通指标分类,1:预测指标分类"` ClassifyName string `description:"分类名称"` ParentId int `description:"父级id"` RootId int `description:"顶级id"` HasData int `description:"是否含有指标数据"` SysUserId int `description:"创建人id"` SysUserRealName string `description:"创建人姓名"` Level int `description:"层级"` UniqueCode string `description:"唯一编码"` Sort int `description:"排序字段,越小越靠前,默认值:10"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` } func (m *EdbClassify) GetItemsByCondition(cond string, pars []interface{}, fieldArr []string, orderRule string) (items []*EdbClassify, err error) { o := orm.NewOrmUsingDB("data") fields := strings.Join(fieldArr, ",") if len(fieldArr) == 0 { fields = `*` } order := `ORDER BY create_time DESC` if orderRule != "" { order = ` ORDER BY ` + orderRule } sql := fmt.Sprintf(`SELECT %s FROM edb_classify WHERE 1=1 %s %s`, fields, cond, order) _, err = o.Raw(sql, pars).QueryRows(&items) return } // EdbClassifyItem 指标分类信息 type EdbClassifyItem struct { ClassifyId int `description:"分类ID"` ClassifyName string `description:"分类名称"` UniqueCode string `description:"分类唯一编码"` ParentId int `description:"父级id"` Level int `description:"层级"` Sort int `description:"排序"` CreateTime string `description:"创建时间"` UpdateTime string `description:"更新时间"` Child []*EdbClassifyItem `description:"子分类"` } func FormatEdbClassify2Item(origin *EdbClassify) (item *EdbClassifyItem) { if origin == nil { return } item = new(EdbClassifyItem) item.ClassifyId = origin.ClassifyId item.ClassifyName = origin.ClassifyName item.UniqueCode = origin.UniqueCode item.ParentId = origin.ParentId item.Level = origin.Level item.Sort = origin.Sort item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, origin.CreateTime) item.UpdateTime = utils.TimeTransferString(utils.FormatDateTime, origin.ModifyTime) item.Child = make([]*EdbClassifyItem, 0) return }