|
@@ -171,22 +171,58 @@ func (this *BaseFromUsdaFasController) UsdaFasIndexData() {
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
edbCodeList := make([]string, 0)
|
|
|
for _, v := range UsdaFasList {
|
|
|
edbCodeList = append(edbCodeList, v.IndexCode)
|
|
|
}
|
|
|
- edbInfoList, err := data_manage.GetEdbInfoByEdbCodeList(utils.DATA_SOURCE_USDA_FAS, edbCodeList)
|
|
|
+ edbInfoMap := make(map[string]*data_manage.EdbInfo)
|
|
|
+ dataMap := make(map[string][]*data_manage.BaseFromUsdaFasData)
|
|
|
+ if len(edbCodeList) > 0 {
|
|
|
+ edbInfoList, err := data_manage.GetEdbInfoByEdbCodeList(utils.DATA_SOURCE_USDA_FAS, edbCodeList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据源失败"
|
|
|
+ br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range edbInfoList {
|
|
|
+ edbInfoMap[v.EdbCode] = v
|
|
|
+ }
|
|
|
+ // 首先对分类下的指标按照日期进行分页,再针对日期,进行排序
|
|
|
+ dataTimes, err := data_manage.GetUsdaFasIndexDataTimePageByCodes(edbCodeList, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "获取指标数据日期信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(dataTimes) > 0 {
|
|
|
+ startDate := dataTimes[len(dataTimes)-1]
|
|
|
+ endDate := dataTimes[0]
|
|
|
+ // 把截止日往后加1天
|
|
|
+ endDateT, _ := time.ParseInLocation(utils.FormatDate, endDate, time.Local)
|
|
|
+ endDate = endDateT.AddDate(0, 0, 1).Format(utils.FormatDate)
|
|
|
+ dataList, e := data_manage.GetUsdaFasIndexDataByDataTime(edbCodeList, startDate, endDate)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "获取指标数据失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //将数据按照指标进行分类
|
|
|
+ for _, v := range dataList {
|
|
|
+ dataMap[v.IndexCode] = append(dataMap[v.IndexCode], v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ total, err := data_manage.GetUsdaFasIndexDataTimePageCount(edbCodeList)
|
|
|
if err != nil {
|
|
|
- br.Msg = "获取数据源失败"
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- edbInfoMap := make(map[string]*data_manage.EdbInfo)
|
|
|
- for _, v := range edbInfoList {
|
|
|
- edbInfoMap[v.EdbCode] = v
|
|
|
- }
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
|
|
|
resultList := make([]*data_manage.BaseFromUsdaFasIndexList, 0)
|
|
|
+
|
|
|
for _, v := range UsdaFasList {
|
|
|
product := new(data_manage.BaseFromUsdaFasIndexList)
|
|
|
product.BaseFromUsdaFasIndexId = v.BaseFromUsdaFasIndexId
|
|
@@ -200,7 +236,7 @@ func (this *BaseFromUsdaFasController) UsdaFasIndexData() {
|
|
|
product.EdbExist = 1
|
|
|
}
|
|
|
|
|
|
- total, err := data_manage.GetUsdaFasIndexDataCount(v.IndexCode)
|
|
|
+ /*total, err := data_manage.GetUsdaFasIndexDataCount(v.IndexCode)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取数据失败"
|
|
|
br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
@@ -212,11 +248,12 @@ func (this *BaseFromUsdaFasController) UsdaFasIndexData() {
|
|
|
br.Msg = "获取数据失败"
|
|
|
br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
+ }*/
|
|
|
+ dataListTmp, ok := dataMap[v.IndexCode]
|
|
|
+ if !ok {
|
|
|
+ dataListTmp = make([]*data_manage.BaseFromUsdaFasData, 0)
|
|
|
}
|
|
|
- if dataList == nil {
|
|
|
- dataList = make([]*data_manage.BaseFromUsdaFasData, 0)
|
|
|
- }
|
|
|
- product.DataList = dataList
|
|
|
+ product.DataList = dataListTmp
|
|
|
product.Paging = page
|
|
|
resultList = append(resultList, product)
|
|
|
}
|