123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package data_stat
- import (
- "eta/eta_api/utils"
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- // EdbInfoStatColumn 数据源统计表自定义列
- type EdbInfoStatColumn struct {
- Id int `orm:"column(id);pk" description:"自增id"`
- ColumnName string `description:"字段名称"`
- ColumnKey string `description:"字段"`
- CreateTime string `description:" 创建时间"`
- ModifyTime string `description:"修改时间"`
- Type int `description:"列表类型:1数据源明细表,2数据源统计表,3删除指标列表,4指标信息变更表"`
- Sort int `description:"列排序"`
- IsMust int `description:"是否必选列: 0非必选 1必须"`
- IsSort int `description:"是否是允许排序的列,0否,1是"`
- IsShow int `description:"是否展示:1展示,0不展示"`
- ColumnNameEn string `description:"英文字段名称"`
- }
- type EdbInfoStatColumnOrm struct {
- Id int `orm:"column(id);pk" description:"自增id"`
- ColumnName string `description:"字段名称"`
- ColumnKey string `description:"字段"`
- CreateTime time.Time `description:" 创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- Type int `description:"列表类型:1数据源明细表,2数据源统计表,3删除指标列表,4指标信息变更表"`
- Sort int `description:"列排序"`
- IsMust int `description:"是否必选列: 0非必选 1必须"`
- IsSort int `description:"是否是允许排序的列,0否,1是"`
- IsShow int `description:"是否展示:1展示,0不展示"`
- ColumnNameEn string `description:"英文字段名称"`
- }
- type EdbInfoStatColumnListItem struct {
- Id int `description:"自增id"`
- ColumnName string `description:"字段名称"`
- ColumnKey string `description:"字段"`
- Type int `description:"列表类型:1数据源明细表,2数据源统计表,3删除指标列表,4指标信息变更表"`
- IsMust int `description:"是否必选列: 0非必选 1必须"`
- IsSort int `description:"是否是允许排序的列,0否,1是"`
- IsShow int `description:"是否展示:1展示,0不展示"`
- ColumnNameEn string `description:"英文字段名称"`
- }
- func (this *EdbInfoStatColumnOrm) toView() EdbInfoStatColumn {
- return EdbInfoStatColumn{
- Id: this.Id,
- ColumnName: this.ColumnName,
- ColumnKey: this.ColumnKey,
- CreateTime: this.CreateTime.Format(utils.FormatDateTime),
- ModifyTime: this.ModifyTime.Format(utils.FormatDateTime),
- Type: this.Type,
- Sort: this.Sort,
- IsMust: this.IsMust,
- IsSort: this.IsSort,
- IsShow: this.IsShow,
- }
- }
- func toStatColumnList(ormList []*EdbInfoStatColumnOrm) (list []EdbInfoStatColumn) {
- for _, v := range ormList {
- list = append(list, v.toView())
- }
- return
- }
- type StatColumnList struct {
- List []*EdbInfoStatColumnListItem
- }
- type EditStatColumnReq struct {
- List []*EdbInfoStatColumnListReq
- }
- type EdbInfoStatColumnListReq struct {
- Id int `description:"自增id"`
- IsShow int `description:"是否展示:1展示,0不展示"`
- }
- // GetStatColumn 获取自定义列
- func GetStatColumn(columnType int) (list []EdbInfoStatColumn, err error) {
- o := orm.NewOrmUsingDB("data")
- sql := `SELECT * FROM edb_info_stat_column WHERE type=? ORDER BY sort asc, id asc `
- // [2025-zsh-时间类型修复-chenhan]
- var ormList []*EdbInfoStatColumnOrm
- _, err = o.Raw(sql, columnType).QueryRows(&ormList)
- if err != nil {
- return
- }
- list = toStatColumnList(ormList)
- return
- }
- // GetAllStatColumn 获取所有自定义列
- func GetAllStatColumn() (list []EdbInfoStatColumn, err error) {
- o := orm.NewOrmUsingDB("data")
- sql := `SELECT * FROM edb_info_stat_column ORDER BY sort asc, id asc `
- _, err = o.Raw(sql).QueryRows(&list)
- return
- }
- // UpdateStatColumn 批量更新自定义列
- func UpdateStatColumn(list []*EdbInfoStatColumn) (err error) {
- o := orm.NewOrmUsingDB("data")
- p, err := o.Raw("UPDATE edb_info_stat_column SET is_show = ?, sort=? WHERE id = ?").Prepare()
- if err != nil {
- return
- }
- defer func() {
- _ = p.Close() // 别忘记关闭 statement
- }()
- for _, v := range list {
- _, err = p.Exec(v.IsShow, v.Sort, v.Id)
- if err != nil {
- return
- }
- }
- return
- }
|