diff --git a/internal/domains/api/services/form_config_service.go b/internal/domains/api/services/form_config_service.go index 18f3a6e..ac2abbc 100644 --- a/internal/domains/api/services/form_config_service.go +++ b/internal/domains/api/services/form_config_service.go @@ -533,9 +533,9 @@ func (s *FormConfigServiceImpl) generateExampleValue(fieldType reflect.Type, jso "token": "0fc79b80371f45e2ac1c693ef9136b24", "vehicle_name": "车型名称,示例:凌派 2020款 锐·混动 1.5L 锐·舒适版", "vehicle_location": "车辆所在地,示例:北京市", - "first_registrationdate": "首次登记日期,示例:2020-01-01", - "color": "颜色,示例:白色", - "plate_color": "车牌颜色,示例:蓝", + "first_registrationdate": "初登日期,示例:2020-05", + "color": "示例:白色", + "plate_color": "车牌颜色(0:蓝色,1:黄色,2:黑色,3:白色,4:渐变绿色,5:黄绿双拼色,6:蓝白渐变色,7:临时牌照,11:绿色,12:红色)默认标准车牌查蓝色,新能源车牌查绿色)", } if example, exists := exampleMap[jsonTag]; exists { @@ -604,7 +604,7 @@ func (s *FormConfigServiceImpl) generatePlaceholder(jsonTag string, fieldType st "token": "请输入token", "vehicle_name": "请输入车型名称", "vehicle_location": "请输入车辆所在地", - "first_registrationdate": "请输入首次登记日期", + "first_registrationdate": "请输入首次登记日期,格式:YYYY-MM", "color": "请输入颜色", "plate_color": "请输入车牌颜色", } @@ -675,9 +675,9 @@ func (s *FormConfigServiceImpl) generateDescription(jsonTag string, validation s "image_url": "行驶证图片地址(必填):请提供行驶证的图片URL地址", "reg_url": "车辆登记证图片地址(非必填):请提供车辆登记证的图片URL地址", "token": "token采集及获取结果时所使用的凭证,有效期2个小时,在此时效内,应用侧可以发起采集请求(重复的采集所触发的结果会被忽略)和结果查询", - "vehicle_name": "车型名称", + "vehicle_name": "车型名称,示例:凌派 2020款 锐·混动 1.5L 锐·舒适版", "vehicle_location": "车辆所在地", - "first_registrationdate": "首次登记日期", + "first_registrationdate": "首次登记日期,格式:YYYY-MM", "color": "颜色", "plate_color": "车牌颜色", } diff --git a/internal/domains/api/services/processors/jrzq/jrzqacab_processor.go b/internal/domains/api/services/processors/jrzq/jrzqacab_processor.go index f029219..e4b9e02 100644 --- a/internal/domains/api/services/processors/jrzq/jrzqacab_processor.go +++ b/internal/domains/api/services/processors/jrzq/jrzqacab_processor.go @@ -37,6 +37,9 @@ func ProcessJRZQACABERequest(ctx context.Context, params []byte, deps *processor 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxg3b8z_processor.go b/internal/domains/api/services/processors/qcxg/qcxg3b8z_processor.go index 917a6aa..8dcdfbe 100644 --- a/internal/domains/api/services/processors/qcxg/qcxg3b8z_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxg3b8z_processor.go @@ -34,6 +34,9 @@ func ProcessQCXG3B8ZRequest(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxg3m7z_processor.go b/internal/domains/api/services/processors/qcxg/qcxg3m7z_processor.go index c14c53b..1be1ed4 100644 --- a/internal/domains/api/services/processors/qcxg/qcxg3m7z_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxg3m7z_processor.go @@ -36,6 +36,9 @@ func ProcessQCXG3M7ZRequest(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxg5u0z_processor.go b/internal/domains/api/services/processors/qcxg/qcxg5u0z_processor.go index c5e8446..06ff8a0 100644 --- a/internal/domains/api/services/processors/qcxg/qcxg5u0z_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxg5u0z_processor.go @@ -22,8 +22,8 @@ func ProcessQCXG5U0ZRequest(ctx context.Context, params []byte, deps *processors } reqParams := map[string]interface{}{ - "key": "7c8122677476dd2621f574976f1a9fde", - "vin": paramsDto.VinCode, + "key": "7c8122677476dd2621f574976f1a9fde", + "vinList": paramsDto.VinCode, } apiPath := "/communication/personal/10479" @@ -32,6 +32,9 @@ func ProcessQCXG5U0ZRequest(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxg9f5c_processor.go b/internal/domains/api/services/processors/qcxg/qcxg9f5c_processor.go index 09099c5..111c9f3 100644 --- a/internal/domains/api/services/processors/qcxg/qcxg9f5c_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxg9f5c_processor.go @@ -34,6 +34,9 @@ func ProcessQCXG9F5CERequest(ctx context.Context, params []byte, deps *processor 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxgm7r9_processor.go b/internal/domains/api/services/processors/qcxg/qcxgm7r9_processor.go index c796452..d664233 100644 --- a/internal/domains/api/services/processors/qcxg/qcxgm7r9_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxgm7r9_processor.go @@ -34,6 +34,9 @@ func ProcessQCXGM7R9Request(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxgp1w3_processor.go b/internal/domains/api/services/processors/qcxg/qcxgp1w3_processor.go index d923231..6af482e 100644 --- a/internal/domains/api/services/processors/qcxg/qcxgp1w3_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxgp1w3_processor.go @@ -34,6 +34,9 @@ func ProcessQCXGP1W3Request(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxgu2k4_processor.go b/internal/domains/api/services/processors/qcxg/qcxgu2k4_processor.go index 8f94d17..373024a 100644 --- a/internal/domains/api/services/processors/qcxg/qcxgu2k4_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxgu2k4_processor.go @@ -34,6 +34,9 @@ func ProcessQCXGU2K4Request(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/qcxg/qcxgy7f2_processor.go b/internal/domains/api/services/processors/qcxg/qcxgy7f2_processor.go index 4182596..7eb39c8 100644 --- a/internal/domains/api/services/processors/qcxg/qcxgy7f2_processor.go +++ b/internal/domains/api/services/processors/qcxg/qcxgy7f2_processor.go @@ -36,6 +36,9 @@ func ProcessQCXGY7F2Request(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/domains/api/services/processors/yysy/yysyk9r4_processor.go b/internal/domains/api/services/processors/yysy/yysyk9r4_processor.go index 259a573..456922f 100644 --- a/internal/domains/api/services/processors/yysy/yysyk9r4_processor.go +++ b/internal/domains/api/services/processors/yysy/yysyk9r4_processor.go @@ -36,6 +36,9 @@ func ProcessYYSYK9R4Request(ctx context.Context, params []byte, deps *processors 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) } diff --git a/internal/infrastructure/external/shujubao/shujubao_errors.go b/internal/infrastructure/external/shujubao/shujubao_errors.go index ddf5ce9..cd5fc94 100644 --- a/internal/infrastructure/external/shujubao/shujubao_errors.go +++ b/internal/infrastructure/external/shujubao/shujubao_errors.go @@ -31,12 +31,15 @@ func NewShujubaoError(code, message string) *ShujubaoError { // 数据宝全系统错误码与描述映射(Code -> Desc) var systemErrorCodeDesc = map[string]string{ "10000": "成功", - "10001": "参数传入有误", + "10001": "查空", "10002": "查询失败", "10003": "系统处理异常", "10004": "系统处理超时", "10005": "服务异常", "10006": "查无", + "10017": "查询失败", + "10018": "参数错误", + "10019": "系统异常", "10020": "同一参数请求次数超限", "99999": "其他错误", "999": "接口处理异常", diff --git a/internal/infrastructure/external/shujubao/shujubao_service.go b/internal/infrastructure/external/shujubao/shujubao_service.go index 06c10a7..9eacbcc 100644 --- a/internal/infrastructure/external/shujubao/shujubao_service.go +++ b/internal/infrastructure/external/shujubao/shujubao_service.go @@ -20,6 +20,7 @@ import ( var ( ErrDatasource = errors.New("数据源异常") ErrSystem = errors.New("系统异常") + ErrQueryEmpty = errors.New("查询为空") ) // ShujubaoResp 数据宝 API 通用响应(按实际文档调整) @@ -253,7 +254,10 @@ func (s *ShujubaoService) CallAPI(ctx context.Context, apiPath string, params ma } code := shujubaoResp.Code - if code != "10000" && code != "10006" { + if code == "10001" || code == "10006" { + return nil, ErrQueryEmpty + } + if code != "10000" { shujubaoErr := NewShujubaoErrorFromCode(code, shujubaoResp.Message) if s.logger != nil { s.logger.LogError(requestID, transactionID, apiPath, shujubaoErr, params)