|
@@ -49,6 +49,8 @@ func SyncRankingFromShangHai() {
|
|
|
}
|
|
|
existIndexMap := make(map[string]*models.BaseFromTradeShanghaiIndex)
|
|
|
addIndexMap := make(map[string]string)
|
|
|
+ indexCodeMap := make(map[string]string)
|
|
|
+
|
|
|
for _, v := range allIndex {
|
|
|
indexKey := v.IndexName
|
|
|
existIndexMap[indexKey] = v
|
|
@@ -78,190 +80,212 @@ func SyncRankingFromShangHai() {
|
|
|
//处理指标
|
|
|
for _, p := range position {
|
|
|
//排除标题行和最后一行
|
|
|
- if p.Rank > 0 && p.ParticipantID1 != "" && p.ParticipantID2 != "" && p.ParticipantID3 != "" {
|
|
|
- //成交量
|
|
|
- dealItem.IndexName = strings.Replace(fmt.Sprintf("%s", p.ParticipantName1+"_成交量"+"_"+p.ProductName+"_"+p.ContractCode), " ", "", -1)
|
|
|
- dealItem.IndexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 1000)))
|
|
|
- dealItem.ClassifyName = strings.Replace(p.ProductName, " ", "", -1)
|
|
|
- dealItem.ClassifyType = strings.Replace(p.ContractCode, " ", "", -1)
|
|
|
- dealItem.CreateTime = time.Now()
|
|
|
- dealItem.Frequency = "日度"
|
|
|
- dealItem.ModifyTime = time.Now()
|
|
|
- if existIndex, ok := existIndexMap[dealItem.IndexName]; !ok {
|
|
|
- newID, err := models.AddBaseFromTradeShangHaiIndex(dealItem)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("insert error:", err)
|
|
|
+ if p.Rank > 0 {
|
|
|
+ if p.ParticipantName1 != "" {
|
|
|
+ //成交量
|
|
|
+ dealItem.IndexName = strings.Replace(fmt.Sprintf("%s", p.ParticipantName1+"_成交量"+"_"+p.ProductName+"_"+p.ContractCode), " ", "", -1)
|
|
|
+ indexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 100)))
|
|
|
+ for {
|
|
|
+ indexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 100)))
|
|
|
+ if _, ok := indexCodeMap[indexCode]; !ok {
|
|
|
+ indexCodeMap[indexCode] = ""
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
- indexID = int(newID)
|
|
|
- fmt.Println("new indexID:", indexID)
|
|
|
- addIndexMap[indexKey] = indexCode
|
|
|
- time.Sleep(100 * time.Millisecond)
|
|
|
- } else {
|
|
|
- indexID = existIndex.BaseFromTradeShangHaiIndexId
|
|
|
- indexCode = existIndex.IndexCode
|
|
|
- }
|
|
|
- existDataList, err = models.GetBaseFromTradeShangHaiDataByIndexCode(indexCode)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- fmt.Println("GetBaseFromTradeShangHaiDataByIndexCode error:", err)
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range existDataList {
|
|
|
- key := v.IndexCode + v.DataTime
|
|
|
- existDataMap[key] = v
|
|
|
- }
|
|
|
- dataTime, err = time.Parse(utils.FormatDateUnSpace, tradeDate)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("time.Parse Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- dataKey = indexCode + dataTime.Format(utils.FormatDate)
|
|
|
- if existDataItem, ok := existDataMap[dataKey]; !ok && indexCode != "" { //新增
|
|
|
-
|
|
|
- dataItem.BaseFromTradeShanghaiIndexId = indexID
|
|
|
- dataItem.IndexCode = indexCode
|
|
|
- dataItem.DataTime = tradeDate
|
|
|
- dataItem.Value = fmt.Sprintf("%d", p.Deal)
|
|
|
- dataItem.AddCutValue = fmt.Sprintf("%d", p.Change1)
|
|
|
- dataItem.DataTimestamp = dataTime.UnixNano() / 1e6
|
|
|
- dataItem.CreateTime = time.Now()
|
|
|
- dataItem.ModifyTime = time.Now()
|
|
|
- _, err = models.AddBaseFromTradeShangHaiData(dataItem)
|
|
|
+ dealItem.IndexCode = indexCode
|
|
|
+ dealItem.ClassifyName = strings.Replace(p.ProductName, " ", "", -1)
|
|
|
+ dealItem.ClassifyType = strings.Replace(p.ContractCode, " ", "", -1)
|
|
|
+ dealItem.CreateTime = time.Now()
|
|
|
+ dealItem.Frequency = "日度"
|
|
|
+ dealItem.ModifyTime = time.Now()
|
|
|
+ if existIndex, ok := existIndexMap[dealItem.IndexName]; !ok {
|
|
|
+ newID, err := models.AddBaseFromTradeShangHaiIndex(dealItem)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("insert error:", err)
|
|
|
+ }
|
|
|
+ indexID = int(newID)
|
|
|
+ fmt.Println("new indexID:", indexID)
|
|
|
+ addIndexMap[indexKey] = indexCode
|
|
|
+ } else {
|
|
|
+ indexID = existIndex.BaseFromTradeShangHaiIndexId
|
|
|
+ indexCode = existIndex.IndexCode
|
|
|
+ }
|
|
|
+ existDataList, err = models.GetBaseFromTradeShangHaiDataByIndexCode(indexCode)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ fmt.Println("GetBaseFromTradeShangHaiDataByIndexCode error:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range existDataList {
|
|
|
+ key := v.IndexCode + v.DataTime
|
|
|
+ existDataMap[key] = v
|
|
|
+ }
|
|
|
+ dataTime, err = time.Parse(utils.FormatDateUnSpace, tradeDate)
|
|
|
if err != nil {
|
|
|
- fmt.Println("data insert err:", err)
|
|
|
+ fmt.Println("time.Parse Err:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- existDataMap[indexCode+tradeDate] = dataItem
|
|
|
- } else {
|
|
|
- if existDataItem != nil && existDataItem.Value != fmt.Sprintf("%d", p.Deal) { //修改数据
|
|
|
- err = models.ModifyBaseFromTradeShangHaiData(fmt.Sprintf("%d", p.Deal), fmt.Sprintf("%d", p.Change1), existDataItem.BaseFromTradeShangHaiDataId)
|
|
|
+ dataKey = indexCode + dataTime.Format(utils.FormatDate)
|
|
|
+ if existDataItem, ok := existDataMap[dataKey]; !ok && indexCode != "" { //新增
|
|
|
+
|
|
|
+ dataItem.BaseFromTradeShanghaiIndexId = indexID
|
|
|
+ dataItem.IndexCode = indexCode
|
|
|
+ dataItem.DataTime = tradeDate
|
|
|
+ dataItem.Value = fmt.Sprintf("%d", p.Deal)
|
|
|
+ dataItem.AddCutValue = fmt.Sprintf("%d", p.Change1)
|
|
|
+ dataItem.DataTimestamp = dataTime.UnixNano() / 1e6
|
|
|
+ dataItem.CreateTime = time.Now()
|
|
|
+ dataItem.ModifyTime = time.Now()
|
|
|
+ _, err = models.AddBaseFromTradeShangHaiData(dataItem)
|
|
|
if err != nil {
|
|
|
- fmt.Println("data update err:", err)
|
|
|
+ fmt.Println("data insert err:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ existDataMap[indexCode+tradeDate] = dataItem
|
|
|
+ } else {
|
|
|
+ if existDataItem != nil && existDataItem.Value != fmt.Sprintf("%d", p.Deal) { //修改数据
|
|
|
+ err = models.ModifyBaseFromTradeShangHaiData(fmt.Sprintf("%d", p.Deal), fmt.Sprintf("%d", p.Change1), existDataItem.BaseFromTradeShangHaiDataId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("data update err:", err)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //持买单量
|
|
|
- buyItem.IndexName = strings.Replace(fmt.Sprintf("%s", p.ParticipantName2+"_持买单量"+"_"+p.ProductName+"_"+p.ContractCode), " ", "", -1)
|
|
|
- buyItem.IndexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 1000)))
|
|
|
- buyItem.ClassifyName = strings.Replace(p.ProductName, " ", "", -1)
|
|
|
- buyItem.ClassifyType = strings.Replace(p.ContractCode, " ", "", -1)
|
|
|
- buyItem.CreateTime = time.Now()
|
|
|
- buyItem.Frequency = "日度"
|
|
|
- buyItem.ModifyTime = time.Now()
|
|
|
- if existIndex, ok := existIndexMap[buyItem.IndexName]; !ok {
|
|
|
- newID, err := models.AddBaseFromTradeShangHaiIndex(buyItem)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("insert error:", err)
|
|
|
+ if p.ParticipantName2 != "" {
|
|
|
+ //持买单量
|
|
|
+ buyItem.IndexName = strings.Replace(fmt.Sprintf("%s", p.ParticipantName2+"_持买单量"+"_"+p.ProductName+"_"+p.ContractCode), " ", "", -1)
|
|
|
+ for {
|
|
|
+ indexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 100)))
|
|
|
+ if _, ok := indexCodeMap[indexCode]; !ok {
|
|
|
+ indexCodeMap[indexCode] = ""
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
- indexID = int(newID)
|
|
|
- fmt.Println("new indexID:", indexID)
|
|
|
- addIndexMap[indexKey] = indexCode
|
|
|
- time.Sleep(100 * time.Millisecond)
|
|
|
- } else {
|
|
|
- indexID = existIndex.BaseFromTradeShangHaiIndexId
|
|
|
- indexCode = existIndex.IndexCode
|
|
|
- }
|
|
|
- existDataList, err = models.GetBaseFromTradeShangHaiDataByIndexCode(indexCode)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range existDataList {
|
|
|
- key := v.IndexCode + v.DataTime
|
|
|
- existDataMap[key] = v
|
|
|
- }
|
|
|
- dataTime, err := time.Parse(utils.FormatDateUnSpace, tradeDate)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("time.Parse Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- dataKey = indexCode + dataTime.Format(utils.FormatDate)
|
|
|
- if existDataItem, ok := existDataMap[dataKey]; !ok && indexCode != "" { //新增
|
|
|
-
|
|
|
- dataItem.BaseFromTradeShanghaiIndexId = indexID
|
|
|
- dataItem.IndexCode = indexCode
|
|
|
- dataItem.DataTime = tradeDate
|
|
|
- dataItem.Value = fmt.Sprintf("%d", p.BuyIn)
|
|
|
- dataItem.AddCutValue = fmt.Sprintf("%d", p.Change2)
|
|
|
- dataItem.DataTimestamp = dataTime.UnixNano() / 1e6
|
|
|
- dataItem.CreateTime = time.Now()
|
|
|
- dataItem.ModifyTime = time.Now()
|
|
|
- _, err = models.AddBaseFromTradeShangHaiData(dataItem)
|
|
|
+ buyItem.IndexCode = indexCode
|
|
|
+ buyItem.ClassifyName = strings.Replace(p.ProductName, " ", "", -1)
|
|
|
+ buyItem.ClassifyType = strings.Replace(p.ContractCode, " ", "", -1)
|
|
|
+ buyItem.CreateTime = time.Now()
|
|
|
+ buyItem.Frequency = "日度"
|
|
|
+ buyItem.ModifyTime = time.Now()
|
|
|
+ if existIndex, ok := existIndexMap[buyItem.IndexName]; !ok {
|
|
|
+ newID, err := models.AddBaseFromTradeShangHaiIndex(buyItem)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("insert error:", err)
|
|
|
+ }
|
|
|
+ indexID = int(newID)
|
|
|
+ fmt.Println("new indexID:", indexID)
|
|
|
+ addIndexMap[indexKey] = indexCode
|
|
|
+ } else {
|
|
|
+ indexID = existIndex.BaseFromTradeShangHaiIndexId
|
|
|
+ indexCode = existIndex.IndexCode
|
|
|
+ }
|
|
|
+ existDataList, err = models.GetBaseFromTradeShangHaiDataByIndexCode(indexCode)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range existDataList {
|
|
|
+ key := v.IndexCode + v.DataTime
|
|
|
+ existDataMap[key] = v
|
|
|
+ }
|
|
|
+ dataTime, err := time.Parse(utils.FormatDateUnSpace, tradeDate)
|
|
|
if err != nil {
|
|
|
- fmt.Println("data insert err:", err)
|
|
|
+ fmt.Println("time.Parse Err:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- existDataMap[indexCode+tradeDate] = dataItem
|
|
|
- } else {
|
|
|
- if existDataItem != nil && existDataItem.Value != fmt.Sprintf("%d", p.BuyIn) { //修改数据
|
|
|
- err = models.ModifyBaseFromTradeShangHaiData(fmt.Sprintf("%d", p.BuyIn), fmt.Sprintf("%d", p.Change2), existDataItem.BaseFromTradeShangHaiDataId)
|
|
|
+ dataKey = indexCode + dataTime.Format(utils.FormatDate)
|
|
|
+ if existDataItem, ok := existDataMap[dataKey]; !ok && indexCode != "" { //新增
|
|
|
+
|
|
|
+ dataItem.BaseFromTradeShanghaiIndexId = indexID
|
|
|
+ dataItem.IndexCode = indexCode
|
|
|
+ dataItem.DataTime = tradeDate
|
|
|
+ dataItem.Value = fmt.Sprintf("%d", p.BuyIn)
|
|
|
+ dataItem.AddCutValue = fmt.Sprintf("%d", p.Change2)
|
|
|
+ dataItem.DataTimestamp = dataTime.UnixNano() / 1e6
|
|
|
+ dataItem.CreateTime = time.Now()
|
|
|
+ dataItem.ModifyTime = time.Now()
|
|
|
+ _, err = models.AddBaseFromTradeShangHaiData(dataItem)
|
|
|
if err != nil {
|
|
|
- fmt.Println("data update err:", err)
|
|
|
+ fmt.Println("data insert err:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ existDataMap[indexCode+tradeDate] = dataItem
|
|
|
+ } else {
|
|
|
+ if existDataItem != nil && existDataItem.Value != fmt.Sprintf("%d", p.BuyIn) { //修改数据
|
|
|
+ err = models.ModifyBaseFromTradeShangHaiData(fmt.Sprintf("%d", p.BuyIn), fmt.Sprintf("%d", p.Change2), existDataItem.BaseFromTradeShangHaiDataId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("data update err:", err)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //持卖单量
|
|
|
- soldItem.IndexName = strings.Replace(fmt.Sprintf("%s", p.ParticipantName3+"_持卖单量"+"_"+p.ProductName+"_"+p.ContractCode), " ", "", -1)
|
|
|
- soldItem.IndexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 1000)))
|
|
|
- soldItem.ClassifyName = strings.Replace(p.ProductName, " ", "", -1)
|
|
|
- soldItem.ClassifyType = strings.Replace(p.ContractCode, " ", "", -1)
|
|
|
- soldItem.CreateTime = time.Now()
|
|
|
- soldItem.Frequency = "日度"
|
|
|
- soldItem.ModifyTime = time.Now()
|
|
|
- if existIndex, ok := existIndexMap[soldItem.IndexName]; !ok {
|
|
|
- newID, err := models.AddBaseFromTradeShangHaiIndex(soldItem)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("insert error:", err)
|
|
|
+ if p.ParticipantName3 != "" {
|
|
|
+ //持卖单量
|
|
|
+ soldItem.IndexName = strings.Replace(fmt.Sprintf("%s", p.ParticipantName3+"_持卖单量"+"_"+p.ProductName+"_"+p.ContractCode), " ", "", -1)
|
|
|
+ for {
|
|
|
+ indexCode = fmt.Sprintf("SH%s", time.Now().Format(utils.FormatDateTimeUnSpace)+strconv.Itoa(utils.GetRandInt(1, 100)))
|
|
|
+ if _, ok := indexCodeMap[indexCode]; !ok {
|
|
|
+ indexCodeMap[indexCode] = ""
|
|
|
+ break
|
|
|
+ }
|
|
|
}
|
|
|
- indexID = int(newID)
|
|
|
- fmt.Println("new indexID:", indexID)
|
|
|
- addIndexMap[indexKey] = indexCode
|
|
|
- time.Sleep(100 * time.Millisecond)
|
|
|
- } else {
|
|
|
- indexID = existIndex.BaseFromTradeShangHaiIndexId
|
|
|
- indexCode = existIndex.IndexCode
|
|
|
- }
|
|
|
- existDataList, err = models.GetBaseFromTradeShangHaiDataByIndexCode(indexCode)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- fmt.Println("GetBaseFromTradeShangHaiDataByIndexCode error:", err)
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range existDataList {
|
|
|
- key := v.IndexCode + v.DataTime
|
|
|
- existDataMap[key] = v
|
|
|
- }
|
|
|
- dataTime, err = time.Parse(utils.FormatDateUnSpace, tradeDate)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("time.Parse Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- dataKey = indexCode + dataTime.Format(utils.FormatDate)
|
|
|
- if existDataItem, ok := existDataMap[dataKey]; !ok && indexCode != "" { //新增
|
|
|
-
|
|
|
- dataItem.BaseFromTradeShanghaiIndexId = indexID
|
|
|
- dataItem.IndexCode = indexCode
|
|
|
- dataItem.DataTime = tradeDate
|
|
|
- dataItem.Value = fmt.Sprintf("%d", p.SoldOut)
|
|
|
- dataItem.AddCutValue = fmt.Sprintf("%d", p.Change3)
|
|
|
- dataItem.DataTimestamp = dataTime.UnixNano() / 1e6
|
|
|
- dataItem.CreateTime = time.Now()
|
|
|
- dataItem.ModifyTime = time.Now()
|
|
|
- _, err = models.AddBaseFromTradeShangHaiData(dataItem)
|
|
|
+ soldItem.IndexCode = indexCode
|
|
|
+ soldItem.ClassifyName = strings.Replace(p.ProductName, " ", "", -1)
|
|
|
+ soldItem.ClassifyType = strings.Replace(p.ContractCode, " ", "", -1)
|
|
|
+ soldItem.CreateTime = time.Now()
|
|
|
+ soldItem.Frequency = "日度"
|
|
|
+ soldItem.ModifyTime = time.Now()
|
|
|
+ if existIndex, ok := existIndexMap[soldItem.IndexName]; !ok {
|
|
|
+ newID, err := models.AddBaseFromTradeShangHaiIndex(soldItem)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("insert error:", err)
|
|
|
+ }
|
|
|
+ indexID = int(newID)
|
|
|
+ fmt.Println("new indexID:", indexID)
|
|
|
+ addIndexMap[indexKey] = indexCode
|
|
|
+ } else {
|
|
|
+ indexID = existIndex.BaseFromTradeShangHaiIndexId
|
|
|
+ indexCode = existIndex.IndexCode
|
|
|
+ }
|
|
|
+ existDataList, err = models.GetBaseFromTradeShangHaiDataByIndexCode(indexCode)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ fmt.Println("GetBaseFromTradeShangHaiDataByIndexCode error:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range existDataList {
|
|
|
+ key := v.IndexCode + v.DataTime
|
|
|
+ existDataMap[key] = v
|
|
|
+ }
|
|
|
+ dataTime, err = time.Parse(utils.FormatDateUnSpace, tradeDate)
|
|
|
if err != nil {
|
|
|
- fmt.Println("data insert err:", err)
|
|
|
+ fmt.Println("time.Parse Err:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- existDataMap[indexCode+tradeDate] = dataItem
|
|
|
- } else {
|
|
|
- if existDataItem != nil && existDataItem.Value != fmt.Sprintf("%d", p.SoldOut) { //修改数据
|
|
|
- err = models.ModifyBaseFromTradeShangHaiData(fmt.Sprintf("%d", p.SoldOut), fmt.Sprintf("%d", p.Change3), existDataItem.BaseFromTradeShangHaiDataId)
|
|
|
+ dataKey = indexCode + dataTime.Format(utils.FormatDate)
|
|
|
+ if existDataItem, ok := existDataMap[dataKey]; !ok && indexCode != "" { //新增
|
|
|
+
|
|
|
+ dataItem.BaseFromTradeShanghaiIndexId = indexID
|
|
|
+ dataItem.IndexCode = indexCode
|
|
|
+ dataItem.DataTime = tradeDate
|
|
|
+ dataItem.Value = fmt.Sprintf("%d", p.SoldOut)
|
|
|
+ dataItem.AddCutValue = fmt.Sprintf("%d", p.Change3)
|
|
|
+ dataItem.DataTimestamp = dataTime.UnixNano() / 1e6
|
|
|
+ dataItem.CreateTime = time.Now()
|
|
|
+ dataItem.ModifyTime = time.Now()
|
|
|
+ _, err = models.AddBaseFromTradeShangHaiData(dataItem)
|
|
|
if err != nil {
|
|
|
- fmt.Println("data update err:", err)
|
|
|
+ fmt.Println("data insert err:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ existDataMap[indexCode+tradeDate] = dataItem
|
|
|
+ } else {
|
|
|
+ if existDataItem != nil && existDataItem.Value != fmt.Sprintf("%d", p.SoldOut) { //修改数据
|
|
|
+ err = models.ModifyBaseFromTradeShangHaiData(fmt.Sprintf("%d", p.SoldOut), fmt.Sprintf("%d", p.Change3), existDataItem.BaseFromTradeShangHaiDataId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("data update err:", err)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
fmt.Println("end")
|