Kaynağa Gözat

华泰修改代码

wks 2 yıl önce
ebeveyn
işleme
7ee9db934f

+ 15 - 4
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/NonAutomotiveProductsRequest.java

@@ -3,6 +3,9 @@ package com.ydtech.modules.order.entity.api.bohai.request;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
 import com.ydtech.modules.order.entity.api.bohai.constants.RequestType;
+import com.ydtech.modules.order.entity.api.bohai.constants.VehicleKind;
+import com.ydtech.modules.order.entity.api.bohai.constants.VehicleUsage;
+import com.ydtech.modules.order.entity.api.bohai.constants.VehicleUsageDetail;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import com.ydtech.modules.order.entity.config.BoHaiConfigureParameters;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
 import lombok.Data;
 import lombok.Data;
@@ -58,11 +61,19 @@ public class NonAutomotiveProductsRequest extends BoHaiBaseRequest {
 
 
     public NonAutomotiveProductsRequest(BoHaiConfigureParameters parameters, ProductQueryVo productQueryVo) {
     public NonAutomotiveProductsRequest(BoHaiConfigureParameters parameters, ProductQueryVo productQueryVo) {
         this.setBaseParam(parameters, RequestType.Z00018.getCode());
         this.setBaseParam(parameters, RequestType.Z00018.getCode());
-        this.vehicleUsage = vehicleUsage;
+        // 车辆种类
+        VehicleKind vehicleKindEnum = VehicleKind.valueOf("VK_" + productQueryVo.getCimodelclass());
+        // 车辆使用性质
+        VehicleUsage vehicleUsageEnum = VehicleUsage.valueOf("VU_" + productQueryVo.getCarnature());
+        // 车辆用途
+        VehicleUsageDetail vehicleUsageDetailEnum = VehicleUsageDetail.valueOf("VUD_" + productQueryVo.getVehicleUse());
+
+        this.vehicleUsage = vehicleUsageEnum.getCode();
         this.seatCount = productQueryVo.getSeatCount();
         this.seatCount = productQueryVo.getSeatCount();
-        this.vehicleUsageDetail = vehicleUsageDetail;
-        this.vehicleKind = vehicleKind;
-        this.tonNumber = tonNumber;
+        this.vehicleUsageDetail = vehicleUsageDetailEnum.getCode();
+        this.vehicleKind = vehicleKindEnum.getCode();
+
+        this.tonNumber = productQueryVo.getLimitLoad();
         this.power = productQueryVo.getPowerScale();
         this.power = productQueryVo.getPowerScale();
         this.exhaustScale = productQueryVo.getExhaustScale();
         this.exhaustScale = productQueryVo.getExhaustScale();
         this.applicantDto = new PremPersonnelDto(productQueryVo.getPolicyHolderInfo());
         this.applicantDto = new PremPersonnelDto(productQueryVo.getPolicyHolderInfo());

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/QuotationRequest.java

@@ -126,7 +126,7 @@ public class QuotationRequest extends BoHaiBaseRequest {
             private String taxpayerFlag;
             private String taxpayerFlag;
 
 
             public VehicleTaxDTO() {
             public VehicleTaxDTO() {
-                this.taxType = "03";
+                this.taxType = "T";
                 this.taxpayerFlag = "1";
                 this.taxpayerFlag = "1";
             }
             }
 
 

+ 2 - 6
src/main/java/com/ydtech/modules/order/entity/api/bohai/request/UnderwritingRequest.java

@@ -21,6 +21,7 @@ import java.util.List;
 @NoArgsConstructor
 @NoArgsConstructor
 @Data
 @Data
 public class UnderwritingRequest extends BoHaiBaseRequest {
 public class UnderwritingRequest extends BoHaiBaseRequest {
+
     private static final long serialVersionUID = -5144990999677705223L;
     private static final long serialVersionUID = -5144990999677705223L;
 
 
     @JsonProperty("businessPolicy")
     @JsonProperty("businessPolicy")
@@ -29,13 +30,8 @@ public class UnderwritingRequest extends BoHaiBaseRequest {
     @JsonProperty("trafficPolicy")
     @JsonProperty("trafficPolicy")
     private TrafficPolicyDTO trafficPolicy;
     private TrafficPolicyDTO trafficPolicy;
 
 
-    @JsonProperty("busUniqueId")
-    private String busUniqueId;
-
-
-    public UnderwritingRequest(BoHaiConfigureParameters parameters, String orderNo, String busUniqueId) {
+    public UnderwritingRequest(BoHaiConfigureParameters parameters, String orderNo) {
         this.setBaseParam(parameters, RequestType.Z00007.getCode(), orderNo);
         this.setBaseParam(parameters, RequestType.Z00007.getCode(), orderNo);
-        this.busUniqueId = busUniqueId;
     }
     }
 
 
     @NoArgsConstructor
     @NoArgsConstructor

+ 3 - 1
src/main/java/com/ydtech/modules/order/entity/api/bohai/response/QuotationResponse.java

@@ -1,9 +1,11 @@
 package com.ydtech.modules.order.entity.api.bohai.response;
 package com.ydtech.modules.order.entity.api.bohai.response;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.utils.StringUtils;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.List;
 import java.util.List;
@@ -32,7 +34,7 @@ public class QuotationResponse extends BoHaiBaseResponse {
         private String premium;
         private String premium;
 
 
         @JsonProperty("vehicle")
         @JsonProperty("vehicle")
-        private UnAutoPremiumDTO vehicle;
+        private VehicleDTO vehicle;
 
 
         @JsonProperty("carOwner")
         @JsonProperty("carOwner")
         private CarOwnerDTO carOwner;
         private CarOwnerDTO carOwner;

+ 68 - 60
src/main/java/com/ydtech/modules/order/service/impl/BoHaiOrderApiServiceImpl.java

@@ -1,8 +1,6 @@
 package com.ydtech.modules.order.service.impl;
 package com.ydtech.modules.order.service.impl;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.exception.SystemException;
@@ -24,28 +22,24 @@ import com.ydtech.modules.order.entity.filter.CarModelsFilterUtils;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
 import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
-import com.ydtech.modules.order.entity.vo.VehicleAndVesselTax;
 import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
 import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
-import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.order.service.BoHaiOrderApiService;
 import com.ydtech.modules.order.service.BoHaiOrderApiService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsTaskImagesService;
 import com.ydtech.modules.order.service.InsTaskImagesService;
-import com.ydtech.modules.order.utils.SignatureUtils;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.utils.CalculateUtils;
 import com.ydtech.utils.CalculateUtils;
 import com.ydtech.utils.StringUtils;
 import com.ydtech.utils.StringUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.List;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 
 
@@ -140,8 +134,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
         QuotationRequest quotationRequest = new QuotationRequest(parameters, quoteInfoVo.getRiskList(), quoteInfoVo.getKindList(),
                 currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
                 currentValue, orderNo, carInfo, quoteVo.getAccidentalDrivingVo());
         QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest);
         QuotationResponse response = boHaiRequestApiComponent.quotation(quotationRequest);
-        QuoteRespVo quoteRespVo = getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO);
-        return responseOrder(response, quoteRespVo, ptlAgreementAttribution, orderNo);
+        return getQuoteRespVo(response, quoteInfoVo, vehicleModelsDTO, ptlAgreementAttribution, orderNo);
     }
     }
 
 
     @Override
     @Override
@@ -179,8 +172,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
                 ptlAgreementAttribution);
                 ptlAgreementAttribution);
 
 
         // 核保请求
         // 核保请求
-        UnderwritingRequest underwritingRequest = new UnderwritingRequest(parameters, insAreaCompany.getId(),
-                insAreaCompany.getInsOrderNo());
+        UnderwritingRequest underwritingRequest = new UnderwritingRequest(parameters, insAreaCompany.getId());
         UnderwritingResponse underwritingResponse = boHaiRequestApiComponent.underwriting(underwritingRequest);
         UnderwritingResponse underwritingResponse = boHaiRequestApiComponent.underwriting(underwritingRequest);
         int i = underwritingResponse.getData().verificationUnderwriting();
         int i = underwritingResponse.getData().verificationUnderwriting();
 
 
@@ -200,6 +192,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         }
         }
         String trafficResultMsg = underwritingResponse.getData().getTrafficResultMsg();
         String trafficResultMsg = underwritingResponse.getData().getTrafficResultMsg();
         String businessResultMsg = underwritingResponse.getData().getBusinessResultMsg();
         String businessResultMsg = underwritingResponse.getData().getBusinessResultMsg();
