Browse Source

fix:泛糖科技

Roc 1 month ago
parent
commit
d47d40d42e
2 changed files with 131 additions and 38 deletions
  1. 9 11
      controllers/hisugar_data.go
  2. 122 27
      models/data_manage/base_from_hisugar.go

+ 9 - 11
controllers/hisugar_data.go

@@ -690,8 +690,8 @@ func (this *TradeCommonController) HisugarExporthisugarList() {
 			br.ErrMsg = "获取数据失败,Err:" + err.Error()
 			return
 		}
-		if classifyIds != ""{
-			condition += ` AND classify_id IN (`+ classifyIds +`)`
+		if classifyIds != "" {
+			condition += ` AND classify_id IN (` + classifyIds + `)`
 		}
 	}
 	frequencies, err := data_manage.GetHisugarFrequencyByCondition(condition, pars)
@@ -721,7 +721,7 @@ func (this *TradeCommonController) HisugarExporthisugarList() {
 			return
 		}
 
-		sheetNew, err := xlsxFile.AddSheet(*frequency+frequencyMap[*frequency])
+		sheetNew, err := xlsxFile.AddSheet(*frequency + frequencyMap[*frequency])
 		if err != nil {
 			fmt.Println("新增Sheet失败", err.Error())
 			return
@@ -780,7 +780,7 @@ func (this *TradeCommonController) HisugarExporthisugarList() {
 			unitRow.AddCell().SetValue(sv.Unit)
 
 			lastModifyDateRow.AddCell().SetValue(sv.ModifyTime)
-			dataInfoMap := make(map[string]*data_manage.BaseFromHisugarData)
+			dataInfoMap := make(map[string]*data_manage.BaseFromHisugarDataItem)
 			for _, v := range dataList {
 				dataInfoMap[v.DataTime] = v
 			}
@@ -911,8 +911,8 @@ func (this *TradeCommonController) HisugarIndexData() {
 			br.ErrMsg = "获取数据失败,Err:" + err.Error()
 			return
 		}
-		if classifyIds != ""{
-			condition += ` AND classify_id IN (`+ classifyIds +`)`
+		if classifyIds != "" {
+			condition += ` AND classify_id IN (` + classifyIds + `)`
 		}
 	}
 
@@ -985,7 +985,7 @@ func (this *TradeCommonController) HisugarIndexData() {
 			return
 		}
 		if dataList == nil {
-			dataList = make([]*data_manage.BaseFromHisugarData, 0)
+			dataList = make([]*data_manage.BaseFromHisugarDataItem, 0)
 		}
 		product.DataList = dataList
 		product.Paging = page
@@ -1058,7 +1058,6 @@ func (this *TradeCommonController) GetHisugarIndexInfo() {
 	br.Data = indexInfoPage
 }
 
-
 // FrequencyList
 // @Title 指标频度列表
 // @Description 指标频度列表
@@ -1092,12 +1091,11 @@ func (this *TradeCommonController) FrequencyList() {
 			br.ErrMsg = "获取数据失败,Err:" + err.Error()
 			return
 		}
-		if classifyIds != ""{
-			condition += ` AND classify_id IN (`+ classifyIds +`)`
+		if classifyIds != "" {
+			condition += ` AND classify_id IN (` + classifyIds + `)`
 		}
 	}
 
-
 	frequencies, err := data_manage.GetHisugarFrequencyByCondition(condition, pars)
 	if err != nil {
 		fmt.Println("GetSciFrequency err:", err.Error())

+ 122 - 27
models/data_manage/base_from_hisugar.go

@@ -18,19 +18,32 @@ type BaseFromHisugarClassify struct {
 }
 
 type BaseFromHisugarIndex struct {
-	BaseFromHisugarIndexId int    // 主键ID
-	IndexCode              string // 指标编码
-	IndexName              string // 指标名称
-	ClassifyId             uint   // 分类ID
-	Unit                   string // 单位
-	Frequency              string // 频度
-	Describe               string // 指标描述
-	Sort                   int    // 排序
-	CreateTime             string // 创建时间
-	ModifyTime             string // 修改时间
+	BaseFromHisugarIndexId int       // 主键ID
+	IndexCode              string    // 指标编码
+	IndexName              string    // 指标名称
+	ClassifyId             uint      // 分类ID
+	Unit                   string    // 单位
+	Frequency              string    // 频度
+	Describe               string    // 指标描述
+	Sort                   int       // 排序
+	CreateTime             time.Time // 创建时间
+	ModifyTime             time.Time // 修改时间
+	StartDate              time.Time `orm:"column(start_date)"`
+	EndDate                time.Time `orm:"column(end_date)"`
+	LatestValue            float64   `orm:"column(latest_value)" description:"数据值"`
 }
 
 type BaseFromHisugarData struct {
+	BaseFromHisugarDataId  int    // 数据表ID
+	BaseFromHisugarIndexId int    // 指标ID
+	IndexCode              string // 指标编码
+	DataTime               time.Time
+	Value                  string
+	CreateTime             time.Time
+	ModifyTime             time.Time
+}
+
+type BaseFromHisugarDataItem struct {
 	BaseFromHisugarDataId  int    // 数据表ID
 	BaseFromHisugarIndexId int    // 指标ID
 	IndexCode              string // 指标编码
@@ -40,12 +53,42 @@ type BaseFromHisugarData struct {
 	ModifyTime             string
 }
 
+func (m *BaseFromHisugarData) ToItem() (item *BaseFromHisugarDataItem) {
+	return &BaseFromHisugarDataItem{
+		BaseFromHisugarDataId:  m.BaseFromHisugarDataId,
+		BaseFromHisugarIndexId: m.BaseFromHisugarIndexId,
+		IndexCode:              m.IndexCode,
+		DataTime:               m.DataTime.Format(utils.FormatDate),
+		Value:                  m.Value,
+		CreateTime:             m.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:             m.ModifyTime.Format(utils.FormatDateTime),
+	}
+}
+
 func GetHisugarClassifyList() (list []*BaseFromHisugarClassify, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := "SELECT * FROM base_from_hisugar_classify ORDER BY sort ASC"
 	_, err = o.Raw(sql).QueryRows(&list)
 	return
 }
+func (m *BaseFromHisugarIndex) ToIndex() (item *BaseFromHisugarIndexList) {
+	return &BaseFromHisugarIndexList{
+		BaseFromHisugarIndexId: m.BaseFromHisugarIndexId,
+		IndexCode:              m.IndexCode,
+		IndexName:              m.IndexName,
+		ClassifyId:             int(m.ClassifyId),
+		Unit:                   m.Unit,
+		Frequency:              m.Frequency,
+		Describe:               m.Describe,
+		Sort:                   m.Sort,
+		CreateTime:             m.CreateTime.Format(utils.FormatDateTime),
+		ModifyTime:             m.ModifyTime.Format(utils.FormatDateTime),
+		//EdbExist:               0,
+		//DataList:               nil,
+		//Paging:                 nil,
+		//EdbInfoId:              0,
+	}
+}
 
 type BaseFromHisugarIndexList struct {
 	BaseFromHisugarIndexId int    // 主键ID
@@ -59,9 +102,9 @@ type BaseFromHisugarIndexList struct {
 	CreateTime             string // 创建时间
 	ModifyTime             string // 修改时间
 	EdbExist               int    `description:"edb是否存在"`
-	DataList               []*BaseFromHisugarData
+	DataList               []*BaseFromHisugarDataItem
 	Paging                 *paging.PagingItem `description:"分页数据"`
-	EdbInfoId     int                `description:"指标库主键id"`
+	EdbInfoId              int                `description:"指标库主键id"`
 }
 
 type BaseFromHisugarIndexListResp struct {
@@ -119,7 +162,10 @@ func GetHisugarDataListCount(condition string, pars interface{}) (count int, err
 	return
 }
 
-func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromHisugarData, err error) {
+func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize int) (items []*BaseFromHisugarDataItem, err error) {
+	var ormList []*BaseFromHisugarData
+	items = make([]*BaseFromHisugarDataItem, 0)
+
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM base_from_hisugar_data WHERE 1=1  `
 	if condition != "" {
@@ -127,7 +173,14 @@ func GetHisugarIndexData(condition string, pars interface{}, startSize, pageSize
 	}
 
 	sql += ` order by data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToItem())
+	}
+
 	return
 }
 
@@ -231,10 +284,20 @@ func GetHisugarDataMaxCount(classifyId int) (count int, err error) {
 	return
 }
 
-func GetHisugarIndexDataByCode(indexCode string) (items []*BaseFromHisugarData, err error) {
+func GetHisugarIndexDataByCode(indexCode string) (items []*BaseFromHisugarDataItem, err error) {
+	var ormList []*BaseFromHisugarData
+	items = make([]*BaseFromHisugarDataItem, 0)
+
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *  FROM base_from_hisugar_data WHERE index_code=? ORDER BY data_time DESC  `
-	_, err = o.Raw(sql, indexCode).QueryRows(&items)
+	_, err = o.Raw(sql, indexCode).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToItem())
+	}
+
 	return
 }
 
@@ -281,10 +344,24 @@ func GetHisugarIndexViewListCount(condition string, pars []interface{}) (count i
 }
 
 // GetHisugarDataViewList 根据指标id获取泛糖科技指标列表
-func GetHisugarDataViewList(indexIds []int) (items []*BaseFromHisugarData, err error) {
+func GetHisugarDataViewList(indexIds []int) (items []*BaseFromHisugarDataItem, err error) {
+	num := len(indexIds)
+	if num <= 0 {
+		return
+	}
+	var ormList []*BaseFromHisugarData
+	items = make([]*BaseFromHisugarDataItem, 0)
+
 	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM base_from_hisugar_data WHERE base_from_hisugar_index_id IN (` + utils.GetOrmInReplace(len(indexIds)) + `) ORDER BY data_time desc  `
-	_, err = o.Raw(sql, indexIds).QueryRows(&items)
+	sql := ` SELECT * FROM base_from_hisugar_data WHERE base_from_hisugar_index_id IN (` + utils.GetOrmInReplace(num) + `) ORDER BY data_time desc  `
+	_, err = o.Raw(sql, indexIds).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToItem())
+	}
+
 	return
 }
 
@@ -321,13 +398,23 @@ func GetHisugarClassifyAll() (items []*BaseFromHisugarClassifyItem, err error) {
 }
 
 func GetHisugarIndex(condition string, pars interface{}) (items []*BaseFromHisugarIndexList, err error) {
+	var ormList []*BaseFromHisugarIndex
+	items = make([]*BaseFromHisugarIndexList, 0)
+
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM base_from_hisugar_index WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}
 	sql += ` ORDER BY sort ASC, base_from_hisugar_index_id asc`
-	_, err = o.Raw(sql, pars).QueryRows(&items)
+	_, err = o.Raw(sql, pars).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToIndex())
+	}
+
 	return
 }
 
