mirror of
https://github.com/ArvinLovegood/go-stock.git
synced 2025-07-19 00:00:09 +08:00
fix(data):优化数据获取流程并添加错误日志
- 在获取股票价格、财报、市场资讯等数据时,增加了空值判断并记录错误日志 -优化了数据获取流程,提高了代码的健壮性和可维护性- 在 chromedp 上下文中添加了日志记录,便于调试和排查问题
This commit is contained in:
parent
c5fbe5fdae
commit
0006501cc8
@ -93,6 +93,10 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
messages := SearchStockPriceInfo(stockCode)
|
messages := SearchStockPriceInfo(stockCode)
|
||||||
|
if messages == nil || len(*messages) == 0 {
|
||||||
|
logger.SugaredLogger.Error("获取股票价格失败")
|
||||||
|
return
|
||||||
|
}
|
||||||
price := ""
|
price := ""
|
||||||
for _, message := range *messages {
|
for _, message := range *messages {
|
||||||
price += message + ";"
|
price += message + ";"
|
||||||
@ -106,6 +110,10 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
messages := GetFinancialReports(stockCode)
|
messages := GetFinancialReports(stockCode)
|
||||||
|
if messages == nil || len(*messages) == 0 {
|
||||||
|
logger.SugaredLogger.Error("获取股票财报失败")
|
||||||
|
return
|
||||||
|
}
|
||||||
for _, message := range *messages {
|
for _, message := range *messages {
|
||||||
msg = append(msg, map[string]interface{}{
|
msg = append(msg, map[string]interface{}{
|
||||||
"role": "assistant",
|
"role": "assistant",
|
||||||
@ -117,6 +125,10 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
messages := GetTelegraphList()
|
messages := GetTelegraphList()
|
||||||
|
if messages == nil || len(*messages) == 0 {
|
||||||
|
logger.SugaredLogger.Error("获取市场资讯失败")
|
||||||
|
return
|
||||||
|
}
|
||||||
for _, message := range *messages {
|
for _, message := range *messages {
|
||||||
msg = append(msg, map[string]interface{}{
|
msg = append(msg, map[string]interface{}{
|
||||||
"role": "assistant",
|
"role": "assistant",
|
||||||
@ -128,6 +140,10 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
messages := SearchStockInfo(stock, "depth")
|
messages := SearchStockInfo(stock, "depth")
|
||||||
|
if messages == nil || len(*messages) == 0 {
|
||||||
|
logger.SugaredLogger.Error("获取股票资讯失败")
|
||||||
|
return
|
||||||
|
}
|
||||||
for _, message := range *messages {
|
for _, message := range *messages {
|
||||||
msg = append(msg, map[string]interface{}{
|
msg = append(msg, map[string]interface{}{
|
||||||
"role": "assistant",
|
"role": "assistant",
|
||||||
@ -138,6 +154,10 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
|
|||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
messages := SearchStockInfo(stock, "telegram")
|
messages := SearchStockInfo(stock, "telegram")
|
||||||
|
if messages == nil || len(*messages) == 0 {
|
||||||
|
logger.SugaredLogger.Error("获取股票电报资讯失败")
|
||||||
|
return
|
||||||
|
}
|
||||||
for _, message := range *messages {
|
for _, message := range *messages {
|
||||||
msg = append(msg, map[string]interface{}{
|
msg = append(msg, map[string]interface{}{
|
||||||
"role": "assistant",
|
"role": "assistant",
|
||||||
@ -146,7 +166,6 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
msg = append(msg, map[string]interface{}{
|
msg = append(msg, map[string]interface{}{
|
||||||
"role": "user",
|
"role": "user",
|
||||||
"content": stock + "分析和总结",
|
"content": stock + "分析和总结",
|
||||||
@ -233,6 +252,7 @@ func GetFinancialReports(stockCode string) *[]string {
|
|||||||
chromedp.WithErrorf(logger.SugaredLogger.Errorf),
|
chromedp.WithErrorf(logger.SugaredLogger.Errorf),
|
||||||
)
|
)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
defer func(ctx context.Context) {
|
defer func(ctx context.Context) {
|
||||||
err := chromedp.Cancel(ctx)
|
err := chromedp.Cancel(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -520,8 +520,11 @@ func SearchStockPriceInfo(stockCode string) *[]string {
|
|||||||
// 创建一个 chromedp 上下文
|
// 创建一个 chromedp 上下文
|
||||||
ctx, cancel := chromedp.NewContext(
|
ctx, cancel := chromedp.NewContext(
|
||||||
context.Background(),
|
context.Background(),
|
||||||
|
chromedp.WithLogf(logger.SugaredLogger.Infof),
|
||||||
|
chromedp.WithErrorf(logger.SugaredLogger.Errorf),
|
||||||
)
|
)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
defer func(ctx context.Context) {
|
defer func(ctx context.Context) {
|
||||||
err := chromedp.Cancel(ctx)
|
err := chromedp.Cancel(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user