Przeglądaj źródła

大家财险添加货车报价

785834757 2 lat temu
rodzic
commit
8eda865ac0

+ 2 - 1
src/main/java/com/ydtech/constants/enums/dict/insurance/VehicleType.java

@@ -17,7 +17,8 @@ import lombok.Getter;
 @DictEnum(key = "vehicleType", desc = "车辆种类")
 public enum VehicleType implements IBaseEnum {
 
-    VT_A0("A0", "客车", 0, 0);
+    VT_A0("A0", "客车", 0, 0),
+    VT_A1("A1","货车",0,0);
 
     // 编号
     private final String code;

+ 8 - 0
src/main/java/com/ydtech/modules/ins/model/CardUserInfo.java

@@ -37,6 +37,14 @@ public class CardUserInfo {
     private String tractionMass;
     private String registerDate;
 
+    //新增 核定载质量
+    private String limitLoad;
+    //新增 使用性质
+    private String useNature;
+    //新增 车辆类型
+    private String category;
+    //新增 车辆用途
+    private String vehicleUse;
 
     //add 车主 lig 2023-09-21
     @ApiModelProperty("车主")

+ 70 - 15
src/main/java/com/ydtech/modules/order/entity/api/dajia/request/ODR1008Request.java

@@ -2,6 +2,7 @@ package com.ydtech.modules.order.entity.api.dajia.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.constants.enums.InsuranceRisk;
+import com.ydtech.constants.enums.dict.insurance.VehicleType;
 import com.ydtech.modules.admin.model.vo.PersonAreaVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
@@ -308,7 +309,7 @@ public class ODR1008Request extends DaJiaBaseRequest {
             @JsonProperty("vehicleNConsultPurchaseValue")
             private Double vehicleNConsultPurchaseValue;
             @JsonProperty("vehicleNCurbWt")
-            private Integer vehicleNCurbWt;
+            private Float vehicleNCurbWt;
             @JsonProperty("vehicleNDisplacement")
             private String vehicleNDisplacement;
             @JsonProperty("vehicleNNewPurchaseValue")
@@ -680,17 +681,33 @@ public class ODR1008Request extends DaJiaBaseRequest {
             //非运营性质
             if(riskList.size() > 1){
                 //交商联合
-                vehicleInfoDTO.setVehicleUsageCde(CUsageCde.U01.getCode().toString());
-                vehicleInfoDTO.setVehicleTraUsageCde(CUsageCde.U01.getCode());
+                //如果是客车
+                if(VehicleType.VT_A0.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())) {
+                    vehicleInfoDTO.setVehicleUsageCde(CUsageCde.U01.getCode().toString());
+                }else if(VehicleType.VT_A1.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())){
+                    //货车
+                    vehicleInfoDTO.setVehicleUsageCde(CUsageCde.U04.getCode().toString());
+                }
             }else if(riskList.size() == 1) {
                 if (riskList.get(0).getRiskCode().equals(InsuranceRisk.BUSINESS_CODE)) {
-                    //单商业
-                    vehicleInfoDTO.setVehicleUsageCde(CUsageCde.U01.getCode().toString());
-                    vehicleInfoDTO.setVehicleTraUsageCde(CUsageCde.U01.getCode());
+                    if(VehicleType.VT_A0.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())) {
+                        //客车
+                        vehicleInfoDTO.setVehicleUsageCde(CUsageCde.U01.getCode().toString());
+                    }else if(VehicleType.VT_A1.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())){
+                        //货车
+                        vehicleInfoDTO.setVehicleUsageCde(CUsageCde.U04.getCode().toString());
+                    }
+
                 } else {
                     // 单交强
-                    vehicleInfoDTO.setVehicleUsageCde(CUsageCdeJq.UJQ364001001.getCode().toString());
-                    vehicleInfoDTO.setVehicleTraUsageCde(CUsageCdeJq.UJQ364001001.getCode());
+                    if(VehicleType.VT_A0.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())) {
+                        //客车
+                        vehicleInfoDTO.setVehicleUsageCde(CUsageCdeJq.UJQ364001001.getCode().toString());
+                    }else if(VehicleType.VT_A1.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())){
+                        //货车
+                        vehicleInfoDTO.setVehicleUsageCde(CUsageCdeJq.UJQ364004001.getCode().toString());
+                    }
+
                 }
             }
         }
