Procházet zdrojové kódy

阳光加入递归限制。

785834757 před 3 měsíci
rodič
revize
4d50ea794c

+ 9 - 4
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/service/impl/YangGuangApiRequestImpl.java

@@ -93,7 +93,7 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
         // 报价
         YangGuangAccuracyCalculateRequest yangGuangAccuracyCalculateRequest = new YangGuangAccuracyCalculateRequest(quoteVo, carModel, parameters);
         yangGuangAccuracyCalculateRequest.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
-        return recursiveQuote(yangGuangAccuracyCalculateRequest, carModel, yangGuangQueryVehicleModelResponse,quoteVo, parameters, url);
+        return recursiveQuote(yangGuangAccuracyCalculateRequest, carModel, yangGuangQueryVehicleModelResponse,quoteVo, parameters, url, 0);
     }
 
     /**
@@ -106,9 +106,14 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
                                           YangGuangQueryVehicleModelResponse.carmodellist carModel,
                                           YangGuangQueryVehicleModelResponse yangGuangQueryVehicleModelResponse,
                                           QuoteVo quoteVo,
-                                          YangGuangConfigureParameters parameters,String url) throws JsonProcessingException {
+                                          YangGuangConfigureParameters parameters,String url,int quoteNum) throws JsonProcessingException {
+
 
         YangGuangAccuracyCalculateResponse response = yangGuangApiRequestComponent.accuracyCalculaye(request,url);
+        //加入限制
+        if (quoteNum >= 3) {
+            return handleFailedQuote(response, quoteVo);
+        }
         if (!response.getErrorCode().equals("0") || StringUtils.isNotEmpty(response.getRemarkCi())) {
             String endDate = extractEndDate(response);
             // 交强重复投保处理
@@ -120,7 +125,7 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
                 quoteVo.getCiRiskInfoVo().setStartDate(newDateStr);
                 YangGuangAccuracyCalculateRequest newRequest = new YangGuangAccuracyCalculateRequest(quoteVo, carModel,parameters);
                 newRequest.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
-                return recursiveQuote(newRequest, carModel, yangGuangQueryVehicleModelResponse,quoteVo, parameters, url);
+                return recursiveQuote(newRequest, carModel, yangGuangQueryVehicleModelResponse,quoteVo, parameters, url, quoteNum + 1);
             }
             return handleFailedQuote(response, quoteVo);
         } else {
@@ -137,7 +142,7 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
                     quoteVo.getBiRiskInfoVo().setStartDate(biStartTime.format(outputFormatter));
                     YangGuangAccuracyCalculateRequest newRequest = new YangGuangAccuracyCalculateRequest(quoteVo, carModel,parameters);
                     newRequest.setInfotransNo(yangGuangQueryVehicleModelResponse.getInfotransNo());
-                    return recursiveQuote(newRequest, carModel, yangGuangQueryVehicleModelResponse,quoteVo, parameters, url);
+                    return recursiveQuote(newRequest, carModel, yangGuangQueryVehicleModelResponse,quoteVo, parameters, url, quoteNum + 1);
                 }
             }
             return handleSuccessfulQuote(response, quoteVo);