This commit is contained in:
2026-07-25 14:14:05 +08:00
parent 896e957354
commit ca18bdacf9
4 changed files with 52 additions and 0 deletions

View File

@@ -130,6 +130,9 @@ type QYGL7HBNReq struct {
type QCXGA8V3Req struct { type QCXGA8V3Req struct {
VinCode string `json:"vin_code" validate:"required"` VinCode string `json:"vin_code" validate:"required"`
} }
type QCXG8N4RReq struct {
PlateNo string `json:"plate_no" validate:"required"`
}
type QCXGH3R8Req struct { type QCXGH3R8Req struct {
VinCode string `json:"vin_code" validate:"required"` VinCode string `json:"vin_code" validate:"required"`
} }

View File

@@ -227,6 +227,7 @@ func registerAllProcessors(combService *comb.CombService) {
"QYGL7Z0O": qygl.ProcessQYGL7Z0ORequest, //企业诉讼定制版 "QYGL7Z0O": qygl.ProcessQYGL7Z0ORequest, //企业诉讼定制版
"QYGLLUCM": qygl.ProcessQYGLLUCMRequest, //企业案件查询汇博 "QYGLLUCM": qygl.ProcessQYGLLUCMRequest, //企业案件查询汇博
"QCXGA8V3": qcxg.ProcessQCXGA8V3Request, //全国车辆配置查验(车五项+使用性质+承保) "QCXGA8V3": qcxg.ProcessQCXGA8V3Request, //全国车辆配置查验(车五项+使用性质+承保)
"QCXG8N4R": qcxg.ProcessQCXG8N4RRequest, //全国车辆配置查验(车五项+使用性质10186
"QCXGCP77": qcxg.ProcessQCXGCP77Request, //全国车辆配置查验(车辆详情) "QCXGCP77": qcxg.ProcessQCXGCP77Request, //全国车辆配置查验(车辆详情)
"QCXGX2X6": qcxg.ProcessQCXGX2X6Request, //行驶证信息核验V2 "QCXGX2X6": qcxg.ProcessQCXGX2X6Request, //行驶证信息核验V2
"QCXG1S2L": qcxg.ProcessQCXG1S2LRequest, //汽车车辆五项 "QCXG1S2L": qcxg.ProcessQCXG1S2LRequest, //汽车车辆五项

View File

@@ -302,6 +302,7 @@ func (s *FormConfigServiceImpl) getDTOStruct(ctx context.Context, apiCode string
"FLXGC4CT": &dto.FLXGC4CTReq{}, //汇博-个人涉诉 "FLXGC4CT": &dto.FLXGC4CTReq{}, //汇博-个人涉诉
"QYGLLUCM": &dto.QYGLLUCMReq{}, //汇博-企业涉诉 "QYGLLUCM": &dto.QYGLLUCMReq{}, //汇博-企业涉诉
"QCXGA8V3": &dto.QCXGA8V3Req{}, //全国车辆配置查验(车五项+使用性质+承保) "QCXGA8V3": &dto.QCXGA8V3Req{}, //全国车辆配置查验(车五项+使用性质+承保)
"QCXG8N4R": &dto.QCXG8N4RReq{}, //全国车辆配置查验(车五项+使用性质10186
"QCXGH3R8": &dto.QCXGH3R8Req{}, //车辆注册日期查询VIN "QCXGH3R8": &dto.QCXGH3R8Req{}, //车辆注册日期查询VIN
"QCXGK5M2": &dto.QCXGK5M2Req{}, //车辆投保日期与城市查询VIN "QCXGK5M2": &dto.QCXGK5M2Req{}, //车辆投保日期与城市查询VIN
"QCXGCP77": &dto.QCXGCP77Req{}, //全国车辆配置查验(车辆详情) "QCXGCP77": &dto.QCXGCP77Req{}, //全国车辆配置查验(车辆详情)

View File

@@ -0,0 +1,47 @@
package qcxg
import (
"context"
"encoding/json"
"errors"
"hyapi-server/internal/domains/api/dto"
"hyapi-server/internal/domains/api/services/processors"
"hyapi-server/internal/infrastructure/external/shujubao"
)
// ProcessQCXG8N4RRequest QCXG8N4R 全国车辆配置查验(车五项+使用性质10186
// 查空不计费,仅数据源 code=10000 计费
func ProcessQCXG8N4RRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
var paramsDto dto.QCXG8N4RReq
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)
}
reqParams := map[string]interface{}{
"key": "5d253801dbde7ccd75639449b6c91fe2",
"carNo": paramsDto.PlateNo,
}
apiPath := "/communication/personal/10186"
data, err := deps.ShujubaoService.CallAPI(ctx, apiPath, reqParams)
if err != nil {
if errors.Is(err, shujubao.ErrDatasource) {
return nil, errors.Join(processors.ErrDatasource, err)
}
if errors.Is(err, shujubao.ErrQueryEmpty) {
return nil, errors.Join(processors.ErrNotFound, err)
}
return nil, errors.Join(processors.ErrSystem, err)
}
respBytes, err := json.Marshal(data)
if err != nil {
return nil, errors.Join(processors.ErrSystem, err)
}
return respBytes, nil
}