From 4ea7cf4ecb0276b56b0801b60e4bfeb2d255d9e3 Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Tue, 10 Feb 2026 11:27:33 +0800 Subject: [PATCH] ff --- internal/domains/api/dto/api_request_dto.go | 7 +++ .../api/services/api_request_service.go | 1 + .../api/services/form_config_service.go | 1 + .../processors/jrzq/jrzq1p5g_processor.go | 48 +++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 internal/domains/api/services/processors/jrzq/jrzq1p5g_processor.go diff --git a/internal/domains/api/dto/api_request_dto.go b/internal/domains/api/dto/api_request_dto.go index 1727eab..5a64200 100644 --- a/internal/domains/api/dto/api_request_dto.go +++ b/internal/domains/api/dto/api_request_dto.go @@ -981,3 +981,10 @@ type IVYZX5QZReq struct { type IVYZX5Q2Req struct { Token string `json:"token" validate:"required,validToken"` } + +type JRZQ1P5GReq struct { + IDCard string `json:"id_card" validate:"required,validIDCard"` + Name string `json:"name" validate:"required,min=1,validName"` + MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` + AuthAuthorizeFileCode string `json:"auth_authorize_file_code" validate:"required"` +} diff --git a/internal/domains/api/services/api_request_service.go b/internal/domains/api/services/api_request_service.go index 0946d79..20bb17c 100644 --- a/internal/domains/api/services/api_request_service.go +++ b/internal/domains/api/services/api_request_service.go @@ -148,6 +148,7 @@ func registerAllProcessors(combService *comb.CombService) { "JRZQO6L7": jrzq.ProcessJRZQO6L7Request, // 全国自然人经济特征评分模型v3 简版 "JRZQO7L1": jrzq.ProcessJRZQO7L1Request, // 全国自然人经济特征评分模型v4 详版 "JRZQS7G0": jrzq.ProcessJRZQS7G0Request, // 社保综合评分V1 + "JRZQ1P5G": jrzq.ProcessJRZQ1P5GRequest, // 全国自然人借贷压力指数查询(2) // QYGL系列处理器 "QYGL8261": qygl.ProcessQYGL8261Request, diff --git a/internal/domains/api/services/form_config_service.go b/internal/domains/api/services/form_config_service.go index 802d23e..800e0a0 100644 --- a/internal/domains/api/services/form_config_service.go +++ b/internal/domains/api/services/form_config_service.go @@ -254,6 +254,7 @@ func (s *FormConfigServiceImpl) getDTOStruct(ctx context.Context, apiCode string "QCXGY7F2": &dto.QCXGY7F2Req{}, //二手车VIN估值 10443 "YYSYK9R4": &dto.YYSYK9R4Req{}, //全网手机三要素验证1979周更新版 "QCXG3M7Z": &dto.QCXG3M7ZReq{}, //人车关系核验(ETC)10093 月更 + "JRZQ1P5G": &dto.JRZQ1P5GReq{}, //全国自然人借贷压力指数查询(2) } // 优先返回已配置的DTO diff --git a/internal/domains/api/services/processors/jrzq/jrzq1p5g_processor.go b/internal/domains/api/services/processors/jrzq/jrzq1p5g_processor.go new file mode 100644 index 0000000..cceb44d --- /dev/null +++ b/internal/domains/api/services/processors/jrzq/jrzq1p5g_processor.go @@ -0,0 +1,48 @@ +package jrzq + +import ( + "context" + "encoding/json" + "errors" + + "tyapi-server/internal/domains/api/dto" + "tyapi-server/internal/domains/api/services/processors" + "tyapi-server/internal/infrastructure/external/xingwei" +) + +// ProcessJRZQ1P5GRequest JRZQ1P5G 全国自然人借贷压力指数查询(2) - xingwei service +func ProcessJRZQ1P5GRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) { + var paramsDto dto.JRZQ1P5GReq + if err := json.Unmarshal(params, ¶msDto); err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + if err := deps.Validator.ValidateStruct(paramsDto); err != nil { + return nil, errors.Join(processors.ErrInvalidParam, err) + } + + // 构建请求数据,将项目规范的字段名转换为 XingweiService 需要的字段名 + reqData := map[string]interface{}{ + "name": paramsDto.Name, + "idCardNum": paramsDto.IDCard, + "phoneNumber": paramsDto.MobileNo, + "authAuthorizeFileCode": paramsDto.AuthAuthorizeFileCode, + } + + // 调用行为数据API,使用指定的project_id + projectID := "CDJ-1101695364016041984" + respBytes, err := deps.XingweiService.CallAPI(ctx, projectID, reqData) + if err != nil { + if errors.Is(err, xingwei.ErrNotFound) { + return nil, errors.Join(processors.ErrNotFound, err) + } else if errors.Is(err, xingwei.ErrDatasource) { + return nil, errors.Join(processors.ErrDatasource, err) + } else if errors.Is(err, xingwei.ErrSystem) { + return nil, errors.Join(processors.ErrSystem, err) + } else { + return nil, errors.Join(processors.ErrSystem, err) + } + } + + return respBytes, nil +}