2026-02-09 17:36:20 +08:00
|
|
|
|
package a
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
|
|
"git.apinb.com/bsm-sdk/core/utils"
|
|
|
|
|
|
tushare "github.com/ShawnRong/tushare-go"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
|
TushareToken = "432de9ba12b6711948450273ed6e478dbac9e3e712323bbf823ada11"
|
|
|
|
|
|
TushareClient *tushare.TuShare
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func NewApiClient() {
|
|
|
|
|
|
TushareClient = tushare.New(TushareToken)
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-02-12 19:41:52 +08:00
|
|
|
|
// 获取最近N个交易日,asc=true 顺序:asc=false 倒序
|
|
|
|
|
|
func GetTradeDateBy(max int, asc bool) []string {
|
|
|
|
|
|
reply, _ := TushareClient.TradeCal(map[string]string{
|
|
|
|
|
|
"is_open": "1",
|
|
|
|
|
|
"end_date": time.Now().Format("20060102"),
|
|
|
|
|
|
}, []string{"exchange", "cal_date"})
|
|
|
|
|
|
|
|
|
|
|
|
var days []string
|
|
|
|
|
|
for i := 0; i < max; i++ {
|
|
|
|
|
|
days = append(days, reply.Data.Items[i][1].(string))
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 将days的数据倒序
|
|
|
|
|
|
if asc {
|
|
|
|
|
|
var newDays []string
|
|
|
|
|
|
for i := len(days) - 1; i >= 0; i-- {
|
|
|
|
|
|
newDays = append(newDays, days[i])
|
|
|
|
|
|
}
|
|
|
|
|
|
return newDays
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return days
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-02-09 17:36:20 +08:00
|
|
|
|
func ReturnLastDay() (string, string) {
|
|
|
|
|
|
now := time.Now()
|
|
|
|
|
|
end := now.Format("20060102")
|
|
|
|
|
|
start := now.AddDate(0, 0, -1).Format("20060102")
|
|
|
|
|
|
return start, end
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func Anys2Strings(any []any) []string {
|
|
|
|
|
|
var ret []string
|
|
|
|
|
|
for _, item := range any {
|
|
|
|
|
|
ret = append(ret, utils.AnyToString(item))
|
|
|
|
|
|
}
|
|
|
|
|
|
return ret
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func Any2Float(in any) float64 {
|
|
|
|
|
|
if in == nil {
|
|
|
|
|
|
return -1
|
|
|
|
|
|
}
|
|
|
|
|
|
return in.(float64)
|
|
|
|
|
|
}
|