fix bug
This commit is contained in:
59
internal/logic/a/indicator.go
Normal file
59
internal/logic/a/indicator.go
Normal file
@@ -0,0 +1,59 @@
|
||||
package a
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"git.apinb.com/dataset/stock/internal/impl"
|
||||
"git.apinb.com/dataset/stock/internal/models"
|
||||
)
|
||||
|
||||
func GetStockIndicator() {
|
||||
s, e := ReturnLastDay()
|
||||
for _, code := range GetStockCodes() {
|
||||
params := map[string]string{
|
||||
"ts_code": code,
|
||||
"start_date": s,
|
||||
"end_date": e,
|
||||
}
|
||||
|
||||
var cnt int64
|
||||
impl.DBService.Model(&models.StockDaily{}).Where("ts_code=? and trade_date in (?,?)", code, s, e).Count(&cnt)
|
||||
if cnt == 2 {
|
||||
continue
|
||||
}
|
||||
|
||||
reply, err := TushareClient.Daily(params, []string{})
|
||||
if err != nil {
|
||||
log.Println("ERROR", "GetStockIndicator", err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, item := range reply.Data.Items {
|
||||
var cnt int64
|
||||
impl.DBService.Model(&models.StockIndicator{}).Where("ts_code=? and trade_date=?", item[0].(string), item[1].(string)).Count(&cnt)
|
||||
if cnt == 0 {
|
||||
impl.DBService.Create(&models.StockIndicator{
|
||||
TsCode: item[0].(string),
|
||||
TradeDate: item[1].(string),
|
||||
Close: item[2].(float64),
|
||||
TurnoverRate: item[3].(float64),
|
||||
TurnoverRateF: item[4].(float64),
|
||||
VolumeRatio: item[5].(float64),
|
||||
Pe: item[6].(float64),
|
||||
PeTtm: item[7].(float64),
|
||||
Pb: item[8].(float64),
|
||||
Ps: item[9].(float64),
|
||||
PsTtm: item[10].(float64),
|
||||
DvRatio: item[11].(float64),
|
||||
DvTtm: item[12].(float64),
|
||||
TotalShare: item[13].(float64),
|
||||
FloatShare: item[14].(float64),
|
||||
FreeShare: item[15].(float64),
|
||||
TotalMv: item[16].(float64),
|
||||
CircMv: item[17].(float64),
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user