Files
stock/cmd/check/main.go
yanweidong 677ad2c2ef fix bug
2026-01-24 23:44:25 +08:00

68 lines
1.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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("数据写入成功...")
}