fix: 替换请求头转发方式并修复空指针拦截

移除 util.ForwardHeaders,改为从 GoFrame 请求上下文直接提取原始请求头;新增 GetFileBytesFromURL 方法替代 DownloadFile 下载 OSS 文件;增加 composeTask 空指针校验防止异常;调整数据库连接池参数。
This commit is contained in:
2026-06-18 10:06:49 +08:00
parent eb28c2d1e0
commit dd79643170
3 changed files with 80 additions and 12 deletions

View File

@@ -4,14 +4,13 @@ import (
"context"
"errors"
"fmt"
"prompts-core/service/session"
"prompts-core/common/util"
"prompts-core/consts/public"
"prompts-core/dao"
"prompts-core/model/dto"
"prompts-core/model/entity"
"prompts-core/service/gateway"
"prompts-core/service/session"
"gitea.redpowerfuture.com/red-future/common/beans"
"gitea.redpowerfuture.com/red-future/common/utils"
@@ -137,12 +136,17 @@ func Callback(ctx context.Context, req *dto.CallbackReq) error {
if err != nil {
return fmt.Errorf("查询任务失败: %w", err)
}
// 新增空指针拦截
if composeTask == nil {
g.Log().Infof(ctx, "[回调处理] composeTask 模型配置为空,无法查询模型配置 taskId=%s,req=%v", req.TaskId, req.State)
return fmt.Errorf("composeTask 任务对象为空,无法查询模型配置 taskId=%s,req=%v", req.TaskId, req.State)
}
// 2) 读取 OSS 文件内容
var ossContent []byte
if req.OssFile != "" {
ossContent, err = gateway.DownloadFile(req.OssFile)
ossContent, err = gateway.GetFileBytesFromURL(ctx, req.OssFile)
if err != nil {
g.Log().Infof(ctx, "[回调处理] 读取OSS文件 taskId=%s,state=%v,ossFile=%v", req.TaskId, req.State, req.OssFile)
g.Log().Warningf(ctx, "[回调处理] 读取OSS失败 taskId=%s err=%v", req.TaskId, err)
}
}