package data_manage import ( "eta/eta_api/global" "eta/eta_api/utils" "fmt" "gorm.io/gorm" ) type BaseFromCoalmineMapping struct { BaseFromCoalmineMappingId int `orm:"column(base_from_coalmine_mapping_id);pk" gorm:"primaryKey"` IndexName string `description:"持买单量指标名称"` IndexCode string `description:"持买单量指标编码"` CreateTime string `description:"时间"` } // GetCoalItemList 模糊查询Smm数据库指标列表 func GetCoalItemList(keyword string) (items []*BaseFromCoalmineMapping, err error) { o := global.DbMap[utils.DbNameIndex] sql := "SELECT * FROM base_from_coalmine_mapping WHERE CONCAT(index_name,index_code) LIKE ? " err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error return } func GetCoalCompanyMaxCount(suffix, classifyName string) (count int, err error) { o := global.DbMap[utils.DbNameIndex] sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM ( SELECT COUNT( 1 ) AS num FROM base_from_coalmine_%s WHERE group_name =? GROUP BY index_name ) AS t ` sql = fmt.Sprintf(sql, suffix) err = o.Raw(sql, classifyName).Scan(&count).Error return } func GetCoalJsmMaxCount(classifyName string) (count int, err error) { o := global.DbMap[utils.DbNameIndex] sql := `SELECT COALESCE(MAX(t.num), 0) AS count FROM ( SELECT COUNT( 1 ) AS num FROM base_from_coalmine_jsm_index WHERE province =? GROUP BY index_name ) AS t ` err = o.Raw(sql, classifyName).Scan(&count).Error return } func GetCoalCount(suffix, indexCode string) (count int, err error) { o := global.DbMap[utils.DbNameIndex] sql := `SELECT COUNT( 1 ) AS num FROM base_from_coalmine_%s WHERE index_code =? ` sql = fmt.Sprintf(sql, suffix) err = o.Raw(sql, indexCode).Scan(&count).Error return } type BaseFromCoalmineIndex struct { BaseFromCoalmineCompanyIndexId int IndexName string `description:"持买单量指标名称"` IndexCode string `description:"持买单量指标编码"` DealValue string `description:"成交量"` DataTime string `description:"数据日期"` Source string `description:"来源"` Province string `description:"省份"` City string `description:"城市"` GroupName string `description:"集团名称"` Unit string `description:"单位"` Frequency string `description:"频率"` CreateTime string `description:"插入时间"` ModifyTime string `description:"修改时间"` } func (m *BaseFromCoalmineIndex) AfterFind(db *gorm.DB) (err error) { m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime) m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime) m.DataTime = utils.GormDateStrToDateStr(m.DataTime) return } func GetBaseFromCoalIndexByCode(suffix, indexCode string) (items []*BaseFromCoalmineIndex, err error) { o := global.DbMap[utils.DbNameIndex] sql := `SELECT * FROM base_from_coalmine_%s WHERE index_code=? ORDER BY data_time DESC` sql = fmt.Sprintf(sql, suffix) err = o.Raw(sql, indexCode).Find(&items).Error return } func GetClassifyFromCoalByGroupName(suffix, groupName string) (items []*string, err error) { o := global.DbMap[utils.DbNameIndex] sql := `SELECT DISTINCT index_code FROM base_from_coalmine_%s WHERE group_name=? ` sql = fmt.Sprintf(sql, suffix) err = o.Raw(sql, groupName).Find(&items).Error return }