f
This commit is contained in:
@@ -86,6 +86,23 @@ var productHandlers = map[string]queryHandlerFunc{
|
||||
"toc_VehicleMaintenanceDetail": runVehicleMaintenanceDetailReq,
|
||||
"toc_VehicleClaimDetail": runVehicleClaimDetailReq,
|
||||
"toc_VehicleClaimVerify": runVehicleClaimVerifyReq,
|
||||
// 核验工具(verify feature.md)
|
||||
"toc_PoliceTwoFactors": runVerifyAuthTwoReq,
|
||||
"toc_PoliceThreeFactors": runVerifyAuthThreeReq,
|
||||
"toc_ProfessionalCertificate": runVerifyCertReq,
|
||||
"toc_PersonalConsumptionCapacityLevel": runVerifyConsumptionReq, // 个人消费能力(沿用现有 product_en)
|
||||
"toc_OperatorTwoFactors": runVerifyYysTwoReq,
|
||||
"toc_MobileThreeFactors": runVerifyYysThreeReq,
|
||||
"toc_NumberRecycle": runVerifyMobileOnlyReq,
|
||||
"toc_MobileEmptyCheck": runVerifyMobileOnlyReq,
|
||||
"toc_MobilePortability": runVerifyMobileOnlyReq,
|
||||
"toc_MobileOnlineStatus": runVerifyMobileOnlyReq,
|
||||
"toc_MobileOnlineDuration": runVerifyMobileOnlyReq,
|
||||
"toc_MobileAttribution": runVerifyMobileOnlyReq,
|
||||
"toc_MobileConsumptionRange": runVerifyYysConsumptionReq,
|
||||
"toc_EnterpriseRelation": runVerifyEntRelationReq,
|
||||
"toc_BankcardFourFactors": runVerifyBankFourReq,
|
||||
"toc_BankcardBlacklist": runVerifyBankBlackReq,
|
||||
}
|
||||
|
||||
func (l *QueryServiceLogic) PreprocessLogic(req *types.QueryServiceReq, product string) (*types.QueryServiceResp, error) {
|
||||
@@ -242,8 +259,10 @@ func runVehicleVinCodeReq(l *QueryServiceLogic, decryptData []byte, product stri
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VinCode,
|
||||
@@ -259,13 +278,15 @@ func runVehicleMileageMixedReq(l *QueryServiceLogic, decryptData []byte, product
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
// 回调地址由后端在 ApiRequestService 中统一生成,此处不再下发 return_url
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VinCode,
|
||||
"return_url": data.ReturnURL,
|
||||
"image_url": data.ImageURL,
|
||||
"vin_code": data.VinCode,
|
||||
"image_url": data.ImageURL,
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -278,8 +299,10 @@ func runVehicleVinValuationReq(l *QueryServiceLogic, decryptData []byte, product
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VinCode,
|
||||
@@ -297,13 +320,15 @@ func runVehicleTransferSimpleReq(l *QueryServiceLogic, decryptData []byte, produ
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
return map[string]interface{}{"vin_code": data.VinCode}, nil
|
||||
}
|
||||
|
||||
// runVehicleMaintenanceSimpleReq 车辆维保简版 QCXG3Y6B(仅必填 vin_code, return_url)
|
||||
// runVehicleMaintenanceSimpleReq 车辆维保简版 QCXG3Y6B(仅必填 vin_code;回调地址后端自动生成)
|
||||
func runVehicleMaintenanceSimpleReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVehicleMaintenanceSimpleReq
|
||||
if unmarshalErr := json.Unmarshal(decryptData, &data); unmarshalErr != nil {
|
||||
@@ -312,16 +337,18 @@ func runVehicleMaintenanceSimpleReq(l *QueryServiceLogic, decryptData []byte, pr
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
// 回调地址由后端在 ApiRequestService 中统一生成,此处不再下发 return_url
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VinCode,
|
||||
"return_url": data.ReturnURL,
|
||||
"vin_code": data.VinCode,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// runVehicleMaintenanceDetailReq 车辆维保详细版 QCXG3Z3L(仅必填 vin_code, return_url)
|
||||
// runVehicleMaintenanceDetailReq 车辆维保详细版 QCXG3Z3L(仅必填 vin_code;回调地址后端自动生成)
|
||||
func runVehicleMaintenanceDetailReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVehicleMaintenanceDetailReq
|
||||
if unmarshalErr := json.Unmarshal(decryptData, &data); unmarshalErr != nil {
|
||||
@@ -330,16 +357,18 @@ func runVehicleMaintenanceDetailReq(l *QueryServiceLogic, decryptData []byte, pr
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
// 回调地址由后端在 ApiRequestService 中统一生成,此处不再下发 return_url
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VinCode,
|
||||
"return_url": data.ReturnURL,
|
||||
"vin_code": data.VinCode,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// runVehicleClaimDetailReq 车辆出险详版 QCXGP00W(仅必填 vin_code, return_url, vlphoto_data),vlphoto_data 由 API 层加密为 data
|
||||
// runVehicleClaimDetailReq 车辆出险详版 QCXGP00W(仅必填 vin_code, vlphoto_data;回调地址后端自动生成),vlphoto_data 由 API 层加密为 data
|
||||
func runVehicleClaimDetailReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVehicleClaimDetailReq
|
||||
if unmarshalErr := json.Unmarshal(decryptData, &data); unmarshalErr != nil {
|
||||
@@ -348,12 +377,14 @@ func runVehicleClaimDetailReq(l *QueryServiceLogic, decryptData []byte, product
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
// 回调地址由后端在 ApiRequestService 中统一生成,此处不再下发 return_url
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VinCode,
|
||||
"return_url": data.ReturnURL,
|
||||
"vlphoto_data": data.VlphotoData,
|
||||
}, nil
|
||||
}
|
||||
@@ -367,12 +398,151 @@ func runVehicleClaimVerifyReq(l *QueryServiceLogic, decryptData []byte, product
|
||||
if validatorErr := validator.Validate(data); validatorErr != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, validatorErr.Error()), "查询服务, 参数不正确: %+v", validatorErr)
|
||||
}
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
if data.Mobile != "" && data.Code != "" {
|
||||
if verifyCodeErr := l.VerifyCode(data.Mobile, data.Code); verifyCodeErr != nil {
|
||||
return nil, verifyCodeErr
|
||||
}
|
||||
}
|
||||
auth := data.Authorized
|
||||
if auth == "" {
|
||||
auth = "1"
|
||||
}
|
||||
return map[string]interface{}{
|
||||
"vin_code": data.VINCode,
|
||||
"authorized": data.Authorized,
|
||||
"authorized": auth,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// --------------- 核验工具 handlers ---------------
|
||||
func runVerifyAuthTwoReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyAuthTwoReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"mobile_no": data.MobileNo, "id_card": data.IDCard, "name": data.Name}, nil
|
||||
}
|
||||
|
||||
func runVerifyAuthThreeReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyAuthThreeReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"photo_data": data.PhotoData, "id_card": data.IDCard, "name": data.Name}, nil
|
||||
}
|
||||
|
||||
func runVerifyCertReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyCertReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"id_card": data.IDCard, "name": data.Name}, nil
|
||||
}
|
||||
|
||||
func runVerifyConsumptionReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyConsumptionReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"mobile_no": data.MobileNo, "id_card": data.IDCard, "name": data.Name}, nil
|
||||
}
|
||||
|
||||
func runVerifyYysTwoReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyYysTwoReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"mobile_no": data.MobileNo, "name": data.Name}, nil
|
||||
}
|
||||
|
||||
func runVerifyYysThreeReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyYysThreeReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"mobile_no": data.MobileNo, "id_card": data.IDCard, "name": data.Name}, nil
|
||||
}
|
||||
|
||||
func runVerifyMobileOnlyReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyMobileOnlyReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"mobile_no": data.MobileNo}, nil
|
||||
}
|
||||
|
||||
func runVerifyYysConsumptionReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyYysConsumptionReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{"mobile_no": data.MobileNo, "authorized": data.Authorized}, nil
|
||||
}
|
||||
|
||||
func runVerifyEntRelationReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyEntRelationReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
out := map[string]interface{}{}
|
||||
if data.IDCard != "" {
|
||||
out["id_card"] = data.IDCard
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func runVerifyBankFourReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyBankFourReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{
|
||||
"mobile_no": data.MobileNo,
|
||||
"id_card": data.IDCard,
|
||||
"bank_card": data.BankCard,
|
||||
"name": data.Name,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func runVerifyBankBlackReq(l *QueryServiceLogic, decryptData []byte, product string) (map[string]interface{}, error) {
|
||||
var data types.TocVerifyBankBlackReq
|
||||
if err := json.Unmarshal(decryptData, &data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "查询服务, 解密后的数据格式不正确: %+v", err)
|
||||
}
|
||||
if err := validator.Validate(data); err != nil {
|
||||
return nil, errors.Wrapf(xerr.NewErrCodeMsg(xerr.PARAM_VERIFICATION_ERROR, err.Error()), "查询服务, 参数不正确: %+v", err)
|
||||
}
|
||||
return map[string]interface{}{
|
||||
"mobile_no": data.MobileNo,
|
||||
"id_card": data.IDCard,
|
||||
"name": data.Name,
|
||||
"bank_card": data.BankCard,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user