|
@@ -15,7 +15,7 @@ import (
|
|
|
func InitPositionTask(cont context.Context) (err error) {
|
|
|
exchanges := []string{"zhengzhou", "dalian", "shanghai", "cffex", "ine"} //郑商所,大商所,上期所,中金所,上期能源
|
|
|
for i := 1; i >= 0; i-- {
|
|
|
- startDate := time.Now().AddDate( 0, 0, -i).Format(utils.FormatDate)
|
|
|
+ startDate := time.Now().AddDate(0, 0, -i).Format(utils.FormatDate)
|
|
|
endDate := startDate
|
|
|
for _, v := range exchanges {
|
|
|
exchange := v
|
|
@@ -37,6 +37,59 @@ func InitPositionTask(cont context.Context) (err error) {
|
|
|
utils.FileLog.Info("InitTradePosition:" + exchange + "已完成")
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 处理交易所的分类
|
|
|
+ {
|
|
|
+ allBaseFromTradeClassify, tmpErr := data_manage.GetAllBaseFromTradeClassify()
|
|
|
+ if tmpErr != nil {
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("获取所有交易所分类失败,;err:%s", tmpErr.Error()))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tradeClassifyMap := make(map[string]int)
|
|
|
+ for _, v := range allBaseFromTradeClassify {
|
|
|
+ key := fmt.Sprintf("%s_%s_%s", v.Exchange, v.ClassifyName, v.ClassifyType)
|
|
|
+ tradeClassifyMap[key] = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ baseFromTradeClassifyList := make([]*data_manage.BaseFromTradeClassify, 0)
|
|
|
+ for _, v := range exchanges {
|
|
|
+ tradeClassifyNameList, tmpErr := data_manage.GetExchangeClassify(v)
|
|
|
+ if tmpErr != nil {
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("获取%s分类失败,;err:%s", v, tmpErr.Error()))
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, classify := range tradeClassifyNameList {
|
|
|
+ key := fmt.Sprintf("%s_%s_%s", v, classify.ClassifyName, classify.ClassifyType)
|
|
|
+
|
|
|
+ if _, ok := tradeClassifyMap[key]; !ok {
|
|
|
+ baseFromTradeClassifyList = append(baseFromTradeClassifyList, &data_manage.BaseFromTradeClassify{
|
|
|
+ Id: 0,
|
|
|
+ ClassifyName: classify.ClassifyName,
|
|
|
+ ClassifyType: classify.ClassifyType,
|
|
|
+ Exchange: v,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ lenAddList := len(baseFromTradeClassifyList)
|
|
|
+ if lenAddList > 0 {
|
|
|
+ baseAddNum := 500
|
|
|
+ num := lenAddList / baseAddNum
|
|
|
+ lastNum := lenAddList % baseAddNum
|
|
|
+ for i := 0; i <= num; i++ {
|
|
|
+ tmpNum := baseAddNum
|
|
|
+ if i == num && lastNum > 0 {
|
|
|
+ tmpNum = lastNum
|
|
|
+ }
|
|
|
+ data_manage.MultiAddBaseFromTradeClassify(baseFromTradeClassifyList[i*baseAddNum : (i*baseAddNum + tmpNum)])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|