@@ -346,14 +433,23 @@ func GetHisugarIndexDataCountGroup(indexCodes []string) (items []*HisugarIndexDa
 	return
 }
 
-func GetHisugarIndexDataV2(indexCode string, startSize, pageSize int) (items []*BaseFromHisugarData, err error) {
+func GetHisugarIndexDataV2(indexCode string, startSize, pageSize int) (items []*BaseFromHisugarDataItem, err error) {
+	var ormList []*BaseFromHisugarData
+	items = make([]*BaseFromHisugarDataItem, 0)
+
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT *  FROM base_from_hisugar_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
-	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&ormList)
+	if err != nil {
+		return
+	}
+	for _, ormItem := range ormList {
+		items = append(items, ormItem.ToItem())
+	}
+
 	return
 }
 
-
 // GetHisugarIndexInfoCount 查询指标信息总数
 func GetHisugarIndexInfoCount(condition string, pars []interface{}) (count int, err error) {
 	o := orm.NewOrmUsingDB("data")
@@ -365,10 +461,9 @@ func GetHisugarIndexInfoCount(condition string, pars []interface{}) (count int,
 	return
 }
 
-
 type BaseFromHisugarIndexPage struct {
 	List   []*BaseFromHisugarIndex `description:"指标列表"`
-	Paging *paging.PagingItem     `description:"分页数据"`
+	Paging *paging.PagingItem      `description:"分页数据"`
 }
 
 // GetHisugarIndexInfoPage 分页查询指标信息
@@ -388,6 +483,6 @@ func GetHisugarIndexInfoPage(condition string, pars []interface{}, size int, pag
 func GetHisugarClassifyById(classifyId int) (ClassifyIds string, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT GROUP_CONCAT(base_from_hisugar_classify_id) AS classify_ids FROM base_from_hisugar_classify WHERE base_from_hisugar_classify_id=? OR parent_id=?`
-	err = o.Raw(sql,classifyId,classifyId).QueryRow(&ClassifyIds)
+	err = o.Raw(sql, classifyId, classifyId).QueryRow(&ClassifyIds)
 	return
-}
+}