This commit is contained in:
2026-06-21 19:08:18 +08:00
parent 9d373d60a5
commit c2ccdb0226
5 changed files with 156 additions and 42 deletions

View File

@@ -132,7 +132,6 @@ type QCXGA8V3Req struct {
} }
type QCXGCP77Req struct { type QCXGCP77Req struct {
VinCode string `json:"vin_code" validate:"required"` VinCode string `json:"vin_code" validate:"required"`
} }
type QCXGX2X6Req struct { type QCXGX2X6Req struct {
PlateNo string `json:"plate_no" validate:"required"` PlateNo string `json:"plate_no" validate:"required"`
@@ -174,6 +173,16 @@ type QCXG3M7ZReq struct {
Name string `json:"name" validate:"required,min=1,validName"` Name string `json:"name" validate:"required,min=1,validName"`
PlateColor string `json:"plate_color" validate:"omitempty"` PlateColor string `json:"plate_color" validate:"omitempty"`
} }
type JRZQ7D1XReq 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 JRZQTH74Req 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 QCXG76VAReq struct { type QCXG76VAReq struct {
PlateNo string `json:"plate_no" validate:"required"` PlateNo string `json:"plate_no" validate:"required"`
} }

View File

@@ -23,8 +23,8 @@ import (
"hyapi-server/internal/infrastructure/external/muzi" "hyapi-server/internal/infrastructure/external/muzi"
nuoerext "hyapi-server/internal/infrastructure/external/nuoer" nuoerext "hyapi-server/internal/infrastructure/external/nuoer"
"hyapi-server/internal/infrastructure/external/shujubao" "hyapi-server/internal/infrastructure/external/shujubao"
"hyapi-server/internal/infrastructure/external/tianyuanapi"
"hyapi-server/internal/infrastructure/external/tianyancha" "hyapi-server/internal/infrastructure/external/tianyancha"
"hyapi-server/internal/infrastructure/external/tianyuanapi"
"hyapi-server/internal/infrastructure/external/westdex" "hyapi-server/internal/infrastructure/external/westdex"
"hyapi-server/internal/infrastructure/external/xingwei" "hyapi-server/internal/infrastructure/external/xingwei"
"hyapi-server/internal/infrastructure/external/yushan" "hyapi-server/internal/infrastructure/external/yushan"
@@ -189,6 +189,9 @@ func registerAllProcessors(combService *comb.CombService) {
"JRZQLY6D": jrzq.ProcessJRZQLY6DRequest, //智瞳-通用版 "JRZQLY6D": jrzq.ProcessJRZQLY6DRequest, //智瞳-通用版
"JRZQAH34": jrzq.ProcessJRZQAH34Request, //智瞳分尊享版 "JRZQAH34": jrzq.ProcessJRZQAH34Request, //智瞳分尊享版
"JRZQML9G": jrzq.ProcessJRZQML9GRequest, //坤羽模型V3-标签版 "JRZQML9G": jrzq.ProcessJRZQML9GRequest, //坤羽模型V3-标签版
"JRZQ7D1X": jrzq.ProcessJRZQ7D1XRequest, //借贷意向V2
"JRZQTH74": jrzq.ProcessJRZQTH74Request, //团伙欺诈
// QYGL系列处理器 // QYGL系列处理器
"QYGL7HBN": qygl.ProcessQYGL7HBNRequest, //企业全景报告(聚合 QYGLUY3S/QYGLJ0Q1/QYGL5S1I "QYGL7HBN": qygl.ProcessQYGL7HBNRequest, //企业全景报告(聚合 QYGLUY3S/QYGLJ0Q1/QYGL5S1I
"QYGL9MYB": qygl.ProcessQYGL9MYBRequest, //企业股权结构全景查询 "QYGL9MYB": qygl.ProcessQYGL9MYBRequest, //企业股权结构全景查询

View File

@@ -305,6 +305,8 @@ func (s *FormConfigServiceImpl) getDTOStruct(ctx context.Context, apiCode string
"QCXGX2X6": &dto.QCXGX2X6Req{}, //行驶证信息核验V2 "QCXGX2X6": &dto.QCXGX2X6Req{}, //行驶证信息核验V2
"QCXG1S2L": &dto.QCXG1S2LReq{}, //汽车车辆五项 "QCXG1S2L": &dto.QCXG1S2LReq{}, //汽车车辆五项
"YYSYS7Y1": &dto.YYSYS7Y1Req{}, //移动手机号易诉分 "YYSYS7Y1": &dto.YYSYS7Y1Req{}, //移动手机号易诉分
"JRZQ7D1X": &dto.JRZQ7D1XReq{}, //借贷意向V2
"JRZQTH74": &dto.JRZQTH74Req{}, //团伙欺诈
} }
// 优先返回已配置的DTO // 优先返回已配置的DTO

View File

@@ -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/nuoer"
)
// ProcessJRZQ7D1XRequest JRZQVZ3Y API处理方法 - 7天1x贷
func ProcessJRZQ7D1XRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
var paramsDto dto.JRZQ7D1XReq
if err := json.Unmarshal(params, &paramsDto); 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,
"idCard": paramsDto.IDCard,
"mobile": paramsDto.MobileNo,
}
nuoerDoCheckAPIKey := "loanRiskTagV22"
ApiPath := "/v1/doCheck"
resp, err := deps.NuoerService.CallAPI(ctx, nuoerDoCheckAPIKey, ApiPath, body)
if err != nil {
if errors.Is(err, nuoer.ErrDatasource) {
return nil, errors.Join(processors.ErrDatasource, err)
}
if errors.Is(err, nuoer.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
}

View File

@@ -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/nuoer"
)
// ProcessJRZQTH74Request JRZQVZ3Y API处理方法 - 团伙欺诈
func ProcessJRZQTH74Request(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
var paramsDto dto.JRZQTH74Req
if err := json.Unmarshal(params, &paramsDto); 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,
"idCard": paramsDto.IDCard,
"mobile": paramsDto.MobileNo,
}
nuoerDoCheckAPIKey := "idRelationRisk"
ApiPath := "/v1/doCheck"
resp, err := deps.NuoerService.CallAPI(ctx, nuoerDoCheckAPIKey, ApiPath, body)
if err != nil {
if errors.Is(err, nuoer.ErrDatasource) {
return nil, errors.Join(processors.ErrDatasource, err)
}
if errors.Is(err, nuoer.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
}