Преглед изворни кода

国任修改查询新能源车 车价查询

wks пре 2 година
родитељ
комит
d7f875cb4d

+ 22 - 34
src/main/java/com/ydtech/modules/ins/model/guoren/CarPriceReq.java

@@ -9,11 +9,14 @@ import com.ydtech.modules.ins.model.vo.CarInfoVo;
 import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.model.vo.KindInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
+import com.ydtech.modules.order.entity.api.guoren.constants.ClauseTypeSystem;
+import com.ydtech.modules.order.entity.api.guoren.constants.FuelType;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
 import com.ydtech.utils.StringUtils;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @NoArgsConstructor
@@ -114,10 +117,20 @@ public class CarPriceReq {
         prpTitemCar.setLoanVehicleFlag("0");
         prpTitemCar.setChgOwnerFlag(carInfo.isTransferFlag() ? "1" : "0");
         prpTitemCar.setProductType("0101");
-        prpTitemCar.setClauseTypeSystem("04");
+
+        // 新能源车
+        if(FuelType.getEnergy().contains(vinQ.getFuelType())){
+            prpTitemCar.setClauseTypeSystem(ClauseTypeSystem.CTS_05.getCode());
+            prpTitemCar.setTermsSystem(ClauseTypeSystem.CTS_05.getCode());
+        }else {
+            prpTitemCar.setClauseTypeSystem(ClauseTypeSystem.CTS_04.getCode());
+            prpTitemCar.setTermsSystem(ClauseTypeSystem.CTS_04.getCode());
+        }
+
         prpTitemCar.setEngineNo(carInfo.getEngineNo());
         prpTitemCar.setBrandName(vinQ.getBrandNameBC());
         prpTitemCar.setCertifiCateDate(carInfo.getIssueDate());
+
         //使用性质  8A	家庭自用
         prpTitemCar.setUseNatureCode("8A");
         //初登日期
@@ -125,7 +138,8 @@ public class CarPriceReq {
         //核定载客数
         prpTitemCar.setSeatCount(carInfo.getSeatCount());
         prpTitemCar.setFuelType("0");
-        prpTitemCar.setTermsSystem("04");
+
+
         prpTitemCar.setTonCountlb(vinQ.getTonCount());
 //        prpTitemCar.setTonCountlb("0");
         prpTitemCar.setVinClick("0");
@@ -160,14 +174,11 @@ public class CarPriceReq {
 
         //保费计算折扣    0是第一次计算保费,1是价费联动,2是批折扣,默认0
         bc.setFeeandDiscountFlag("0");
-
         //险种信息  0500-车险 摩托车、拖拉机的商业险-0521
         bc.setRiskCode("0500");
-
         //是否涉及农险业务  默认0
         bc.setAgriFlagBC("0");
 
-
         BasePartVoDTO basePartVo = new BasePartVoDTO();
         basePartVo.setEditType("EditType_ProposalInput");
         basePartVo.setInputType("34");
@@ -176,7 +187,6 @@ public class CarPriceReq {
 //        basePartVo.setLoginRiskCode("0500");
         basePartVo.setUserCode(channelInfo.getAgentCode());
 
-
         req.setBi(new BiDTO());
         req.setCi(new CiDTO());
 
@@ -274,6 +284,9 @@ public class CarPriceReq {
             @JsonProperty(value = "chgOwnerDate")
             @JSONField(name = "chgOwnerDate")
             private String chgOwnerDate;
+            /**
+             * 条款体系
+             */
             @JsonProperty(value = "clauseTypeSystem")
             @JSONField(name = "clauseTypeSystem")
             private String clauseTypeSystem;
@@ -307,6 +320,9 @@ public class CarPriceReq {
             @JsonProperty(value = "fuelType")
             @JSONField(name = "fuelType")
             private String fuelType;
+            /**
+             * 商业险体系
+             */
             @JsonProperty(value = "termsSystem")
             @JSONField(name = "termsSystem")
             private String termsSystem;
@@ -480,32 +496,4 @@ public class CarPriceReq {
     public static class CiDTO {
     }
 
-
-//    private static BcDTO.PrpTmainDTO buildPrpTmain(){
-//        BcDTO.PrpTmainDTO tmain = new BcDTO.PrpTmainDTO();
-//        tmain.setUnitmainTenanceType2Name();
-//        "unitmainTenanceType2Name":"直通网销",
-//                "channeltypeone":"60",
-//                "argueSolution":"1",
-//                "handler1Name":"徐丽",
-//                "channeltypetwo":"0201",
-//                "agentName":"徐丽",
-//                "unitMaintenanceName":"南京测试标准件",
-//                "businessNature":"0",
-//                "activityPlan":"IXX",
-//                "signDate":"2022-06-17",
-//                "handlerCode":"S0300042",
-//                "channeltypeoneName":"行销",
-//                "unitMaintenanceCode":"0315G022105203121",
-//                "unitmainTenanceType1":"G",
-//                "unitmainTenanceType2":"06",
-//                "channeltypetwoName":"行销传统",
-//                "handler1Code":"S0300042",
-//                "comName":"江苏南京溧水支公司个客综合",
-//                "comCode":"031514A3",
-//                "operateDate":"2022-06-17",
-//                "startDate":"2022-06-18",
-//                "eProposalFlag":"1",
-//                "business":"2020-06-18"
-//    }
 }

+ 6 - 48
src/main/java/com/ydtech/modules/ins/model/guoren/VinQueryReq.java

@@ -1,9 +1,7 @@
 package com.ydtech.modules.ins.model.guoren;
 
 import com.alibaba.fastjson.annotation.JSONField;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.ydtech.modules.ins.model.ya.CarModel_Req;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -50,52 +48,12 @@ public class VinQueryReq {
     @JSONField(name = "userCode")
     private String userCode;
 
-
-    /**
-     * 构造VIN请求参数
-     *
-     * @author: lig
-     * @date: 2023年08月14日 0014
-     */
-    @JsonIgnore
-    public static VinQueryReq buildParam(CarModel_Req carModelReq, ChannelInfoResp channelInfo) {
-
-        VinQueryReq vinReq = new VinQueryReq();
-        vinReq.setFrameNo(carModelReq.getFrameNo());
-        vinReq.setEngineNo(carModelReq.getEngineNo());
-        vinReq.setLicenseNo(carModelReq.getLicenseNo());
-
-
-        vinReq.setComCode(channelInfo.getData().get(0).getPrptmain().getComCode());
-        vinReq.setUserCode(channelInfo.getData().get(0).getPrptmain().getHandlerCode());
-//        vinReq.setComCode("160700A8");
-//        vinReq.setUserCode("S1600104");
-
-
-        return vinReq;
-
+    public VinQueryReq(VinQueryReq vinQueryReq, ChannelInfoDto channelInfo) {
+        this.frameNo = vinQueryReq.getFrameNo();
+        this.engineNo = vinQueryReq.getEngineNo();
+        this.licenseNo = vinQueryReq.getLicenseNo();
+        this.comCode = channelInfo.getComCode();
+        this.userCode = channelInfo.getHandlerCode();
     }
 
-    /**
-     * 构造VIN请求参数
-     *
-     * @author: lig
-     * @date: 2023年08月14日 0014
-     */
-    @JsonIgnore
-    public static VinQueryReq buildParam2(VinQueryReq vinQueryReq, ChannelInfoDto channelInfo) {
-
-        VinQueryReq vinReq = new VinQueryReq();
-        vinReq.setFrameNo(vinQueryReq.getFrameNo());
-        vinReq.setEngineNo(vinQueryReq.getEngineNo());
-        vinReq.setLicenseNo(vinQueryReq.getLicenseNo());
-
-
-        vinReq.setComCode(channelInfo.getComCode());
-        vinReq.setUserCode(channelInfo.getHandlerCode());
-
-
-        return vinReq;
-
-    }
 }

+ 22 - 0
src/main/java/com/ydtech/modules/order/entity/api/guoren/constants/ClauseTypeSystem.java

@@ -0,0 +1,22 @@
+package com.ydtech.modules.order.entity.api.guoren.constants;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @description: 条款体系  商业险体系
+ * @author: wenks
+ * @date: 2024/1/23 11:00
+ **/
+@AllArgsConstructor
+@Getter
+public enum ClauseTypeSystem {
+
+    CTS_04("04", "默认"),
+    CTS_05("05", "新能源");
+
+    private final String code;
+
+    private final String desc;
+
+}

+ 36 - 0
src/main/java/com/ydtech/modules/order/entity/api/guoren/constants/FuelType.java

@@ -0,0 +1,36 @@
+package com.ydtech.modules.order.entity.api.guoren.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @description: 能源类型
+ * @author: wenks
+ * @date: 2024/1/23 11:00
+ **/
+@AllArgsConstructor
+@Getter
+public enum FuelType {
+
+    FT_0("0", "燃油"),
+    FT_1("1", "纯电动"),
+    FT_2("2", "燃料电池"),
+    FT_3("3", "插电式混合动力"),
+    FT_4("4", "其他混合动力"),
+    FT_9("9", "其他");
+
+    private final String code;
+
+    private final String desc;
+
+    private static final String[] ENERGY = new String[]{FT_1.code, FT_2.code, FT_3.code};
+
+    public static List<String> getEnergy() {
+        return Arrays.asList(ENERGY);
+    }
+
+}

+ 37 - 0
src/main/java/com/ydtech/modules/order/entity/api/guoren/constants/UseNatureCode.java

@@ -0,0 +1,37 @@
+package com.ydtech.modules.order.entity.api.guoren.constants;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+
+/**
+ * @version
+ * @description: TODO
+ * @author: wenks
+ * @date: 2024/1/23 11:19
+ **/
+@AllArgsConstructor
+@Getter
+public enum UseNatureCode {
+
+    UNC_8A("8A",	"家庭自用"),
+    UNC_8B("8B",	"非营业企业"),
+    UNC_8D("8D",	"非营业个人"),
+    UNC_8E("8E",	"非营业党政机关"),
+    UNC_8F("8F",	"非营业事业团体"),
+    UNC_9B("9B",	"营业城市公交"),
+    UNC_9C("9C",	"营业公路客运"),
+    UNC_9D("9D",	"营业货运"),
+    UNC_9E("9E",	"营业旅游客运"),
+    UNC_9F("9F",	"营业出租 预约 出租客运"),
+    UNC_9G("9G",	"营业租赁"),
+    UNC_9H("9H",	"危化品运输"),
+    UNC_7A("7A", " 兼用型"),
+    UNC_7B("7B",	"运输型");
+
+    private final String code;
+
+    private final String desc;
+
+}

+ 35 - 0
src/main/java/com/ydtech/modules/order/entity/api/guoren/constants/UseNatureCodeMapping.java

@@ -0,0 +1,35 @@
+package com.ydtech.modules.order.entity.api.guoren.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+
+/**
+ * @description: 使用性质映射
+ * @author: wenks
+ * @date: 2024/1/23 11:22
+ **/
+@AllArgsConstructor
+@Getter
+public enum UseNatureCodeMapping {
+
+    UM_01("01", "营业出租租赁", UseNatureCode.UNC_9F.getCode()),
+    UM_02("02", "营业城市公交", UseNatureCode.UNC_9B.getCode()),
+    UM_03("03", "营业公路客运", UseNatureCode.UNC_9C.getCode()),
+    UM_04("04", "营业货运", UseNatureCode.UNC_9D.getCode()),
+
+    UM_05("05", "家庭自用", UseNatureCode.UNC_8A.getCode()),
+    UM_06("06", "非营业机关", UseNatureCode.UNC_8E.getCode()),
+    UM_07("07", "非营业企业", UseNatureCode.UNC_8B.getCode()),
+    UM_08("08", "非营业货运", UseNatureCode.UNC_8D.getCode());
+
+    private final String code;
+
+    private final String desc;
+
+    private final String useNatureCode;
+
+    public static final String TITLE = "UM_";
+
+}

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

@@ -887,7 +887,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
      * @date: 2023年08月18日 0018
      */
     public VinQueryResp.DataDTO vinQuery(VinQueryReq vinQueryReq, ChannelInfoDto channelInfo) {
-        VinQueryReq req = VinQueryReq.buildParam2(vinQueryReq, channelInfo);
+        VinQueryReq req = new VinQueryReq(vinQueryReq, channelInfo);
         VinQueryResp resp = guorenRequestApiComponent.request(req, PlatformInterfaceCode.API_IIRBT00009,
                 VinQueryResp.class);
         if (resp.getResultCode() == 1) {
@@ -902,7 +902,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
      */
     public CarPriceResp.DataDTO carPriceQuery(BaseQuoteInfoVo yaQuoteInfoVo, VinQueryResp.DataDTO vinQ,
                                               ChannelInfoDto channelInfo) {
-        //构造请求参数
+
         CarPriceReq req = CarPriceReq.buildCarPriceParam(yaQuoteInfoVo, vinQ, channelInfo);
         JSONObject request = guorenRequestApiComponent.request(req, PlatformInterfaceCode.API_IIRBT00003);
         Object cars = request.get("cars");