helixiao 1 жил өмнө
parent
commit
4aa8d18f41

+ 16 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/component/RequestComponent.java

@@ -362,6 +362,22 @@ public class RequestComponent {
 
 
 
+        return webClient.post()
+                .uri(url)
+                .headers(RequestComponent.setHeaders(headers))
+                .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+                .body(BodyInserters.fromMultipartData(parts))
+                .retrieve()
+                .toEntity(responseClass).doOnNext(responseBody -> System.out.println("响应内容: " + responseBody.getBody()))
+                .block();
+    }
+
+    public <Response> ResponseEntity<Response> formDataZhongAn(String url, Object body, Class<Response> responseClass, HttpHeaders headers) {
+        MultiValueMap<String, Object> multiValueMap = RequestObjectConversion.convertMultiValueMap(body);
+        return formDatazhongan1(url, multiValueMap, responseClass, headers);
+    }
+    public <Response> ResponseEntity<Response> formDatazhongan1(String url, MultiValueMap<String, Object> parts, Class<Response> responseClass, HttpHeaders headers) {
+
         return webClient.post()
                 .uri(url)
                 .headers(RequestComponent.setHeaders(headers))

+ 1 - 1
tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/component/ZhongAnCrawlerCacheComponent.java

@@ -43,7 +43,7 @@ public class ZhongAnCrawlerCacheComponent {
 
     public static final String QUOTE_ID = "quoteId:";
 
-    public static final String PAYMENT = "payment:";
+    public static final String LICENSE = "License:";
 
 
     public void cacheCookie(String zaLoginCookieKey, String flowId, String userName) {

+ 13 - 13
tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/component/ZhongAnCrawlerRequestComponent.java

@@ -94,7 +94,7 @@ public class ZhongAnCrawlerRequestComponent {
 
         List<ZhongAnCrawlerCarQueryResponse.ValueDTO.DataDTO.ResultDTO.VehicleDTO> vehicleDTOList = new ArrayList<>();
 
-        ZhongAnCrawlerCarQueryResponse carQueryResponse = requestComponent.formData(RequestUrl.CAR_QUERY.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), carQueryRequest, ZhongAnCrawlerCarQueryResponse.class, headers).getBody();
+        ZhongAnCrawlerCarQueryResponse carQueryResponse = requestComponent.formDataZhongAn(RequestUrl.CAR_QUERY.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), carQueryRequest, ZhongAnCrawlerCarQueryResponse.class, headers).getBody();
         List<ZhongAnCrawlerCarQueryResponse.ValueDTO.DataDTO.ResultDTO.VehicleDTO> vehicleList = carQueryResponse.getValue().getDatas().getResult().getVehicleList();
         vehicleDTOList.addAll(vehicleList);
 
@@ -109,7 +109,7 @@ public class ZhongAnCrawlerRequestComponent {
      * @return
      */
     public ZhongAnCrawlerQuoteResponse quote(ZhongAnCrawlerQuoteRequest quoteRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.QUOTE.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), quoteRequest, ZhongAnCrawlerQuoteResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.QUOTE.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), quoteRequest, ZhongAnCrawlerQuoteResponse.class, headers).getBody();
     }
 
     /**
@@ -130,7 +130,7 @@ public class ZhongAnCrawlerRequestComponent {
      * @return
      */
     public ZhongAnCrawlerGetOrderResponse getOrder(ZhongAnCrawlerGetOrderRequest getOrderRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.GET_ORDER.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), getOrderRequest, ZhongAnCrawlerGetOrderResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.GET_ORDER.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), getOrderRequest, ZhongAnCrawlerGetOrderResponse.class, headers).getBody();
     }
 
     /**
@@ -141,7 +141,7 @@ public class ZhongAnCrawlerRequestComponent {
      * @return
      */
     public ZhongAnCrawlerConfirmOrderResponse confirmOrder(ZhongAnCrawlerConfirmOrderRequest confirmOrderRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.CONFIRM_ORDER.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), confirmOrderRequest, ZhongAnCrawlerConfirmOrderResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.CONFIRM_ORDER.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), confirmOrderRequest, ZhongAnCrawlerConfirmOrderResponse.class, headers).getBody();
     }
 
     /**
@@ -152,7 +152,7 @@ public class ZhongAnCrawlerRequestComponent {
      * @return
      */
     public ZhongAnCrawlerJyxUnderwritingResponse jyxUnderwriting(ZhongAnCrawlerJyxUnderwritingRequest jyxUnderwritingRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.JYX_UNDERWRITING.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), jyxUnderwritingRequest, ZhongAnCrawlerJyxUnderwritingResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.JYX_UNDERWRITING.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), jyxUnderwritingRequest, ZhongAnCrawlerJyxUnderwritingResponse.class, headers).getBody();
     }
 
     /**
@@ -163,7 +163,7 @@ public class ZhongAnCrawlerRequestComponent {
      * @return
      */
     public ZhongAnCrawlerUploadImageResponse uploadImage(ZhongAnCrawlerUploadImageRequest imageRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.UPLOAD_IMAGE.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), imageRequest, ZhongAnCrawlerUploadImageResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.UPLOAD_IMAGE.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), imageRequest, ZhongAnCrawlerUploadImageResponse.class, headers).getBody();
     }
 
     /**
@@ -174,7 +174,7 @@ public class ZhongAnCrawlerRequestComponent {
      * @return
      */
     public ZhongAnCrawlerPaymentResponse payment(ZhongAnCrawlerPaymentRequest paymentRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.PAYMENT_LINK.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), paymentRequest, ZhongAnCrawlerPaymentResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.PAYMENT_LINK.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), paymentRequest, ZhongAnCrawlerPaymentResponse.class, headers).getBody();
     }
 
     /**
@@ -189,12 +189,12 @@ public class ZhongAnCrawlerRequestComponent {
     }
 
     public ZhongAnCrawlerCacheCarQueryResponse cacheCarInfo(ZhongAnCrawlerCacheCarQueryRequest cacheCarQueryRequest, HttpHeaders headers) {
-       return requestComponent.formData(RequestUrl.CACHE_CAR_QUERY.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), cacheCarQueryRequest,ZhongAnCrawlerCacheCarQueryResponse.class, headers).getBody();
+       return requestComponent.formDataZhongAn(RequestUrl.CACHE_CAR_QUERY.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), cacheCarQueryRequest,ZhongAnCrawlerCacheCarQueryResponse.class, headers).getBody();
 
     }
 
     public ZhongAnCrawlerQuoteBaseResponse quoteBaseInfo(ZhongAnCrawlerQuoteBaseRequest parameters, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.QUOTE_BASE_QUERY.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), parameters,ZhongAnCrawlerQuoteBaseResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.QUOTE_BASE_QUERY.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), parameters,ZhongAnCrawlerQuoteBaseResponse.class, headers).getBody();
 
     }
 
@@ -222,19 +222,19 @@ public class ZhongAnCrawlerRequestComponent {
     }
 
     public ZhongAnCrawlerQueryDetailQueryResponse detailQuery(ZhongAnCrawlerQueryDetailQueryRequest detailQueryRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.QUERY_DETAIL.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), detailQueryRequest,ZhongAnCrawlerQueryDetailQueryResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.QUERY_DETAIL.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), detailQueryRequest,ZhongAnCrawlerQueryDetailQueryResponse.class, headers).getBody();
     }
 
     public ZhongAnCrawlerUploadInitDateResponse uploadInitDate(ZhongAnCrawlerUploadInitDateRequest uploadInitDateRequest, HttpHeaders headers) {
-        return requestComponent.formData(RequestUrl.UPLOAD_INIT_DATA.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), uploadInitDateRequest,ZhongAnCrawlerUploadInitDateResponse.class, headers).getBody();
+        return requestComponent.formDataZhongAn(RequestUrl.UPLOAD_INIT_DATA.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), uploadInitDateRequest,ZhongAnCrawlerUploadInitDateResponse.class, headers).getBody();
     }
 
     public String markCompleted(ZhongAnCrawlerMarkRequest markRequest, HttpHeaders headers) {
         return requestComponent.formDataString(RequestUrl.LICENCE_SEITCH.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), markRequest, headers);
     }
 
-    public String policyList(ZhongAnCrawlerPolicyListRequest policyListRequest, HttpHeaders headers) {
+    public ZhongAnCrawlerPolicyListResponse policyList(ZhongAnCrawlerPolicyListRequest policyListRequest, HttpHeaders headers) {
 
-        return requestComponent.formDataString(RequestUrl.ORDER_LIST.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), policyListRequest, headers);
+        return requestComponent.formDataZhongAn(RequestUrl.ORDER_LIST.getRequestUrl(zhongAnCrawlerProperties.getBaseUrl()), policyListRequest,ZhongAnCrawlerPolicyListResponse.class, headers).getBody();
     }
 }

+ 60 - 1
tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/entity/response/ZhongAnCrawlerPolicyListResponse.java

@@ -1,5 +1,6 @@
 package com.jzg.quotation.zhongan.crawler.entity.response;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -33,7 +34,65 @@ public class ZhongAnCrawlerPolicyListResponse extends ZhongAnCrawlerBaseResponse
             @JsonProperty("maxPage")
             private Integer maxPage;
             @JsonProperty("policyLists")
-            private List<?> policyLists;
+            private List<policyListsDto> policyLists;
+
+            @NoArgsConstructor
+            @Data
+            public static class policyListsDto{
+
+                @JsonProperty("policyId")
+                private String policyId;
+                @JsonProperty("tpPolicyNo")
+                private String tpPolicyNo;
+                @JsonProperty("effectiveDate")
+                private String effectiveDate;
+                @JsonProperty("expiryDate")
+                private String expiryDate;
+                @JsonProperty("policyStatus")
+                private String policyStatus;
+                @JsonProperty("orderNo")
+                private String orderNo;
+                @JsonProperty("carOwnerName")
+                private String carOwnerName;
+                @JsonProperty("vehicleLicencePlateNo")
+                private String vehicleLicencePlateNo;
+                @JsonProperty("insureTypeCode")
+                private String insureTypeCode;
+                @JsonProperty("vehicleFrameNo")
+                private String vehicleFrameNo;
+                @JsonProperty("premium")
+                private String premium;
+                @JsonProperty("insurePlace")
+                private String insurePlace;
+                @JsonProperty("insurePlaceCode")
+                private String insurePlaceCode;
+                @JsonProperty("vehicleFeeStatus")
+                private String vehicleFeeStatus;
+                @JsonProperty("insureJiaYiFlag")
+                private String insureJiaYiFlag;
+                @JsonProperty("gmtCreated")
+                private String gmtCreated;
+                @JsonProperty("isPassed")
+                private String isPassed;
+                @JsonProperty("isCanCheck")
+                private String isCanCheck;
+                @JsonProperty("applicantPhone")
+                private String applicantPhone;
+                @JsonProperty("ifChangeStatus")
+                private String ifChangeStatus;
+                @JsonProperty("canInsureJyx")
+                private Boolean canInsureJyx;
+                @JsonProperty("insuredJyx")
+                private Boolean insuredJyx;
+                @JsonProperty("applyNo")
+                private String applyNo;
+                @JsonProperty("policyGrade")
+                private String policyGrade;
+                @JsonProperty("zaFlag")
+                private String zaFlag;
+                @JsonProperty("insurePayJyxFlag")
+                private String insurePayJyxFlag;
+            }
 
         }
     }

+ 37 - 6
tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/service/Impl/ZhongAnCrawlerRequestImpl.java

@@ -85,6 +85,7 @@ public class ZhongAnCrawlerRequestImpl implements ZhongAnCrawlerRequest {
         loginCookieCache(zhongAnId);
         zhongAnCrawlerCacheComponent.setCache(quoteVo.getOwnersInfo().getIdentifyNumber(), quoteVo.getOrder().getOrdersNo() + ZhongAnCrawlerCacheComponent.IDENTIFY_NUMBER);
         CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
+        zhongAnCrawlerCacheComponent.setCache(carInfoVo.getLicenseNo(),quoteVo.getOrder().getOrdersNo()+ZhongAnCrawlerCacheComponent.LICENSE);
         AttributionInformationVo attributionInformationVo = quoteVo.getOrder().getAttributionInformationVo();
         //获取配置信息
         ZhongAnCrawlerConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(ZhongAnCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
@@ -267,10 +268,9 @@ public class ZhongAnCrawlerRequestImpl implements ZhongAnCrawlerRequest {
         ZhongAnCrawlerUploadInitDateResponse.ValueDTO.DatasDTO initData = zhongAnCrawlerCacheComponent.getInitData(underwritingVo.getOrder().getOrdersNo() + ZhongAnCrawlerCacheComponent.INITDATE);
         ZhongAnCrawlerPaymentRequest paymentRequest = new ZhongAnCrawlerPaymentRequest(zhongAnCrawlerOrder.getPolicyId(), initData.getCheckCode());
         ZhongAnCrawlerPaymentResponse payment = zhongAnCrawlerRequestComponent.payment(paymentRequest, headers);
-        zhongAnCrawlerCacheComponent.setCache(payment.getValue().getDatas().getInitInfo(),underwritingVo.getOrder().getOrdersNo()+ZhongAnCrawlerCacheComponent.PAYMENT);
 
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
-//        underwritingResultsVo.setPaymentLink(payment.getValue().getDatas().getShareShortUrl());
+        underwritingResultsVo.setPaymentLink(payment.getValue().getDatas().getShareShortUrl());
         //核保结果
         underwritingResultsVo.setUnderwritingResult("核保成功");
 //        //核保状态
@@ -448,11 +448,42 @@ public class ZhongAnCrawlerRequestImpl implements ZhongAnCrawlerRequest {
             parameters.setFlowId(zhongAnCrawlerCacheComponent.getFlowId(zhongAnId));
         }
 
-        ZhongAnCrawlerPaymentResponse.ValueDTO.DatasDTO.InitInfoDTO payment = zhongAnCrawlerCacheComponent.getPayment(orderStatusVo.getOrder().getOrdersNo() + ZhongAnCrawlerCacheComponent.PAYMENT);
-        ZhongAnCrawlerPolicyListRequest policyListRequest = new ZhongAnCrawlerPolicyListRequest(payment.getVehicleName(),parameters);
-        String s = zhongAnCrawlerRequestComponent.policyList(policyListRequest,headers);
-        //未找到订单状态字段 TODO
+        String license = zhongAnCrawlerCacheComponent.getCache(orderStatusVo.getOrder().getOrdersNo() + ZhongAnCrawlerCacheComponent.LICENSE);
+        ZhongAnCrawlerPolicyListRequest policyListRequest = new ZhongAnCrawlerPolicyListRequest(license,parameters);
+        ZhongAnCrawlerPolicyListResponse response = zhongAnCrawlerRequestComponent.policyList(policyListRequest,headers);
+        if (!response.getSuccess()) {
+            throw new SystemException(response.getErrorMsg());
+        }
+        List<ZhongAnCrawlerPolicyListResponse.ValueDTO.DatasDTO.policyListsDto> policyLists = response.getValue().getDatas().getPolicyLists();
+
         OrderStatusResultVo orderStatusResultVo= new OrderStatusResultVo();
+        if (policyLists.size() >0) {
+            policyLists.forEach(s->{
+                if (s.getInsureTypeCode().equals("1")) {
+                    orderStatusResultVo.setSyPolicyno(s.getTpPolicyNo());
+                    orderStatusResultVo.setSyApplyNo(s.getApplyNo());
+                }else if (s.getInsureTypeCode().equals("2")) {
+                    orderStatusResultVo.setJqPolicyno(s.getTpPolicyNo());
+                    orderStatusResultVo.setJqApplyNo(s.getApplyNo());
+                }else if (s.getInsureTypeCode().equals("3")) {
+                    orderStatusResultVo.setJyPolicyno(s.getTpPolicyNo());
+                    orderStatusResultVo.setJyApplyNo(s.getApplyNo());
+                }
+                
+            });
+            ZhongAnCrawlerPolicyListResponse.ValueDTO.DatasDTO.policyListsDto policyListsDto = policyLists.get(0);
+            String policyStatus = policyListsDto.getPolicyStatus();
+            if (policyStatus == null) {
+                orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.QUOTE_FAIL);
+            }else {
+                if (policyStatus.equals("3")) {
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
+                }else if (policyStatus.equals("6")) {
+                    orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.UNDERWRITED);
+                }
+            }
+        }
+
 
         return orderStatusResultVo;
     }