mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
- 新增 StockInfoHK模型用于存储香港股票基本信息- 实现香港股票数据的爬取和解析功能 - 更新数据库初始化逻辑,支持香港股票数据导入 - 修改股票价格信息获取接口,支持香港股票 - 优化股票数据解析逻辑,适配香港股票数据格式
50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package models
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/duke-git/lancet/v2/strutil"
|
|
"go-stock/backend/db"
|
|
"go-stock/backend/logger"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
// @Author spark
|
|
// @Date 2025/2/22 16:09
|
|
// @Desc
|
|
// -----------------------------------------------------------------------------------
|
|
type StockInfoHKResp struct {
|
|
Code int `json:"code"`
|
|
Status string `json:"status"`
|
|
StockInfos *[]StockInfoData `json:"data"`
|
|
}
|
|
|
|
type StockInfoData struct {
|
|
C string `json:"c"`
|
|
N string `json:"n"`
|
|
T string `json:"t"`
|
|
E string `json:"e"`
|
|
}
|
|
|
|
func TestStockInfoHK(t *testing.T) {
|
|
db.Init("../../data/stock.db")
|
|
db.Dao.AutoMigrate(&StockInfoHK{})
|
|
bs, _ := os.ReadFile("../../build/hk.json")
|
|
v := &StockInfoHKResp{}
|
|
err := json.Unmarshal(bs, v)
|
|
if err != nil {
|
|
return
|
|
}
|
|
hks := &[]StockInfoHK{}
|
|
for i, data := range *v.StockInfos {
|
|
logger.SugaredLogger.Infof("第%d条数据: %+v", i, data)
|
|
hk := &StockInfoHK{
|
|
Code: strutil.PadStart(data.C, 5, "0") + ".HK",
|
|
EName: data.N,
|
|
}
|
|
*hks = append(*hks, *hk)
|
|
}
|
|
db.Dao.Create(&hks)
|
|
|
|
}
|