BifronsV преди 3 години
родител
ревизия
156d278655

+ 11 - 26
src/main/java/com/ydtech/modules/order/service/impl/YongAnOrderServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.order.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -39,7 +40,6 @@ import org.springframework.util.StringUtils;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -49,13 +49,13 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
     String url = "";
 
     @Value("${ya.url.sign}")
-    String url_sign = "";
+    String urlSign = "";
 
     @Value("${ya.consumerID}")
     String consumerID = "";
 
     @Value("${ya.consumerAccessKey}")
-    String consumerAccessKey_init = "";
+    String consumerAccessKeyInit = "";
 
     @Value("${ya.matchCode}")
     String matchCode = "";
@@ -93,7 +93,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         try {
             ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
             List<CarModelDTO> carModel = responseDataC1.getResponseBody().getCarModel();
-            if (carModel.size() > 0) {
+            if (!carModel.isEmpty()) {
                 return carModel;
             }
         } catch (Exception ignored) {
@@ -140,20 +140,6 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             carModelReq.setEngineNo(carInfo.getEngineNo()); //发动机号
             ResponseDataC1 responseDataC1 = getResponseDataC1(carModelReq);
 
-            // 校验车型 车型年份大于初等日期
-            if (responseDataC1.getResponseBody().getCarModel().size() == 1) {
-                CarModelDTO carModelDTO2 = responseDataC1.getResponseBody().getCarModel().get(0);
-                String year = carModelDTO2.getMarketYear().substring(0, 6);
-                String registerDate = carInfo.getRegisterDate();
-                String registerYear = registerDate.replace("-", "").substring(0, 6);
-                if (Integer.parseInt(year) > Integer.parseInt(registerYear)) {
-                    carModelReq = new CarModel_Req();
-                    carModelReq.setEnrollDate(carInfo.getRegisterDate()); // 初登日期
-                    carModelReq.setModelName(carInfo.getModelcname());
-                    responseDataC1 = getResponseDataC1(carModelReq);
-                }
-            }
-
             // 无法通过车架号查出车型 通过车型查询
             if ("100001".equals(responseDataC1.getResponseHead().getAppCode())) {
                 carModelReq.setModelName(carInfo.getModelcname());
@@ -738,7 +724,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
         RequestHead requestHead = new RequestHead();
         requestHead.setSeqNo(geneReqNo());
         requestHead.setConsumerID(consumerID);
-        requestHead.setConsumerAccessKey(consumerAccessKey_init);
+        requestHead.setConsumerAccessKey(consumerAccessKeyInit);
         requestHead.setTransCode(type);
         requestHead.setRegionCode("D");
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -795,7 +781,7 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
     public String getConsumerAccessKey(String xmlString) throws Exception {
         String consumerAccessKey = "";
         xmlString = xmlString.substring(xmlString.lastIndexOf("<requestBody>") + 13, xmlString.lastIndexOf("</requestBody>"));
-        consumerAccessKey = HMAC256Uitil.hmac256(xmlString, consumerAccessKey_init);
+        consumerAccessKey = HMAC256Uitil.hmac256(xmlString, consumerAccessKeyInit);
         return consumerAccessKey;
     }
 
@@ -813,7 +799,6 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             KindInfoVo kindInfoVo = kindList.get(j);
             String deductibleRate = kindInfoVo.getDeductibleRate();
 
-
             //第三者责任险
             if (kindList.get(j).getKindCode().equals("B")) {
                 KindDTO kindInfo = new KindDTO();
@@ -1126,20 +1111,20 @@ public class YongAnOrderServiceImpl implements YongAnOrderService {
             insAreaCompany.setOrderno(orderNo);
             //报价成功更新险种信息
             ResponseBodyC2 responseBody = responseDataC2.getResponseBody();
-            insAreaCompany.setKindinfo(JSONObject.parseArray(JSONObject.toJSONString(quoteRespVo.getKindList())));
-            insAreaCompany.setRiskinfo(JSONObject.parseArray(JSONObject.toJSONString(quoteRespVo.getRiskList())));
+            insAreaCompany.setKindinfo(JSON.parseArray(JSON.toJSONString(quoteRespVo.getKindList())));
+            insAreaCompany.setRiskinfo(JSON.parseArray(JSON.toJSONString(quoteRespVo.getRiskList())));
             insAreaCompany.setJqpremium(BigDecimal.valueOf(jq_falg ? responseBody.getCiPremium() : 0));
             insAreaCompany.setSypremium(BigDecimal.valueOf(responseBody.getBiPremium()));
             insAreaCompany.setTaxamount(BigDecimal.valueOf(jq_falg ? responseBody.getCarTax().getSumPayment() : 0));
 //            insOrder.setSumpremium(responseBody.getSumPremium()+insOrder.getTaxamount());
             insAreaCompany.setSumpremium(BigDecimal.valueOf(quoteRespVo.getSumPermium()));
             insAreaCompany.setOrderstatus(InsOrderStatus.S_0.getCode()); // 1
-            insAreaCompany.setReqtxt(JSONObject.parseObject(JSONObject.toJSONString(requestData)));
-            insAreaCompany.setReptxt(JSONObject.parseObject(JSONObject.toJSONString(responseDataC2)));
+            insAreaCompany.setReqtxt(JSON.parseObject(JSON.toJSONString(requestData)));
+            insAreaCompany.setReptxt(JSON.parseObject(JSON.toJSONString(responseDataC2)));
 //            insAreaCompany.setPolicytype(quoteRespVo.getIszdj());
             insAreaCompany.setInscompany(esmInsCompany.getId());
             insAreaCompany.setInscompany(esmInsCompany.getNamesimple());
-            insAreaCompany.setTaxArrears(JSONObject.parseArray(JSONObject.toJSONString(quoteRespVo.getTaxArrears())));
+            insAreaCompany.setTaxArrears(JSON.parseArray(JSON.toJSONString(quoteRespVo.getTaxArrears())));
             insAreaCompanyService.save(insAreaCompany);
             insOrdersService.updateByOrderStatus(orderNo, InsOrderStatus.S_0.getCode());
             quoteRespVo.setCompanyId(insAreaCompany.getId());

+ 34 - 23
src/main/java/com/ydtech/modules/order/service/impl/ZhongMeiOrderApiServiceImpl.java

@@ -189,7 +189,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     @Override
     public HttpResult paymentEnquiry(String companyId) {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(companyId);
-        if(insAreaCompany.getOrderstatus().equals(InsOrderStatus.S_3.getCode())){
+        if (insAreaCompany.getOrderstatus().equals(InsOrderStatus.S_3.getCode())) {
             return HttpResult.ok("此订单已承保");
         }
         OrderStatusRequest orderStatusRequest = new OrderStatusRequest();
@@ -197,7 +197,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
         orderStatusRequest.setSubProposalNo(insAreaCompany.getInsOrderNo());
         OrderStatusResponse orderStatusResponse = zhongmeiRequestApiComponents.orderStatus(orderStatusRequest, OrderStatusResponse.class);
         String status = orderStatusResponse.getStatus();
-        if(status.equals(PaymentStatusEnum.P_3.getCode())){
+        if (status.equals(PaymentStatusEnum.P_3.getCode())) {
             insAreaCompany.setJqpolicyno(orderStatusResponse.getSubContractNoJ());
             insAreaCompany.setSypolicyno(orderStatusResponse.getSubContractNoS());
             insAreaCompany.setJypolicyno(orderStatusResponse.getAccidentNo());
@@ -254,8 +254,16 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
     }
 
     public QuoteRespVo getQuoteRespVo(QuotedPriceResponse quotedPriceResponse, BaseQuoteInfoVo yaQuoteInfoVo) {
-        double jqPremium = quotedPriceResponse.getForcePrimium().getPremium();
-        double syPremium = quotedPriceResponse.getBizPremium().getSumPremium();
+        double jqPremium = 0;
+        double syPremium = 0;
+
+        if (!ObjectUtils.isEmpty(quotedPriceResponse.getForcePrimium())) {
+            jqPremium = quotedPriceResponse.getForcePrimium().getPremium();
+        }
+        if (!ObjectUtils.isEmpty(quotedPriceResponse.getBizPremium())) {
+            syPremium = quotedPriceResponse.getBizPremium().getSumPremium();
+        }
+
         QuoteRespVo quoteRespVo = new QuoteRespVo();
         List<QuoteRiskRespVo> riskList1 = new ArrayList<>();
         List<QuoteKindRespVo> kindList1 = new ArrayList<>();
@@ -282,26 +290,29 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
         }
 
         QuoteKindRespVo kind;
-        List<QuotedPriceResponse.BizPremiumDTO.CoverageListDTO> coverageList = quotedPriceResponse.getBizPremium().getCoverageList();
-        List<KindInfoVo> kindList = yaQuoteInfoVo.getKindList();
-
-        for (KindInfoVo kindInfoVo : kindList) {
-            kind = new QuoteKindRespVo();
-            kind.setKindCode(kindInfoVo.getKindCode());
-            kind.setKindName(kindInfoVo.getKindName());
-            kind.setAmount(kindInfoVo.getAmount());
-            int i = ArrayUtil.indexOf(InsuranceTypeCorrespondence.JINZHANGGUI_TYPE, kindInfoVo.getKindCode());
-
-            QuotedPriceResponse.BizPremiumDTO.CoverageListDTO coverageListDTOS = coverageList.stream().filter(
-                            a -> a.getKindCode().equals(InsuranceTypeCorrespondence.CONNECT_INSURANCE_TYPE[i]))
-                    .collect(Collectors.toList()).get(0);
-
-            kind.setCoveragePremium(coverageListDTOS.getPremium());
-            kind.setUnitAmount(kindInfoVo.getUnitAmount());
-            if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
-                kind.setDeductibleRate(Double.parseDouble(kindInfoVo.getDeductibleRate()));
+        List<QuotedPriceResponse.BizPremiumDTO.CoverageListDTO> coverageList;
+
+        if (!ObjectUtils.isEmpty(quotedPriceResponse.getBizPremium())) {
+            coverageList = quotedPriceResponse.getBizPremium().getCoverageList();
+            List<KindInfoVo> kindList = yaQuoteInfoVo.getKindList();
+            for (KindInfoVo kindInfoVo : kindList) {
+                kind = new QuoteKindRespVo();
+                kind.setKindCode(kindInfoVo.getKindCode());
+                kind.setKindName(kindInfoVo.getKindName());
+                kind.setAmount(kindInfoVo.getAmount());
+                int i = ArrayUtil.indexOf(InsuranceTypeCorrespondence.JINZHANGGUI_TYPE, kindInfoVo.getKindCode());
+
+                QuotedPriceResponse.BizPremiumDTO.CoverageListDTO coverageListDTOS = coverageList.stream().filter(
+                                a -> a.getKindCode().equals(InsuranceTypeCorrespondence.CONNECT_INSURANCE_TYPE[i]))
+                        .collect(Collectors.toList()).get(0);
+
+                kind.setCoveragePremium(coverageListDTOS.getPremium());
+                kind.setUnitAmount(kindInfoVo.getUnitAmount());
+                if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
+                    kind.setDeductibleRate(Double.parseDouble(kindInfoVo.getDeductibleRate()));
+                }
+                kindList1.add(kind);
             }
-            kindList1.add(kind);
         }
 
         quoteRespVo.setRiskList(riskList1);