add check module
This commit is contained in:
67
cmd/check/main.go
Normal file
67
cmd/check/main.go
Normal 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_RDWR|os.O_APPEND|os.O_CREATE, 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("数据写入成功...")
|
||||
}
|
||||
Reference in New Issue
Block a user