|
@@ -1,9 +1,10 @@
|
|
|
package data_manage
|
|
|
|
|
|
import (
|
|
|
+ "eta/eta_api/global"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/beego/beego/v2/client/orm"
|
|
|
+
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
)
|
|
|
|
|
@@ -12,9 +13,10 @@ type GlClassify struct {
|
|
|
}
|
|
|
|
|
|
func GetGlSurveyClassify() (items []*GlClassify, err error) {
|
|
|
- sql := ` SELECT CASE WHEN BREED_SHORT_NAME IS NULL THEN '无' ELSE BREED_SHORT_NAME END BREED_SHORT_NAME FROM mb_index_main_info GROUP BY BREED_SHORT_NAME ORDER BY BREED_SHORT_NAME ASC `
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
- o.Raw(sql).QueryRows(&items)
|
|
|
+ sql := `SELECT CASE WHEN BREED_SHORT_NAME IS NULL THEN '无' ELSE BREED_SHORT_NAME END BREED_SHORT_NAME
|
|
|
+ FROM mb_index_main_info GROUP BY BREED_SHORT_NAME ORDER BY BREED_SHORT_NAME ASC`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql).Find(&items).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -23,94 +25,100 @@ type GlFrequency struct {
|
|
|
}
|
|
|
|
|
|
func GetGlFrequencyByClassifyId(breedShortName string) (items []*GlFrequency, err error) {
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ var sql string
|
|
|
if breedShortName == "无" {
|
|
|
- sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME IS NULL GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
|
|
|
- _, err = o.Raw(sql).QueryRows(&items)
|
|
|
- return
|
|
|
+ sql = `SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info
|
|
|
+ WHERE BREED_SHORT_NAME IS NULL GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC`
|
|
|
+ err = o.Raw(sql).Find(&items).Error
|
|
|
} else {
|
|
|
- sql := ` SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info WHERE BREED_SHORT_NAME=? GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC `
|
|
|
- _, err = o.Raw(sql, breedShortName).QueryRows(&items)
|
|
|
- return
|
|
|
+ sql = `SELECT FREQUENCY_NAME AS frequency FROM mb_index_main_info
|
|
|
+ WHERE BREED_SHORT_NAME=? GROUP BY FREQUENCY_CODE ORDER BY FREQUENCY_CODE ASC`
|
|
|
+ err = o.Raw(sql, breedShortName).Find(&items).Error
|
|
|
}
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
type GlIndex struct {
|
|
|
- Id int `orm:"column(ID)"`
|
|
|
- IndexCode string `orm:"column(INDEX_CODE)"`
|
|
|
- IndexName string `orm:"column(INDEX_NAME)"`
|
|
|
- UnitName string `orm:"column(UNIT_NAME)"`
|
|
|
- FrequencyName string `orm:"column(FREQUENCY_NAME)"`
|
|
|
- UpdateTime string `orm:"column(UPDATE_TIME)"`
|
|
|
+ Id int `gorm:"column:id;primaryKey"`
|
|
|
+ IndexCode string `description:"指标编码"`
|
|
|
+ IndexName string `description:"指标名称"`
|
|
|
+ UnitName string `description:"单位"`
|
|
|
+ FrequencyName string `description:"频度名称"`
|
|
|
+ UpdateTime string `description:"更新时间"`
|
|
|
}
|
|
|
|
|
|
func GetGlIndex(breedShortName, frequency string) (items []*GlIndex, err error) {
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ var sql string
|
|
|
if breedShortName == "无" {
|
|
|
- sql := ` SELECT * FROM mb_index_main_info WHERE BREED_SHORT_NAME IS NULL AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC `
|
|
|
- _, err = o.Raw(sql, frequency).QueryRows(&items)
|
|
|
- return
|
|
|
+ sql = `SELECT * FROM mb_index_main_info
|
|
|
+ WHERE BREED_SHORT_NAME IS NULL AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC`
|
|
|
+ err = o.Raw(sql, frequency).Find(&items).Error
|
|
|
} else {
|
|
|
- sql := ` SELECT * FROM mb_index_main_info WHERE BREED_SHORT_NAME=? AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC `
|
|
|
- _, err = o.Raw(sql, breedShortName, frequency).QueryRows(&items)
|
|
|
- return
|
|
|
+ sql = `SELECT * FROM mb_index_main_info
|
|
|
+ WHERE BREED_SHORT_NAME=? AND FREQUENCY_NAME=? ORDER BY INDEX_CODE ASC`
|
|
|
+ err = o.Raw(sql, breedShortName, frequency).Find(&items).Error
|
|
|
}
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
func GetGlFrequency(productName string) (items []*string, err error) {
|
|
|
- sql := `SELECT DISTINCT FREQUENCY_NAME FROM mb_index_main_info WHERE BREED_SHORT_NAME=? ORDER BY FIELD(FREQUENCY_NAME,'日度','周度','旬度','月度','季度','半年','年度') `
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
- _, err = o.Raw(sql, productName).QueryRows(&items)
|
|
|
+ sql := `SELECT DISTINCT FREQUENCY_NAME FROM mb_index_main_info
|
|
|
+ WHERE BREED_SHORT_NAME=? ORDER BY FIELD(FREQUENCY_NAME,'日度','周度','旬度','月度','季度','半年','年度')`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, productName).Find(&items).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
type GlIndexList struct {
|
|
|
- Id int `orm:"column(ID)"`
|
|
|
- IndexCode string `orm:"column(INDEX_CODE)"`
|
|
|
- IndexName string `orm:"column(INDEX_NAME)"`
|
|
|
- UnitName string `orm:"column(UNIT_NAME)"`
|
|
|
- FrequencyName string `orm:"column(FREQUENCY_NAME)"`
|
|
|
- UpdateTime string `orm:"column(UPDATE_TIME)"`
|
|
|
- Paging *paging.PagingItem `description:"分页数据"`
|
|
|
- DataList []*GlIndexData
|
|
|
+ Id int `gorm:"column:ID;primaryKey"`
|
|
|
+ IndexCode string `description:"指标编码"`
|
|
|
+ IndexName string `description:"指标名称"`
|
|
|
+ UnitName string `description:"单位"`
|
|
|
+ FrequencyName string `description:"频度名称"`
|
|
|
+ UpdateTime string `description:"更新时间"`
|
|
|
+ Paging *paging.PagingItem `gorm:"-" description:"分页数据"`
|
|
|
+ DataList []*GlIndexData `gorm:"-"`
|
|
|
}
|
|
|
|
|
|
type GlIndexData struct {
|
|
|
- InputValue string `orm:"column(DATA_VALUE)" description:"日期"`
|
|
|
- DataTime string `orm:"column(DATA_DATE)" description:"值"`
|
|
|
+ InputValue string `description:"日期"`
|
|
|
+ DataTime string `description:"值"`
|
|
|
}
|
|
|
|
|
|
func GetGlIndexData(indexCode string, startSize, pageSize int) (items []*GlIndexData, err error) {
|
|
|
- //sql := ` SELECT * FROM mb_index_main_data WHERE INDEX_CODE=? ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC LIMIT ?,?`
|
|
|
- sql := ` SELECT * FROM (
|
|
|
- SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a WHERE INDEX_CODE=? AND IS_DELETE=0
|
|
|
- ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
|
|
|
- )AS t
|
|
|
+ sql := `SELECT * FROM (
|
|
|
+ SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a
|
|
|
+ WHERE INDEX_CODE=? AND IS_DELETE=0
|
|
|
+ ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
|
|
|
+ ) AS t
|
|
|
GROUP BY t.DATA_DATE
|
|
|
- ORDER BY t.DATA_DATE DESC LIMIT ?,? `
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
- _, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
|
|
|
+ ORDER BY t.DATA_DATE DESC LIMIT ?,?`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, indexCode, startSize, pageSize).Find(&items).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func GetGlIndexByCode(indexCode string) (items *GlIndex, err error) {
|
|
|
- sql := ` SELECT * FROM mb_index_main_info WHERE INDEX_CODE=? `
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
- err = o.Raw(sql, indexCode).QueryRow(&items)
|
|
|
+ sql := `SELECT * FROM mb_index_main_info WHERE INDEX_CODE=?`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, indexCode).First(&items).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func GetGlIndexDataCount(indexCode string) (count int, err error) {
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
sql := `SELECT COUNT(1) AS count FROM (
|
|
|
- SELECT * FROM (
|
|
|
- SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a WHERE INDEX_CODE=? AND IS_DELETE=0
|
|
|
- ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
|
|
|
- )AS t
|
|
|
- GROUP BY t.DATA_DATE
|
|
|
- ORDER BY t.DATA_DATE DESC
|
|
|
- )AS n `
|
|
|
- err = o.Raw(sql, indexCode).QueryRow(&count)
|
|
|
+ SELECT * FROM (
|
|
|
+ SELECT DISTINCT a.INDEX_CODE,a.DATA_VALUE,a.DATA_DATE FROM mb_index_main_data AS a
|
|
|
+ WHERE INDEX_CODE=? AND IS_DELETE=0
|
|
|
+ ORDER BY DATA_DATE DESC,PUBLISH_TIME DESC
|
|
|
+ ) AS t
|
|
|
+ GROUP BY t.DATA_DATE
|
|
|
+ ORDER BY t.DATA_DATE DESC
|
|
|
+ ) AS n`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, indexCode).Scan(&count).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -132,52 +140,46 @@ type GlSearchIndex struct {
|
|
|
SearchText string `description:"搜索结果(含高亮)"`
|
|
|
}
|
|
|
|
|
|
-// GetGlItemList 模糊查询隆众数据库指标列表
|
|
|
func GetGlItemList(keyword string) (items []*GlSearchIndex, err error) {
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
- sql := "SELECT * FROM mb_index_main_info WHERE CONCAT(INDEX_NAME,INDEX_CODE) LIKE ? "
|
|
|
- _, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
|
|
|
+ sql := "SELECT * FROM mb_index_main_info WHERE CONCAT(INDEX_NAME,INDEX_CODE) LIKE ?"
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
|
|
|
return
|
|
|
-
|
|
|
}
|
|
|
|
|
|
func GetGlDataMaxCount(classifyName string) (count int, err error) {
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
sql := `SELECT MAX(t.num) AS count FROM (
|
|
|
- SELECT COUNT(1) AS num FROM mb_index_main_info AS a
|
|
|
- INNER JOIN mb_index_main_data AS b ON a.INDEX_CODE=b.INDEX_CODE
|
|
|
- WHERE a.BREED_SHORT_NAME=?
|
|
|
- GROUP BY a.INDEX_CODE
|
|
|
- )AS t `
|
|
|
- err = o.Raw(sql, classifyName).QueryRow(&count)
|
|
|
+ SELECT COUNT(1) AS num FROM mb_index_main_info AS a
|
|
|
+ INNER JOIN mb_index_main_data AS b ON a.INDEX_CODE=b.INDEX_CODE
|
|
|
+ WHERE a.BREED_SHORT_NAME=?
|
|
|
+ GROUP BY a.INDEX_CODE
|
|
|
+ ) AS t`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, classifyName).Scan(&count).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func GetGlDataByCode(indexCode string) (items []*GlIndexData, err error) {
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
- sql := `SELECT
|
|
|
- *
|
|
|
-FROM
|
|
|
- ( SELECT * FROM mb_index_main_data WHERE INDEX_CODE = ? GROUP BY UPDATE_TIME DESC, DATA_DATE DESC ) a
|
|
|
-GROUP BY
|
|
|
- a.DATA_DATE DESC `
|
|
|
- _, err = o.Raw(sql, indexCode).QueryRows(&items)
|
|
|
+ sql := `SELECT * FROM (
|
|
|
+ SELECT * FROM mb_index_main_data WHERE INDEX_CODE=?
|
|
|
+ GROUP BY UPDATE_TIME DESC, DATA_DATE DESC
|
|
|
+ ) a GROUP BY a.DATA_DATE DESC`
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, indexCode).Find(&items).Error
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// GlDataPageListResp 钢联原始指标库-分页列表
|
|
|
type GlDataPageListResp struct {
|
|
|
Paging *paging.PagingItem
|
|
|
List []*GlSearchIndex
|
|
|
}
|
|
|
|
|
|
-// GetGlItemListByIds IDs获取钢联原始指标库
|
|
|
func GetGlItemListByIds(ids []int) (items []*GlSearchIndex, err error) {
|
|
|
if len(ids) == 0 {
|
|
|
return
|
|
|
}
|
|
|
- o := orm.NewOrmUsingDB("gl")
|
|
|
sql := fmt.Sprintf(`SELECT * FROM mb_index_main_info WHERE ID IN (%s)`, utils.GetOrmInReplace(len(ids)))
|
|
|
- _, err = o.Raw(sql, ids).QueryRows(&items)
|
|
|
+ o := global.DbMap[utils.DbNameGL]
|
|
|
+ err = o.Raw(sql, ids).Find(&items).Error
|
|
|
return
|
|
|
}
|