@@ -704,8 +721,17 @@ public class ODR1008Request extends DaJiaBaseRequest {
             vehicleInfoDTO.setVehicleNewMrk(0);
             //车牌号
             vehicleInfoDTO.setVehiclePlateNo(quoteInfoVo.getCarInfo().getLicenseNo());
+//            if(VehicleType.VT_A0.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass()))
+//            {
+//                //车牌种类
+//                vehicleInfoDTO.setVehiclePlateTyp("02");
+//            }else if(VehicleType.VT_A1.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())){
+//                //车牌种类
+//                vehicleInfoDTO.setVehiclePlateTyp("15");
+//            }
             //车牌种类
             vehicleInfoDTO.setVehiclePlateTyp("02");
+
             //是否为外地车
             vehicleInfoDTO.setVehicleEcdemicMrk(quoteInfoVo.getCarInfo().getLicenseNo().contains("晋") ?"0":"1");
         }else{
@@ -733,22 +759,51 @@ public class ODR1008Request extends DaJiaBaseRequest {
         //车型名称
         vehicleInfoDTO.setVehicleModelNme(resultDTO.getVehicleName());
         //排气量
-        vehicleInfoDTO.setVehicleNDisplacement(resultDTO.getVehicleExhaust());
+        if("0".equals(resultDTO.getVehicleExhaust()) && "0".equals(resultDTO.getCfuelType()))
+        {
+            //如果排量为空,则默认为1.0
+            vehicleInfoDTO.setVehicleNDisplacement("1.0");
+        }else{
+            vehicleInfoDTO.setVehicleNDisplacement(resultDTO.getVehicleExhaust());
+        }
+
+        vehicleInfoDTO.setVehicleNDisplacement("1.0");
         //功率
         vehicleInfoDTO.setVehicleNPower(Double.parseDouble(resultDTO.getPower()));
         //座位数
         vehicleInfoDTO.setVehicleNSeatNum(quoteInfoVo.getCarInfo().getSeatCount());
         //车辆种类
-        if(Integer.parseInt(resultDTO.getVehicleSeat()) < 6){
-            vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T01.getCode().toString());
-        }else{
-            vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T02.getCode().toString());
+        if(VehicleType.VT_A0.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())) {
+            //客车
+            if(Integer.parseInt(resultDTO.getVehicleSeat()) < 6){
+                vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T01.getCode().toString());
+            }else{
+                vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T02.getCode().toString());
+            }
+        }else if(VehicleType.VT_A1.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())){
+            //货车
+            float limitLoad = Float.parseFloat(quoteInfoVo.getCarInfo().getLimitLoad()) / 1000;
+            if(limitLoad < 2){
+                vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T06.getCode().toString());
+            }else if(limitLoad >= 2 && limitLoad < 5) {
+                vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T07.getCode().toString());
+            }else if(limitLoad >= 5 && limitLoad < 10) {
+                vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T08.getCode().toString());
+            }else if(limitLoad >= 10) {
+                vehicleInfoDTO.setVehicleVhlTyp(CVhlTyp.T09.getCode().toString());
+            }
         }
+
         //车辆品牌
         vehicleInfoDTO.setVehicleBrandId(resultDTO.getBrandId());
         //整备质量
-        vehicleInfoDTO.setVehicleNCurbWt(0);
-        vehicleInfoDTO.setVehicleNTonage(0.0);
+        vehicleInfoDTO.setVehicleNCurbWt(Float.parseFloat(quoteInfoVo.getCarInfo().getCompleteKerbMass()) / 1000);
+        //货车传递吨位
+        if(VehicleType.VT_A1.getCode().equals(quoteInfoVo.getCarInfo().getCimodelclass())) {
+            //核定载质量
+            vehicleInfoDTO.setVehicleNTonage(Double.parseDouble(quoteInfoVo.getCarInfo().getLimitLoad())/1000);
+        }
+
         //验车情况
         vehicleInfoDTO.setVehicleInspectionCde(CInspectionCde.INS3.getCode().toString());
         //免验原因

+ 31 - 4
src/main/java/com/ydtech/utils/baidu/MultiObjectDetect.java

@@ -105,13 +105,39 @@ public class MultiObjectDetect {
             JSONObject jb = request(images, "front");
             cardUserInfo.setVIN(JSON.parseObject(jb.getString("车辆识别代号")).getString("words").toString());
             cardUserInfo.setIssueDate(JSON.parseObject(jb.getString("发证日期")).getString("words"));
+            //先获取使用性质
+            String useNature = JSON.parseObject(jb.getString("使用性质")).getString("words");
             String hpzl = JSON.parseObject(jb.getString("车辆类型")).getString("words");
-            if (hpzl != null && hpzl.equals("小型轿车")) {
-                cardUserInfo.setPlateType("02");
-            } else {
-                cardUserInfo.setPlateType("01");
+            if(useNature != null && useNature.equals("非营运")) {
+                //家用车
+//                if (hpzl != null && (hpzl.equals("小型轿车") || hpzl.equals("小型普通客车"))) {
+//                    //车辆类型
+//                    cardUserInfo.setPlateType("02");
+//                    //车辆种类
+//                    cardUserInfo.set
+//                }
+                cardUserInfo.setPlateType("A0");
+                cardUserInfo.setCategory("K33");
+                cardUserInfo.setVehicleUse("05");
+
+            } else if(useNature != null && useNature.equals("货运")) {
+                //货车
+                if(hpzl != null && hpzl.equals("轻型普通货车"))
+                {
+                    cardUserInfo.setCategory("H31");
+                    cardUserInfo.setPlateType("A1");
+                    cardUserInfo.setVehicleUse("08");
+                }else{
+                    //后期进行赛选
+                    cardUserInfo.setCategory("H31");
+                    cardUserInfo.setPlateType("A1");
+                    cardUserInfo.setVehicleUse("08");
+                }
 
             }
+
+            //判断使用性质
+            cardUserInfo.setUseNature(JSON.parseObject(jb.getString("使用性质")).getString("words"));
             cardUserInfo.setMotorUsageTypeCode("8A");
             cardUserInfo.setMotorTypeCode("A0");
             if (!StringUtils.isEmpty(jb.getString("注册日期"))) {
@@ -146,6 +172,7 @@ public class MultiObjectDetect {
             cardUserInfo.setGrossMass(JSON.parseObject(jb.getString("总质量")).getString("words").replace("kg", ""));
             cardUserInfo.setApprovedPassengersCapacity(JSON.parseObject(jb.getString("核定载人数")).getString("words").replace("人", ""));
             cardUserInfo.setUnladenMass(JSON.parseObject(jb.getString("整备质量")).getString("words").replace("kg", ""));
+            cardUserInfo.setLimitLoad(JSON.parseObject(jb.getString("核定载质量")).getString("words").replace("kg", ""));
         } catch (Exception e) {
             e.printStackTrace();
         }