Explorar o código

诚泰bug修改

785834757 hai 4 meses
pai
achega
c2f39a9f95

+ 6 - 1
src/main/java/com/ydtech/modules/order/entity/api/chengtai/request/PremiumCalculationRequest.java

@@ -623,7 +623,12 @@ public class PremiumCalculationRequest {
             this.actualValue = actualValue;
             this.loanVehicleFlag = "0";
             this.seatNum = Integer.valueOf(vehicle.getSeat());
-            this.displacement = vehicle.getVehicleDisplacement();
+            if(vehicle.getVehicleDisplacement().equals("")){
+                //诚泰要求排量必须传!
+                this.displacement = "1";
+            }else {
+                this.displacement = vehicle.getVehicleDisplacement();
+            }
             this.power = (int) Double.parseDouble(carInfoVo.getPowerScale());
             if (carInfoVo.getEnergyType().equals("0")) {
                 this.energyFlag = "0";

+ 7 - 4
src/main/java/com/ydtech/modules/order/entity/api/chengtai/request/SubmitRequest.java

@@ -1,6 +1,8 @@
 package com.ydtech.modules.order.entity.api.chengtai.request;
 
 import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.json.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@@ -9,6 +11,7 @@ import com.ydtech.modules.admin.service.SysAreaService;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.entity.InsAreaCompany;
+import com.ydtech.modules.order.entity.InsAreaCompanyInfo;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.api.chengtai.XmlDateTimeFormatter;
 import com.ydtech.modules.order.entity.api.chengtai.constants.CtKindCodeEnum;
@@ -94,11 +97,11 @@ public class SubmitRequest {
 //    @JacksonXmlProperty(localName = "RiskSpecialClausesList")
 //    private List<RiskSpecialClauses> RiskSpecialClausesList;
 
-    public SubmitRequest(InsOrders insOrders, BigDecimal actualValue, CarModelQueryResponse.vehicle vehicle,
+    public SubmitRequest(InsOrders insOrders, InsAreaCompanyInfo insAreaCompanyInfo, BigDecimal actualValue, CarModelQueryResponse.vehicle vehicle,
                               ChengTaiConfigureParameters parameters, InsAreaCompany insAreaCompany,CustomerInfoVo policyHolderInfo,CustomerInfoVo insuredPersonInfo) {
         this.Head = new head(parameters);
         this.BasePart = new basePart(insOrders,insAreaCompany);
-        this.ItemMotor = new itemMotor(insOrders,actualValue,vehicle);
+        this.ItemMotor = new itemMotor(insOrders,insAreaCompanyInfo,actualValue,vehicle);
         this.riskListWrapper = new RiskListWrapper();
         this.riskListWrapper.setRisks(Risk.buildRiskList(insOrders,insAreaCompany));
         this.kindListWrapper = new KindListWrapper();
@@ -556,8 +559,8 @@ public class SubmitRequest {
         @JacksonXmlProperty(localName = "runMiles")
         private Integer runMiles;
 
-        public itemMotor(InsOrders insOrders, BigDecimal actualValue,CarModelQueryResponse.vehicle vehicle) {
-            CarInfoVo carInfoVo = insOrders.getCarinfo().toJavaObject(CarInfoVo.class);
+        public itemMotor(InsOrders insOrders, InsAreaCompanyInfo insAreaCompanyInfo, BigDecimal actualValue, CarModelQueryResponse.vehicle vehicle) {
+            CarInfoVo carInfoVo = JSONObject.parseObject(insAreaCompanyInfo.getCarInfo()).toJavaObject(CarInfoVo.class);
             CustomerInfoVo customerInfoVo = insOrders.getOwnerinfo().toJavaObject(CustomerInfoVo.class);
             this.carOwner = customerInfoVo.getName();
             this.licenseNo = carInfoVo.getLicenseNo();

+ 7 - 2
src/main/java/com/ydtech/modules/order/service/impl/ChengTaiOrderApiServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.config.properties.ChengTaiApiConfigurationProperties;
@@ -21,6 +22,7 @@ import com.ydtech.modules.order.components.InsImagesUploadCacheComponents;
 import com.ydtech.modules.order.components.chengtai.ChengTaiRequestApiComponent;
 import com.ydtech.modules.order.components.chengtai.ChengTaiRequestApiComponents;
 import com.ydtech.modules.order.constants.QuoteNumberConstant;
+import com.ydtech.modules.order.dao.InsAreaCompanyInfoMapper;
 import com.ydtech.modules.order.dao.SysQuoteRecordMapper;
 import com.ydtech.modules.order.entity.*;
 import com.ydtech.modules.order.entity.api.chengtai.SecurityUrl;
@@ -712,18 +714,21 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
 //        }
 //
 //    }
+    @Autowired
+    private InsAreaCompanyInfoMapper insAreaCompanyInfoMapper;
 
     @Override
     public HttpResult<Object> submit(String companyId) throws Exception {
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
+        InsAreaCompanyInfo insAreaCompanyInfo = insAreaCompanyInfoMapper.selectById(companyId);
         PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(insAreaCompany.getAgreementId());
         ChengTaiConfigureParameters parameters = configureParametersComponents.toEntity(ChengTaiConfigureParameters.class,
                 ptlAgreementAttribution);
         /**
          * 诚泰车型查询
          */
-        CarInfoVo carInfo = JSON.toJavaObject(insOrders.getCarinfo(), CarInfoVo.class);
+        CarInfoVo carInfo = JSON.toJavaObject(JSONObject.parseObject(insAreaCompanyInfo.getCarInfo()), CarInfoVo.class);
         CarModelQueryRequest carModelQueryRequest = new CarModelQueryRequest(carInfo);
         CarModelQueryResponse carModelQueryResponse = chengTaiRequestApiComponent.carModelQuery(carModelQueryRequest);
         CarModelQueryResponse.vehicle vehicle =
@@ -744,7 +749,7 @@ public class ChengTaiOrderApiServiceImpl implements ChengTaiOrderApiService {
         insuredPersonInfo.setCity(insuredPersonAreaVo.getCityCode());
         insuredPersonInfo.setCounty(insuredPersonAreaVo.getCountyCode());
         // 核保
-        SubmitRequest submitRequest = new SubmitRequest(insOrders, carActualValue, vehicle,
+        SubmitRequest submitRequest = new SubmitRequest(insOrders, insAreaCompanyInfo, carActualValue, vehicle,
                 parameters, insAreaCompany, policyHolderInfo, insuredPersonInfo);
         SubmitResponse submitResponse = chengTaiRequestApiComponent.submit(submitRequest);
         // 响应失败