From 7c4cbd2bee896c56922d9e355fae01be7c347fbc Mon Sep 17 00:00:00 2001 From: Mrxs <18278715334@163.com> Date: Fri, 24 Jul 2026 13:15:02 +0800 Subject: [PATCH] add --- 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/jrzq5j5c_processor.go | 50 +++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 internal/domains/api/services/processors/jrzq/jrzq5j5c_processor.go diff --git a/internal/domains/api/dto/api_request_dto.go b/internal/domains/api/dto/api_request_dto.go index 4739679..d788fcf 100644 --- a/internal/domains/api/dto/api_request_dto.go +++ b/internal/domains/api/dto/api_request_dto.go @@ -233,6 +233,13 @@ type JRZQH6M3Req struct { MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` } +// JRZQ5J5CReq 无间司南-纯黑版C10 金融黑名单 +type JRZQ5J5CReq struct { + Name string `json:"name" validate:"required,min=1,validName"` + IDCard string `json:"id_card" validate:"required,validIDCard"` + MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` +} + // JRZQW3L8Req 信用司南 type JRZQW3L8Req struct { Name string `json:"name" validate:"required,min=1,validName"` diff --git a/internal/domains/api/services/api_request_service.go b/internal/domains/api/services/api_request_service.go index e91f2c2..c89573e 100644 --- a/internal/domains/api/services/api_request_service.go +++ b/internal/domains/api/services/api_request_service.go @@ -215,6 +215,7 @@ func registerAllProcessors(combService *comb.CombService) { "JRZQS74D": jrzq.ProcessJRZQS74DRequest, //申请借贷 "JRZQ2F4W": jrzq.ProcessJRZQ2F4WRequest, //支付行为 "JRZQ2PV2": jrzq.ProcessJRZQ2PV2Request, //租赁通用版v2 + "JRZQ5J5C": jrzq.ProcessJRZQ5J5CRequest, //无间司南-纯黑版C10 金融黑名单 // QYGL系列处理器 "QYGL7HBN": qygl.ProcessQYGL7HBNRequest, //企业全景报告(聚合 QYGLUY3S/QYGLJ0Q1/QYGL5S1I) diff --git a/internal/domains/api/services/form_config_service.go b/internal/domains/api/services/form_config_service.go index 4593f97..5d752f2 100644 --- a/internal/domains/api/services/form_config_service.go +++ b/internal/domains/api/services/form_config_service.go @@ -331,6 +331,7 @@ func (s *FormConfigServiceImpl) getDTOStruct(ctx context.Context, apiCode string "QCXGVJ70": &dto.QCXGVJ70Req{}, //车牌号查vin "QCXG2Y8X": &dto.QCXG2Y8XReq{}, //商业险有效性 "QCXG74YT": &dto.QCXG74YTReq{}, //交强险有效性 + "JRZQ5J5C": &dto.JRZQ5J5CReq{}, //无间司南-纯黑版C10 金融黑名单 } // 优先返回已配置的DTO diff --git a/internal/domains/api/services/processors/jrzq/jrzq5j5c_processor.go b/internal/domains/api/services/processors/jrzq/jrzq5j5c_processor.go new file mode 100644 index 0000000..d76e63b --- /dev/null +++ b/internal/domains/api/services/processors/jrzq/jrzq5j5c_processor.go @@ -0,0 +1,50 @@ +package jrzq + +import ( + "context" + "encoding/json" + "errors" + + "hyapi-server/internal/domains/api/dto" + "hyapi-server/internal/domains/api/services/processors" + "hyapi-server/internal/infrastructure/external/jiyi" +) + +// ProcessJRZQ5J5CRequest 无间司南-纯黑A版(上游 jy000052) +func ProcessJRZQ5J5CRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) { + var paramsDto dto.JRZQ5J5CReq + 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) + } + + body := map[string]string{ + "name": paramsDto.Name, + "idNo": paramsDto.IDCard, + "mobile": paramsDto.MobileNo, + } + + apiKey := "jy000052" + apiPath := "/api/v1/wujsinan/blacka" + + resp, err := deps.JiyiService.CallAPI(ctx, apiKey, apiPath, body, jiyi.TopEncryptionOptions(1)) + if err != nil { + if errors.Is(err, jiyi.ErrDatasource) { + return nil, errors.Join(processors.ErrDatasource, err) + } + if errors.Is(err, jiyi.ErrNotFound) { + return nil, errors.Join(processors.ErrNotFound, err) + } + return nil, errors.Join(processors.ErrSystem, err) + } + + respBytes, err := json.Marshal(resp.Data) + if err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + return respBytes, nil +}