From dab51f7a70f133acee5c7c172c008f47977d3898 Mon Sep 17 00:00:00 2001 From: spark Date: Sat, 15 Feb 2025 15:30:46 +0800 Subject: [PATCH] =?UTF-8?q?feat(backend):=E6=B7=BB=E5=8A=A0=E6=8C=81?= =?UTF-8?q?=E4=BB=93=E6=88=90=E6=9C=AC=E4=BB=B7(costPrice)=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=88=B0=E7=94=A8=E6=88=B7=E6=8F=90=E9=97=AE=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 openai_api.go 文件中,增加了对持仓成本价的处理 - 通过查询数据库获取股票的持仓成本价,并加入到替换模板中 - 更新了问题模板的替换逻辑,支持新的成本价变量 --- backend/data/openai_api.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/backend/data/openai_api.go b/backend/data/openai_api.go index 4ea4307..ccd797b 100644 --- a/backend/data/openai_api.go +++ b/backend/data/openai_api.go @@ -114,10 +114,21 @@ func (o OpenAi) NewChatStream(stock, stockCode string) <-chan string { "content": o.Prompt, }, } - question := strutil.ReplaceWithMap(o.QuestionTemplate, map[string]string{ + + replaceTemplates := map[string]string{ "{{stockName}}": RemoveAllBlankChar(stock), "{{stockCode}}": RemoveAllBlankChar(stockCode), - }) + } + + followedStock := &FollowedStock{ + StockCode: stockCode, + } + db.Dao.Model(&followedStock).Where("stock_code = ?", stockCode).First(followedStock) + if followedStock.CostPrice > 0 { + replaceTemplates["{{costPrice}}"] = fmt.Sprintf("%.2f", followedStock.CostPrice) + } + + question := strutil.ReplaceWithMap(o.QuestionTemplate, replaceTemplates) logger.SugaredLogger.Infof("NewChatStream stock:%s stockCode:%s", stock, stockCode) logger.SugaredLogger.Infof("Prompt:%s", o.Prompt) logger.SugaredLogger.Infof("User Prompt config:%v", o.QuestionTemplate)