From db270779e67c053918461b200111a581a2689946 Mon Sep 17 00:00:00 2001 From: ArvinLovegood Date: Wed, 5 Mar 2025 18:12:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(stock-data):=E4=BF=AE=E5=A4=8D=E7=BE=8E?= =?UTF-8?q?=E8=82=A1=E6=95=B0=E6=8D=AE=E8=A7=A3=E6=9E=90=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 增加日志输出,记录股票数据解析完成后的 parts 长度- 调整昨日收盘价的解析逻辑,兼容不同长度的 parts - 优化代码结构,提高可读性和可维护性 --- backend/data/stock_data_api.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/data/stock_data_api.go b/backend/data/stock_data_api.go index 42e7840..880be60 100644 --- a/backend/data/stock_data_api.go +++ b/backend/data/stock_data_api.go @@ -511,7 +511,8 @@ func ParseUSStockData(datas []string) (map[string]string, error) { result := make(map[string]string) parts := strutil.SplitAndTrim(datas[1], ",", "\"", ";") //parts := strings.Split(data, ",") - if len(parts) < 30 { + logger.SugaredLogger.Infof("股票数据解析完成: parts:%d", len(parts)) + if len(parts) < 35 { return nil, fmt.Errorf("invalid data format") } /* @@ -555,7 +556,13 @@ func ParseUSStockData(datas []string) (map[string]string, error) { result["股票代码"] = code result["股票名称"] = parts[0] result["今日开盘价"] = parts[5] - result["昨日收盘价"] = strutil.ReplaceWithMap(parts[len(parts)-1], map[string]string{"\"": ""}) + + if len(parts) >= 36 { + result["昨日收盘价"] = strutil.ReplaceWithMap(strutil.RemoveNonPrintable(parts[26]), map[string]string{"\"": "", ";": ""}) + } else { + result["昨日收盘价"] = strutil.ReplaceWithMap(strutil.RemoveNonPrintable(parts[len(parts)-1]), map[string]string{"\"": "", ";": ""}) + } + result["今日最高价"] = parts[6] result["今日最低价"] = parts[7] result["当前价格"] = parts[1]