From 368dc2669caf9ba00158ef4be833530dd8b89cc3 Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Fri, 24 Oct 2025 17:18:46 +0800 Subject: [PATCH] add jrzq0l85 --- internal/domains/api/dto/api_request_dto.go | 6 +++ .../api/services/api_request_service.go | 1 + .../api/services/form_config_service.go | 1 + .../processors/jrzq/jrzq0l85_processor.go | 47 +++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 internal/domains/api/services/processors/jrzq/jrzq0l85_processor.go diff --git a/internal/domains/api/dto/api_request_dto.go b/internal/domains/api/dto/api_request_dto.go index 46047c3..0bd763f 100644 --- a/internal/domains/api/dto/api_request_dto.go +++ b/internal/domains/api/dto/api_request_dto.go @@ -478,6 +478,12 @@ type JRZQ9D4EReq struct { MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` } +type JRZQ0L85Req 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"` +} + type FLXG7E8FReq struct { Name string `json:"name" validate:"required,min=1,validName"` IDCard string `json:"id_card" validate:"required,validIDCard"` diff --git a/internal/domains/api/services/api_request_service.go b/internal/domains/api/services/api_request_service.go index cc08b5b..a4a2477 100644 --- a/internal/domains/api/services/api_request_service.go +++ b/internal/domains/api/services/api_request_service.go @@ -118,6 +118,7 @@ func registerAllProcessors(combService *comb.CombService) { "JRZQ6F2A": jrzq.ProcessJRZQ6F2ARequest, "JRZQ8B3C": jrzq.ProcessJRZQ8B3CRequest, "JRZQ9D4E": jrzq.ProcessJRZQ9D4ERequest, + "JRZQ0L85": jrzq.ProcessJRZQ0L85Request, // 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 c5c377c..a2eaefe 100644 --- a/internal/domains/api/services/form_config_service.go +++ b/internal/domains/api/services/form_config_service.go @@ -153,6 +153,7 @@ func (s *FormConfigServiceImpl) getDTOStruct(apiCode string) interface{} { "QYGL5F6A": &dto.QYGL5F6AReq{}, "IVYZ6G7H": &dto.IVYZ6G7HReq{}, "IVYZ8I9J": &dto.IVYZ8I9JReq{}, + "JRZQ0L85": &dto.JRZQ0L85Req{}, } // 优先返回已配置的DTO diff --git a/internal/domains/api/services/processors/jrzq/jrzq0l85_processor.go b/internal/domains/api/services/processors/jrzq/jrzq0l85_processor.go new file mode 100644 index 0000000..42e2ba7 --- /dev/null +++ b/internal/domains/api/services/processors/jrzq/jrzq0l85_processor.go @@ -0,0 +1,47 @@ +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" +) + +// ProcessJRZQ0L85Request JRZQ0L85 API处理方法 - xingwei service +func ProcessJRZQ0L85Request(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) { + var paramsDto dto.JRZQ0L85Req + 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, + } + + // 调用行为数据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 +}