Initial commit

This commit is contained in:
yanweidong
2026-02-09 17:36:20 +08:00
commit 96b79a34ef
28 changed files with 2736 additions and 0 deletions

67
cmd/check/main.go Normal file
View File

@@ -0,0 +1,67 @@
package main
import (
"encoding/csv"
"log"
"os"
"git.apinb.com/bsm-sdk/core/utils"
"git.apinb.com/dataset/stock/internal/config"
"git.apinb.com/dataset/stock/internal/impl"
"git.apinb.com/dataset/stock/internal/logic/a"
"git.apinb.com/dataset/stock/internal/models"
)
var (
ServiceKey = "stock"
)
func main() {
// 配置初始化
config.New(ServiceKey)
// 创建实现层
impl.NewImpl()
body := [][]string{}
for _, code := range a.GetStockCodes() {
var dCnt int64
impl.DBService.Model(&models.StockDaily{}).Where("ts_code=?", code).Count(&dCnt)
var iCnt int64
impl.DBService.Model(&models.StockIndicator{}).Where("ts_code=?", code).Count(&iCnt)
var fCnt int64
impl.DBService.Model(&models.StockFinaIndicator{}).Where("ts_code=?", code).Count(&fCnt)
log.Println("Checking...", code, "Daily", dCnt, "Indicator", iCnt, "FinaIndicator", fCnt)
body = append(body, []string{code, utils.Int2String(int(dCnt)), utils.Int2String(int(iCnt)), utils.Int2String(int(fCnt))})
}
WriterCSV("./result/check.csv", body)
}
// csv文件写入
func WriterCSV(fileName string, datas [][]string) {
//OpenFile读取文件不存在时则创建
File, err := os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666)
if err != nil {
log.Println("文件打开失败!")
}
defer File.Close()
//创建写入接口
WriterCsv := csv.NewWriter(File)
str := []string{"Code", "Daily", "Indicator", "FinaIndicator"} //需要写入csv的数据切片类型
//写入一条数据,传入数据为切片(追加模式)
err1 := WriterCsv.Write(str)
if err1 != nil {
log.Println("WriterCsv写入文件失败")
}
for _, s := range datas {
WriterCsv.Write(s)
}
WriterCsv.Flush() //刷新,不刷新是无法写入的
log.Println("数据写入成功...")
}

48
cmd/main/main.go Normal file
View File

@@ -0,0 +1,48 @@
package main
import (
"fmt"
"git.apinb.com/bsm-sdk/core/infra"
"git.apinb.com/bsm-sdk/core/middleware"
"git.apinb.com/dataset/stock/internal/config"
"git.apinb.com/dataset/stock/internal/cron"
"git.apinb.com/dataset/stock/internal/impl"
"git.apinb.com/dataset/stock/internal/routers"
"github.com/gin-gonic/gin"
)
var (
ServiceKey = "stock"
)
func main() {
// 配置初始化
config.New(ServiceKey)
// 创建实现层
impl.NewImpl()
// starter crontab list
cron.Boot()
// 初始化Gin引擎
app := gin.Default()
// 使用中间件
middleware.Mode(app)
app.Use(middleware.Cors())
app.Use(gin.Recovery())
// register health check
app.HEAD("/", infra.Health)
// register routers
routers.Register(ServiceKey, app)
// start
err := app.Run(fmt.Sprintf(":%s", config.Spec.Port))
if err != nil {
panic(err)
}
}

16
cmd/test/main.go Normal file
View File

@@ -0,0 +1,16 @@
package main
import (
"encoding/json"
"fmt"
"git.apinb.com/dataset/stock/internal/logic/a"
)
func main() {
a.NewApiClient()
reply, err := a.SetFinaIndicator("000029.SZ", "20230331")
fmt.Println("Err", err)
jsonBytes, _ := json.Marshal(reply.Data.Items)
fmt.Println("Reply", string(jsonBytes))
}