فهرست منبع

1.紫金修改请求

wks 2 سال پیش
والد
کامیت
5a6a8ecfc0

+ 10 - 11
src/main/java/com/ydtech/modules/order/components/InsCrawlerOrderComponents.java

@@ -23,35 +23,34 @@ public class InsCrawlerOrderComponents {
         this.restTemplate = restTemplate;
     }
 
-    public <T, B> B post(String url, String logId, String message, @Nullable T requestBody, Class<B> responseType, HttpHeaders httpHeaders) {
+    public < B> B post(String url, String logId, String message, @Nullable Object requestBody, Class<B> responseType, HttpHeaders httpHeaders) {
         httpHeaders.setContentType(MediaType.APPLICATION_JSON);
-        HttpEntity<T> yaQuoteInfoVoHttpEntity = new HttpEntity<>(requestBody, httpHeaders);
-
         String request = JSON.toJSONString(requestBody);
         InsuranceLog.infoLog(logId, "\n\t---------> {} \n\t---------> URL: {} \n\t---------> 请求参数: {}", message, url, request);
-        ResponseEntity<B> stringResponseEntity = restTemplate.postForEntity(url, yaQuoteInfoVoHttpEntity, responseType);
-        B body = stringResponseEntity.getBody();
+
+        HttpEntity<String> yaQuoteInfoVoHttpEntity = new HttpEntity<>(request, httpHeaders);
+        ResponseEntity<String> stringResponseEntity = restTemplate.postForEntity(url, yaQuoteInfoVoHttpEntity, String.class);
+        String body = stringResponseEntity.getBody();
         if (body == null) {
             throw new SystemException(message + "接口请求失败");
         }
 
-        String response = JSON.toJSONString(body);
-        InsuranceLog.infoLog(logId, "\n\t---------> {} \n\t---------> 响应参数:{}", message, response);
-        return body;
+        InsuranceLog.infoLog(logId, "\n\t---------> {} \n\t---------> 响应参数:{}", message, body);
+        return JSON.parseObject(body, responseType);
     }
 
-    public <T, B> B request(String url, String companyId, String apiType, T requestBody, Class<B> responseType) {
+    public <B> B request(String url, String companyId, String apiType, Object requestBody, Class<B> responseType) {
         // 获取保险公司枚举
         String substring = companyId.substring(0, 4);
         InsuranceEnum insuranceEnum = Enum.valueOf(InsuranceEnum.class, substring);
         return this.request(url, insuranceEnum, apiType, requestBody, responseType, new HttpHeaders());
     }
 
-    public <T, B> B request(String url, InsuranceEnum insuranceEnum, String apiType, T requestBody, Class<B> responseType) {
+    public <B> B request(String url, InsuranceEnum insuranceEnum, String apiType, Object requestBody, Class<B> responseType) {
         return this.request(url, insuranceEnum, apiType, requestBody, responseType, new HttpHeaders());
     }
 
-    public <T, B> B request(String url, InsuranceEnum insuranceEnum, String apiType, T requestBody, Class<B> responseType, HttpHeaders httpHeaders) {
+    public <B> B request(String url, InsuranceEnum insuranceEnum, String apiType, Object requestBody, Class<B> responseType, HttpHeaders httpHeaders) {
         String message = insuranceEnum.getName() + apiType;
         return this.post(url, insuranceEnum.getPinyin(), message, requestBody, responseType, httpHeaders);
     }

+ 2 - 1
src/main/java/com/ydtech/modules/order/controller/GuoRenOrderApiController.java

@@ -109,7 +109,8 @@ public class GuoRenOrderApiController {
     @PostMapping("/syncNonAutoIns")
     public HttpResult syncNonAutoIns() {
         //家用车驾乘意外险-山西版(02746425173001)
-        String goodsCode = "02746425173001";
+//        String goodsCode = "02746425173001";
+        String goodsCode = "";
         NonAutoInsResp.DataDTO dataDTO = guorenOrderApiService.gainNonAutoInsList(goodsCode);
         return HttpResult.ok(dataDTO);
     }

+ 36 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/response/CrawlerVerifyPaymentResponse.java

@@ -1,8 +1,18 @@
 package com.ydtech.modules.order.entity.crawler.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zijin.constants.enums.RiskCodeEnum;
+import com.ydtech.modules.order.entity.api.zijin.response.QueryOrderDetailResponse;
+import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
@@ -28,4 +38,30 @@ public class CrawlerVerifyPaymentResponse extends CrawlerBaseResponse {
     @JsonProperty("SY_Application")
     private String syApplication;
 
+    @JsonProperty("drivingInsurances")
+    private List<DrivingInsurancesDTO> drivingInsurances;
+
+
+    public List<DrivingInsurancesDTO> getDrivingInsurancesDto() {
+        if (drivingInsurances == null) {
+            return Collections.emptyList();
+        }
+
+        return drivingInsurances;
+    }
+
+    @NoArgsConstructor
+    @Data
+    public static class DrivingInsurancesDTO implements Serializable {
+
+        private static final long serialVersionUID = 8095703638414191277L;
+
+        @JsonProperty("policy")
+        private String policy;
+
+        @JsonProperty("application")
+        private String application;
+
+    }
+
 }

+ 3 - 6
src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java

@@ -566,22 +566,19 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
             if (CollUtil.isNotEmpty(eiaiList)) {
 
                 List<String> ids = new ArrayList<>();
-                eiaiList.stream().forEach(i -> {
-                    ids.add(i.getId());
-                });
+                eiaiList.forEach(i -> ids.add(i.getId()));
                 LambdaQueryWrapper<EsmInsAttachInsureDetails> lqwDetails = new LambdaQueryWrapper<>();
                 lqwDetails.in(EsmInsAttachInsureDetails::getAttachInsureId, ids);
                 //详情删除
                 esmInsAttachInsureDetailsMapper.delete(lqwDetails);
 
-                //            esmInsAttachInsureMapper.delete(lqw);
                 esmInsAttachInsureMapper.deleteBatchIds(ids);
             }
 
             List<NonAutoInsResp.DataDTO.ProdListDTO> prodList = nonAutoIns.getProdList();
 
 
-            prodList.stream().forEach(a -> {
+            prodList.forEach(a -> {
                 EsmInsAttachInsure ati = new EsmInsAttachInsure();
                 ati.setCode(a.getProdRisk());
                 ati.setName(a.getProdRisk());
@@ -594,7 +591,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
 
                 AtomicInteger total = new AtomicInteger(0);
                 //具体方案信息
-                a.getProdRiskList().get(0).getProdCvgLiabList().stream().forEach(d -> {
+                a.getProdRiskList().get(0).getProdCvgLiabList().forEach(d -> {
                     EsmInsAttachInsureDetails atiDetails = new EsmInsAttachInsureDetails();
                     atiDetails.setAttachInsureId(ati.getId());
                     atiDetails.setName(d.getLiabName());

+ 5 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java

@@ -14,6 +14,7 @@ import com.ydtech.modules.order.entity.crawler.constants.CrawlerVerifyPaymentCon
 import com.ydtech.modules.order.entity.crawler.request.*;
 import com.ydtech.modules.order.entity.crawler.response.*;
 import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
+import com.ydtech.modules.order.entity.dto.DrivingInsuranceDto;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
@@ -166,6 +167,10 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
             // 保单号
             insAreaCompany.setJqpolicyno(crawlerAuditResponse.getJqApplication());
             insAreaCompany.setSypolicyno(crawlerAuditResponse.getSyApplication());
+            // 3 交叉销售
+            List<CrawlerVerifyPaymentResponse.DrivingInsurancesDTO> drivingInsurances = crawlerAuditResponse.getDrivingInsurancesDto();
+            insAreaCompany.setCrossInsurance(JSON.parseArray(JSON.toJSONString(drivingInsurances)));
+
             insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());//已承保
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
             return HttpResult.ok("支付成功");

+ 1 - 0
src/main/java/com/ydtech/modules/order/service/impl/ZijinOrderApiServiceImpl.java

@@ -214,6 +214,7 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
                 }
                 return HttpResult.error(OrderStatusEnum.O_3.getName() + ":" + uwMsg);
             }
+
             throw new SystemException(systemException.getMessage());
         }