new
This commit is contained in:
@@ -2,6 +2,7 @@ package services
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"tyapi-server/internal/application/api/commands"
|
||||
@@ -119,6 +120,10 @@ func registerAllProcessors(combService *comb.CombService) {
|
||||
"QYGL8271": qygl.ProcessQYGL8271Request,
|
||||
"QYGLB4C0": qygl.ProcessQYGLB4C0Request,
|
||||
"QYGL23T7": qygl.ProcessQYGL23T7Request, // 企业三要素验证
|
||||
"QYGL5A3C": qygl.ProcessQYGL5A3CRequest, // 对外投资历史
|
||||
"QYGL8B4D": qygl.ProcessQYGL8B4DRequest, // 融资历史
|
||||
"QYGL9E2F": qygl.ProcessQYGL9E2FRequest, // 行政处罚
|
||||
"QYGL7C1A": qygl.ProcessQYGL7C1ARequest, // 经营异常
|
||||
"COMENT01": qygl.ProcessCOMENT01Request, // 企业风险报告
|
||||
|
||||
// YYSY系列处理器
|
||||
@@ -151,9 +156,8 @@ func registerAllProcessors(combService *comb.CombService) {
|
||||
"IVYZ5E3F": ivyz.ProcessIVYZ5E3FRequest,
|
||||
"IVYZ7F3A": ivyz.ProcessIVYZ7F3ARequest,
|
||||
|
||||
// COMB系列处理器
|
||||
"COMB298Y": comb.ProcessCOMB298YRequest,
|
||||
"COMB86PM": comb.ProcessCOMB86PMRequest,
|
||||
// COMB系列处理器 - 只注册有自定义逻辑的组合包
|
||||
"COMB86PM": comb.ProcessCOMB86PMRequest, // 有自定义逻辑:重命名ApiCode
|
||||
|
||||
// QCXG系列处理器
|
||||
"QCXG7A2B": qcxg.ProcessQCXG7A2BRequest,
|
||||
@@ -185,10 +189,31 @@ var RequestProcessors map[string]processors.ProcessorFunc
|
||||
|
||||
// PreprocessRequestApi 调用指定的请求处理函数
|
||||
func (a *ApiRequestService) PreprocessRequestApi(ctx context.Context, apiCode string, params []byte, options *commands.ApiCallOptions, callContext *processors.CallContext) ([]byte, error) {
|
||||
// 设置Options和CallContext到依赖容器
|
||||
deps := a.processorDeps.WithOptions(options).WithCallContext(callContext)
|
||||
|
||||
// 1. 优先查找已注册的自定义处理器
|
||||
if processor, exists := RequestProcessors[apiCode]; exists {
|
||||
// 设置Options和CallContext到依赖容器
|
||||
deps := a.processorDeps.WithOptions(options).WithCallContext(callContext)
|
||||
return processor(ctx, params, deps)
|
||||
}
|
||||
|
||||
// 2. 检查是否为组合包(COMB开头),使用通用组合包处理器
|
||||
if len(apiCode) >= 4 && apiCode[:4] == "COMB" {
|
||||
return a.processGenericCombRequest(ctx, apiCode, params, deps)
|
||||
}
|
||||
|
||||
return nil, fmt.Errorf("%s: 未找到处理器: %s", ErrSystem, apiCode)
|
||||
}
|
||||
|
||||
// processGenericCombRequest 通用组合包处理器
|
||||
func (a *ApiRequestService) processGenericCombRequest(ctx context.Context, apiCode string, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
|
||||
// 调用组合包服务处理请求
|
||||
// 这里不需要验证参数,因为组合包的参数验证由各个子处理器负责
|
||||
combinedResult, err := deps.CombService.ProcessCombRequest(ctx, params, deps, apiCode)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 直接返回组合结果,无任何自定义处理
|
||||
return json.Marshal(combinedResult)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user