package index import ( "context" "hongze/mysteel_watch/global" "hongze/mysteel_watch/models/base" "hongze/mysteel_watch/utils" "time" ) // 钢联化工指标数据 type BaseFromMysteelChemicalIndex struct { BaseFromMysteelChemicalIndexId int64 `gorm:"primaryKey;column:base_from_mysteel_chemical_index_id;type:int(11);not null" json:"base_from_mysteel_chemical_index_id"` //序号 IndexCode string `gorm:"column:index_code" json:"index_code"` IndexName string `gorm:"column:index_name" json:"index_name"` Unit string `gorm:"column:unit" json:"unit"` Source string `gorm:"column:source" json:"source"` Frequency string `gorm:"column:frequency" json:"frequency"` StartDate time.Time `gorm:"column:start_date" json:"start_date"` EndDate time.Time `gorm:"column:end_date" json:"end_date"` Describe string `gorm:"column:describe" json:"describe"` UpdateWeek string `gorm:"column:update_week" json:"update_week"` UpdateTime string `gorm:"column:update_time" json:"update_time"` UpdateTime2 string `gorm:"column:update_time2" json:"update_time2"` SysUserId int `gorm:"column:sys_user_id" json:"sys_user_id"` SysUserRealName string `gorm:"column:sys_user_real_name" json:"sys_user_real_name"` FilePath string `gorm:"column:file_path" json:"file_path"` MergeFilePath string `gorm:"column:merge_file_path" json:"merge_file_path"` base.TimeBase } // TableName get sql table name.获取数据库表名 func (r *BaseFromMysteelChemicalIndex) TableName() string { return "base_from_mysteel_chemical_index" } // 新增 func (r *BaseFromMysteelChemicalIndex) Add(runMod string) (err error) { if runMod == "release" { err = global.MYSQL["hzdata"].Create(r).Error return } else { err = global.DEFAULT_MYSQL.Create(r).Error return } } // 修改 func (r *BaseFromMysteelChemicalIndex) Update(runMod string, updateCols []string) (err error) { if runMod == "release" { err = global.MYSQL["hzdata"].Model(r).Where("index_code=?", r.IndexCode).Select(updateCols).Updates(r).Error return } else { err = global.DEFAULT_MYSQL.Model(r).Where("index_code=?", r.IndexCode).Select(updateCols).Updates(r).Error return } } type IndexAddReq struct { IndexCode string `json:"IndexCode" binding:"required"` //指标编码 UpdateWeek string `json:"UpdateWeek"` //更新周期 RunMode string `description:"运行环境:debug:测试(默认),release:生产" json:"RunMode"` //更新周期 } func (d *BaseFromMysteelChemicalIndex) GetIndexItem(runMod, indexCode string) (item *BaseFromMysteelChemicalIndex, err error) { if runMod == "release" { err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d). Where("index_code = ?", indexCode).First(&item).Error return } else { err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(d). Where("index_code = ?", indexCode).First(&item).Error return } } type IndexDeleteReq struct { IndexCode string `json:"IndexCode" binding:"required"` //指标编码 } func (d *BaseFromMysteelChemicalIndex) GetIndexCreate() (item []*BaseFromMysteelChemicalIndex, err error) { endTime := time.Now().Add(-2 * time.Minute).Format(utils.FormatDateTime) err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d). Where("index_name = '' AND create_time<=? ", endTime).First(&item).Error //Where("index_name = '' AND create_time<=? ", endTime).Find(&item).Error return } func (d *BaseFromMysteelChemicalIndex) GetIndexRefreshAll() (item []*BaseFromMysteelChemicalIndex, err error) { err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d).Find(&item).Error return } func (d *BaseFromMysteelChemicalIndex) GetIndexRefreshWeek(nowWeekZn, startTime, endTime string) (item []*BaseFromMysteelChemicalIndex, err error) { where := `update_week = ? AND ((update_time >=? AND update_time<=?) OR (update_time2 >=? AND update_time2<=?)) ` err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d).Where(where, nowWeekZn, startTime, endTime, startTime, endTime).Find(&item).Error //err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(d).Where(where, nowWeekZn, startTime, endTime, startTime, endTime).Find(&item).Error return } func (d *BaseFromMysteelChemicalIndex) GetIndexByFrequency(frequency string) (item []*BaseFromMysteelChemicalIndex, err error) { err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d).Where("frequency=? AND merge_file_path='' ", frequency).Find(&item).Error return }