+        insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
         return HttpResult.error(trafficResultMsg + "/n" + businessResultMsg);
         return HttpResult.error(trafficResultMsg + "/n" + businessResultMsg);
     }
     }
 
 
@@ -268,7 +261,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
     }
     }
 
 
     @Override
     @Override
-    public String underwritingCallback(PaymentCallbackRequest coverageRequest)  throws Exception{
+    public String underwritingCallback(PaymentCallbackRequest coverageRequest) throws Exception {
         String requestNo = coverageRequest.getBaseParam().getRequestNo();
         String requestNo = coverageRequest.getBaseParam().getRequestNo();
         ResponseCode responseCode;
         ResponseCode responseCode;
         try {
         try {
@@ -286,7 +279,7 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
     }
     }
 
 
     @Override
     @Override
-    public String auditCallback(ManualReviewRequest approvedRequest) throws Exception{
+    public String auditCallback(ManualReviewRequest approvedRequest) throws Exception {
         String requestNo = approvedRequest.getBaseParam().getRequestNo();
         String requestNo = approvedRequest.getBaseParam().getRequestNo();
         ResponseCode responseCode;
         ResponseCode responseCode;
         try {
         try {
@@ -335,64 +328,78 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         return response.getData().getDocumentList();
         return response.getData().getDocumentList();
     }
     }
 
 
-    public QuoteRespVo getQuoteRespVo(QuotationResponse response,
+    public HttpResult<QuoteRespVo> getQuoteRespVo(QuotationResponse response,
                                       BaseQuoteInfoVo yaQuoteInfoVo,
                                       BaseQuoteInfoVo yaQuoteInfoVo,
-                                      VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO) {
-
+                                      VehicleTypeQueryResponse.DataDTO.VehicleModelsDTO vehicleModelsDTO,
+                                      PtlAgreementAttribution ptlAgreementAttribution,
+                                      String orderNo
+    ) {
+
+        double sumPayTax = 0;
+        double jqPremium = 0;
+        double syPremium = 0;
+        double jyPremium = 0;
+        String jqPolicyNo = null;
+        String syPolicyNo = null;
 
 
         QuoteRespVo quoteRespVo = new QuoteRespVo();
         QuoteRespVo quoteRespVo = new QuoteRespVo();
         // 交强险
         // 交强险
         QuotationResponse.DataDTO.TrafficPolicyDTO trafficPolicy = response.getData().getTrafficPolicy();
         QuotationResponse.DataDTO.TrafficPolicyDTO trafficPolicy = response.getData().getTrafficPolicy();
-        double sumPayTax = Double.parseDouble(trafficPolicy.getVehicleTax().getTotalAmount());
-        double jqPremium = Double.parseDouble(trafficPolicy.getPremium());
+        if (!ObjectUtils.isEmpty(trafficPolicy)) {
+            sumPayTax = Double.parseDouble(trafficPolicy.getVehicleTax().getTotalAmount());
+            jqPremium = Double.parseDouble(trafficPolicy.getPremium());
+            jqPolicyNo = response.getData().getTrafficPolicy().getPolicyNo();
+        }
         // 交强
         // 交强
         quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
         quoteRespVo.setStartDateJq(trafficPolicy.getStartDate());
         quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
         quoteRespVo.setEndDateJq(trafficPolicy.getEndDate());
         quoteRespVo.setJqApplyNo(trafficPolicy.getApplicationNo());
         quoteRespVo.setJqApplyNo(trafficPolicy.getApplicationNo());
         // 商业险
         // 商业险
         QuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = response.getData().getBusinessPolicy();
         QuotationResponse.DataDTO.BusinessPolicyDTO businessPolicy = response.getData().getBusinessPolicy();
-        double syPremium = Double.parseDouble(businessPolicy.getPremium());
-        // 商业
-        quoteRespVo.setStartDateSy(businessPolicy.getStartDate());
-        quoteRespVo.setEndDateSy(businessPolicy.getEndDate());
-        quoteRespVo.setSyApplyNo(businessPolicy.getApplicationNo());
-        List<QuoteKindRespVo> kindList1 = new ArrayList<>();
-        List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
+        if (!ObjectUtils.isEmpty(businessPolicy)) {
+            syPremium = Double.parseDouble(businessPolicy.getPremium());
+            syPolicyNo = response.getData().getBusinessPolicy().getPolicyNo();
+            // 商业
+            quoteRespVo.setStartDateSy(businessPolicy.getStartDate());
+            quoteRespVo.setEndDateSy(businessPolicy.getEndDate());
+            quoteRespVo.setSyApplyNo(businessPolicy.getApplicationNo());
+            List<QuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO> coverages = businessPolicy.getCoverages();
+            List<QuoteKindRespVo> kindList1 = new ArrayList<>();
+            // 商业险险种
+            QuoteKindRespVo kind;
+            List<KindInfoVo> kindList = yaQuoteInfoVo.getKindList();
+            for (KindInfoVo kindInfoVo : kindList) {
+                kind = new QuoteKindRespVo();
+                kind.setKindCode(kindInfoVo.getKindCode());
+                kind.setKindName(kindInfoVo.getKindName());
+
+                QuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO coveragesDTO = coverages.stream().filter(x -> {
+                    Coverages c = Coverages.valueOf("C_" + kindInfoVo.getKindCode());
+                    return c.getFuelOilCode().equals(x.getCoverageCode());
+                }).collect(Collectors.toList()).get(0);
+
+                kind.setAmount(kindInfoVo.getAmount());
+                kind.setCoveragePremium(Double.parseDouble(coveragesDTO.getPremium()));
+                kind.setUnitAmount(kindInfoVo.getUnitAmount());
+                kind.setServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
+                if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
+                    kind.setDeductibleRate(Double.parseDouble(kindInfoVo.getDeductibleRate()));
+                }
+                kindList1.add(kind);
+            }
+            quoteRespVo.setKindList(kindList1);
+        }
 
 
+        List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
         // 非车险
         // 非车险
-        String premium = response.getData().getPremium();
-        double jyPremium = StringUtils.isEmpty(premium) ?  0 : Double.parseDouble(premium);
-
+        QuotationResponse.DataDTO.UnAutoPremiumDTO unAutoPremium = response.getData().getUnAutoPremium();
+        if (!ObjectUtils.isEmpty(unAutoPremium)) {
+            jyPremium = StringUtils.isEmpty(unAutoPremium.getPremium()) ? 0 : Double.parseDouble(unAutoPremium.getPremium());
+        }
         //  报价险种放入保费
         //  报价险种放入保费
         List<QuoteRiskRespVo> riskList1 = QuoteRiskRespVo.toQuoteRiskRespVoList(riskList, jqPremium, syPremium);
         List<QuoteRiskRespVo> riskList1 = QuoteRiskRespVo.toQuoteRiskRespVoList(riskList, jqPremium, syPremium);
 
 
-        QuoteKindRespVo kind;
-        List<QuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO> coverages = businessPolicy.getCoverages();
-
-        // 商业险险种
-        List<KindInfoVo> kindList = yaQuoteInfoVo.getKindList();
-        for (KindInfoVo kindInfoVo : kindList) {
-            kind = new QuoteKindRespVo();
-            kind.setKindCode(kindInfoVo.getKindCode());
-            kind.setKindName(kindInfoVo.getKindName());
-
-            QuotationResponse.DataDTO.BusinessPolicyDTO.CoveragesDTO coveragesDTO = coverages.stream().filter(x -> {
-                Coverages c = Coverages.valueOf("C_" + kindInfoVo.getKindCode());
-                return c.getFuelOilCode().equals(x.getCoverageCode());
-            }).collect(Collectors.toList()).get(0);
-
-            kind.setAmount(kindInfoVo.getAmount());
-            kind.setCoveragePremium(Double.parseDouble(coveragesDTO.getPremium()));
-            kind.setUnitAmount(kindInfoVo.getUnitAmount());
-            kind.setServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
-            if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
-                kind.setDeductibleRate(Double.parseDouble(kindInfoVo.getDeductibleRate()));
-            }
-            kindList1.add(kind);
-        }
-
         quoteRespVo.setRiskList(riskList1);
         quoteRespVo.setRiskList(riskList1);
-        quoteRespVo.setKindList(kindList1);
         quoteRespVo.setJqPremium(jqPremium);
         quoteRespVo.setJqPremium(jqPremium);
         quoteRespVo.setSyPremium(syPremium);
         quoteRespVo.setSyPremium(syPremium);
         quoteRespVo.setTaxAmount(sumPayTax);
         quoteRespVo.setTaxAmount(sumPayTax);
@@ -402,17 +409,18 @@ public class BoHaiOrderApiServiceImpl implements BoHaiOrderApiService {
         quoteRespVo.setTotalAdjustRate(0);
         quoteRespVo.setTotalAdjustRate(0);
         quoteRespVo.setOrderno(yaQuoteInfoVo.getOrderNo()); //订单号
         quoteRespVo.setOrderno(yaQuoteInfoVo.getOrderNo()); //订单号
         quoteRespVo.setCoreModels(vehicleModelsDTO.toCoreModelsVo());
         quoteRespVo.setCoreModels(vehicleModelsDTO.toCoreModelsVo());
-        return quoteRespVo;
+        return responseOrder(response, quoteRespVo, ptlAgreementAttribution, orderNo, jqPolicyNo, syPolicyNo);
     }
     }
 
 
-    public HttpResult<QuoteRespVo> responseOrder(QuotationResponse response, QuoteRespVo quoteRespVo,
-                                                 PtlAgreementAttribution ptlAgreementAttribution, String orderId) {
+    public HttpResult<QuoteRespVo> responseOrder(QuotationResponse response,
+                                                 QuoteRespVo quoteRespVo,
+                                                 PtlAgreementAttribution ptlAgreementAttribution,
+                                                 String orderId, 
+                                                 String jqPolicyNo,
+                                                 String syPolicyNo) {
         // 保存订单信息
         // 保存订单信息
         InsAreaCompany insAreaCompany = new InsAreaCompany(quoteRespVo, ptlAgreementAttribution);
         InsAreaCompany insAreaCompany = new InsAreaCompany(quoteRespVo, ptlAgreementAttribution);
-        String jqPolicyNo = response.getData().getTrafficPolicy().getPolicyNo();
         insAreaCompany.setJqappoint(jqPolicyNo);
         insAreaCompany.setJqappoint(jqPolicyNo);
-
-        String syPolicyNo = response.getData().getBusinessPolicy().getPolicyNo();
         insAreaCompany.setSyappoint(syPolicyNo);
         insAreaCompany.setSyappoint(syPolicyNo);
 
 
         // 渤海业务id
         // 渤海业务id