|
@@ -5,6 +5,7 @@ import (
|
|
|
"hongze/hongze_yb/models/tables/trade_analysis"
|
|
|
"hongze/hongze_yb/utils"
|
|
|
"strings"
|
|
|
+ "sync"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -20,25 +21,51 @@ func GetClassifyName() (list []trade_analysis.TradeClassifyNameList, err error,
|
|
|
//查询每个交易所的最新更新时间
|
|
|
//查询每个交易所下的classifyNameList
|
|
|
list = make([]trade_analysis.TradeClassifyNameList, 0)
|
|
|
+ classifyExchangeMap := make(map[string][]trade_analysis.TradeClassifyName)
|
|
|
+ timeMap := make(map[string]string)
|
|
|
i := 0
|
|
|
+ var wg sync.WaitGroup
|
|
|
+ for k, _ := range exchanges {
|
|
|
+ wg.Add(1)
|
|
|
+ go func(k string,classifyExchangeMap map[string][]trade_analysis.TradeClassifyName) {
|
|
|
+ defer wg.Done()
|
|
|
+ nameList, tmpErr := trade_analysis.GetExchangeClassify(k)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, n := range nameList {
|
|
|
+ classifyExchangeMap[k] = append(classifyExchangeMap[k], n)
|
|
|
+ }
|
|
|
+
|
|
|
+ dataTimeItem, tmpErr := trade_analysis.GetExchangeLastTime(k)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ errMsg = "查询交易所最新更新时间失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ timeMap[k] = dataTimeItem.CreateTime.Format(utils.FormatDateTime)
|
|
|
+
|
|
|
+ }(k, classifyExchangeMap)
|
|
|
+ }
|
|
|
+ wg.Wait()
|
|
|
for k, v := range exchanges {
|
|
|
tmp := trade_analysis.TradeClassifyNameList{
|
|
|
Exchange: v,
|
|
|
Items: nil,
|
|
|
}
|
|
|
- nameList, tmpErr := trade_analysis.GetExchangeClassify(k)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
+ nameList, ok := classifyExchangeMap[k]
|
|
|
+ if !ok {
|
|
|
+ err = fmt.Errorf( "查询交易所分类信息失败")
|
|
|
errMsg = "查询交易所分类信息失败"
|
|
|
return
|
|
|
}
|
|
|
- dataTimeItem, tmpErr := trade_analysis.GetExchangeLastTime(k)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
+ tmp.DataTime, ok = timeMap[k]
|
|
|
+ if !ok {
|
|
|
+ err = fmt.Errorf( "查询交易所最新更新时间失败")
|
|
|
errMsg = "查询交易所最新更新时间失败"
|
|
|
return
|
|
|
}
|
|
|
- tmp.DataTime = dataTimeItem.CreateTime.Format(utils.FormatDateTime)
|
|
|
classifyMap := make(map[string][]trade_analysis.TradeClassifyNameListItemItem)
|
|
|
if len(nameList) > 0 {
|
|
|
if k == "zhengzhou" {
|