From af91d8c7f3bb583947e09ac4e5e929a3295a992d Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Wed, 29 Apr 2026 16:04:55 +0800 Subject: [PATCH] f --- .../api/services/api_request_service.go | 4 +- .../api/services/form_config_service.go | 5 +- .../processors/ivyz/ivyz2mn7_processor.go | 54 +++++++++++++++++++ 3 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 internal/domains/api/services/processors/ivyz/ivyz2mn7_processor.go diff --git a/internal/domains/api/services/api_request_service.go b/internal/domains/api/services/api_request_service.go index 16b9da9..ebd3b9b 100644 --- a/internal/domains/api/services/api_request_service.go +++ b/internal/domains/api/services/api_request_service.go @@ -331,8 +331,8 @@ func registerAllProcessors(combService *comb.CombService) { "IVYZ48SR": ivyz.ProcessIVYZ48SRRequest, //婚姻状态核验V2(双人) "IVYZ5E22": ivyz.ProcessIVYZ5E22Request, //双人婚姻评估查询zhicha版本 "IVYZRAX1": ivyz.ProcessIVYZRAX1Request, //融安信用分 - "IVYZRAX2": ivyz.ProcessIVYZRAX2Request,//融御反欺诈分 - + "IVYZRAX2": ivyz.ProcessIVYZRAX2Request, //融御反欺诈分 + "IVYZ2MN7": ivyz.ProcessIVYZ2MN7Request, //学历3 // COMB系列处理器 - 只注册有自定义逻辑的组合包 "COMB86PM": comb.ProcessCOMB86PMRequest, // 有自定义逻辑:重命名ApiCode diff --git a/internal/domains/api/services/form_config_service.go b/internal/domains/api/services/form_config_service.go index e8b39e8..81ae2c5 100644 --- a/internal/domains/api/services/form_config_service.go +++ b/internal/domains/api/services/form_config_service.go @@ -276,8 +276,9 @@ func (s *FormConfigServiceImpl) getDTOStruct(ctx context.Context, apiCode string "IVYZ5E22": &dto.IVYZ5E22Req{}, //双人婚姻评估查询zhicha版本 "DWBG5SAM": &dto.DWBG5SAMReq{}, //天远指迷报告 "QYGLDJ33": &dto.QYGLDJ33Req{}, //企业年报信息核验 - "IVYZRAX1": &dto.IVYZRAX1Req{},//融安信用分 - "IVYZRAX2": &dto.IVYZRAX1Req{},//融御反欺诈 + "IVYZRAX1": &dto.IVYZRAX1Req{}, //融安信用分 + "IVYZRAX2": &dto.IVYZRAX1Req{}, //融御反欺诈 + "IVYZ2MN7": &dto.IVYZ2MN6Req{}, //学历Bzhicha } // 优先返回已配置的DTO diff --git a/internal/domains/api/services/processors/ivyz/ivyz2mn7_processor.go b/internal/domains/api/services/processors/ivyz/ivyz2mn7_processor.go new file mode 100644 index 0000000..f607b21 --- /dev/null +++ b/internal/domains/api/services/processors/ivyz/ivyz2mn7_processor.go @@ -0,0 +1,54 @@ +package ivyz + +import ( + "context" + "encoding/json" + "errors" + + "tyapi-server/internal/domains/api/dto" + "tyapi-server/internal/domains/api/services/processors" + "tyapi-server/internal/infrastructure/external/zhicha" +) + +// ProcessIVYZ2MN7Request IVYZ2MN7 API处理方法 +func ProcessIVYZ2MN7Request(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) { + var paramsDto dto.IVYZ2MN6Req + 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) + } + + encryptedName, err := deps.ZhichaService.Encrypt(paramsDto.Name) + if err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + encryptedIDCard, err := deps.ZhichaService.Encrypt(paramsDto.IDCard) + if err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + reqData := map[string]interface{}{ + "name": encryptedName, + "idCard": encryptedIDCard, + "authorized": paramsDto.Authorized, + } + + respData, err := deps.ZhichaService.CallAPI(ctx, "ZCI035", reqData) + if err != nil { + if errors.Is(err, zhicha.ErrDatasource) { + return nil, errors.Join(processors.ErrDatasource, err) + } + return nil, errors.Join(processors.ErrSystem, err) + } + + respBytes, err := json.Marshal(respData) + if err != nil { + return nil, errors.Join(processors.ErrSystem, err) + } + + return respBytes, nil +}