소스 검색

诚泰车型查询修改

Qchen 1 개월 전
부모
커밋
cfea55600a

+ 3 - 3
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/entity/request/PremiumCalculationRequest.java

@@ -91,7 +91,7 @@ public class PremiumCalculationRequest {
     private riskRelatedParty RiskRelatedParty;
 
     public PremiumCalculationRequest(QuoteVo quoteVo, BigDecimal actualValue,
-                                     ChengTaiApiParameters parameters, CarModelQueryResponse.vehicle vehicle, String orderNumber) {
+                                     ChengTaiApiParameters parameters, CarModelQueryResponse.Body.vehicle vehicle, String orderNumber) {
         this.Head = new head(parameters);
         this.BasePart = new basePart(quoteVo,orderNumber);
         this.ItemMotor = new itemMotor(quoteVo.getOwnersInfo(),quoteVo.getCarInfoVo(),vehicle,actualValue);
@@ -565,7 +565,7 @@ public class PremiumCalculationRequest {
         @JacksonXmlProperty(localName = "runMiles")
         private Integer runMiles;
 
-        public itemMotor(CustomerInfoVo customerInfoVo, CarInfoVo carInfoVo, CarModelQueryResponse.vehicle vehicle, BigDecimal actualValue) {
+        public itemMotor(CustomerInfoVo customerInfoVo, CarInfoVo carInfoVo, CarModelQueryResponse.Body.vehicle vehicle, BigDecimal actualValue) {
             this.carOwner = customerInfoVo.getName();
             this.licenseNo = carInfoVo.getLicenseNo();
             this.engineNo = carInfoVo.getEngineNo();
@@ -771,7 +771,7 @@ public class PremiumCalculationRequest {
         @JacksonXmlProperty(localName = "clxFee")
         private BigDecimal clxFee;
 
-        public static List<Kind> buildKindList(List<KindInfoVo> kindInfoVoList,RiskInfoVo ciRiskInfoVo,CarModelQueryResponse.vehicle vehicle,BigDecimal actualValue){
+        public static List<Kind> buildKindList(List<KindInfoVo> kindInfoVoList,RiskInfoVo ciRiskInfoVo,CarModelQueryResponse.Body.vehicle vehicle,BigDecimal actualValue){
             List<Kind> kindList = new ArrayList<>();
             // 是否投保交强险
             if (ciRiskInfoVo != null) {

+ 3 - 3
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/entity/request/SubmitRequest.java

@@ -95,7 +95,7 @@ public class SubmitRequest {
 //    @JacksonXmlProperty(localName = "RiskSpecialClausesList")
 //    private List<RiskSpecialClauses> RiskSpecialClausesList;
 
-    public SubmitRequest(UnderwritingVo underwritingVo, CarModelQueryResponse.vehicle vehicle,
+    public SubmitRequest(UnderwritingVo underwritingVo, CarModelQueryResponse.Body.vehicle vehicle,
                          ChengTaiApiParameters parameters) {
         InsOrdersCarUserInfo policyHolder = underwritingVo.getInsOrdersCarUserInfoList()
                 .stream().filter(insOrdersCarUserInfo -> insOrdersCarUserInfo.getPolicyPersonType().equals(2))
@@ -495,7 +495,7 @@ public class SubmitRequest {
         @JacksonXmlProperty(localName = "runMiles")
         private Integer runMiles;
 
-        public itemMotor(UnderwritingVo underwritingVo, CarModelQueryResponse.vehicle vehicle) {
+        public itemMotor(UnderwritingVo underwritingVo, CarModelQueryResponse.Body.vehicle vehicle) {
             InsOrdersCarInfo insOrdersCarInfo = underwritingVo.getInsOrdersCarInfo();
             InsOrdersCarUserInfo owner = underwritingVo.getInsOrdersCarUserInfoList()
                     .stream().filter(insOrdersCarUserInfo -> insOrdersCarUserInfo.getPolicyPersonType().equals(1))
@@ -1133,7 +1133,7 @@ public class SubmitRequest {
         private BigDecimal grossPremium;
 
 
-        public static List<Kind> buildKindList(UnderwritingVo underwritingVo,CarModelQueryResponse.vehicle vehicle){
+        public static List<Kind> buildKindList(UnderwritingVo underwritingVo,CarModelQueryResponse.Body.vehicle vehicle){
             List<InsOrdersRisk> riskInfoVoList = underwritingVo.getInsOrdersRiskList();
             List<InsOrdersKind> insOrdersKindList = underwritingVo.getInsOrdersKindList();
             InsOrdersCosts insOrdersCosts = underwritingVo.getInsOrdersCosts();

+ 165 - 144
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/entity/response/CarModelQueryResponse.java

@@ -16,159 +16,180 @@ import java.util.List;
 @NoArgsConstructor
 @Data
 public class CarModelQueryResponse {
-    /**
-     * 总数
-     */
-    @JsonProperty("maxPageNum")
-    private String maxPageNum;
-
-    /**
-     * 当前页
-     */
-    @JsonProperty("nowPage")
-    private String nowPage;
-
-    /**
-     * 每页条数
-     */
-    @JsonProperty("pageSize")
-    private String pageSize;
-
-    /**
-     * 车型信息
-     */
-    @JsonProperty("vehicleList")
-    private List<vehicle> vehicleList;
 
-    @NoArgsConstructor
-    @Data
-    public static class vehicle implements CarModelsFilter {
-        /**
-         * 精有车型编码
-         */
-        @JsonProperty("modelCode")
-        private String modelCode;
-
-        /**
-         * 品牌
-         */
-        @JsonProperty("vehicleBrand")
-        private String vehicleBrand;
-
-        /**
-         * 车系
-         */
-        @JsonProperty("vehicleSeries")
-        private String vehicleSeries;
-
-        /**
-         * 排量 单位:ml
-         */
-        @JsonProperty("vehicleDisplacement")
-        private String vehicleDisplacement;
-
-        /**
-         * 手/自动档
-         */
-        @JsonProperty("transmissionType")
-        private String transmissionType;
-
-        /**
-         * 配置型号
-         */
-        @JsonProperty("configModel")
-        private String configModel;
-
-        /**
-         * 参考价
-         */
-        @JsonProperty("vehiclePrice")
-        private String vehiclePrice;
+    private Head head;
 
-        /**
-         * 含税价
-         */
-        @JsonProperty("taxVehiclePrice")
-        private String taxVehiclePrice;
-
-        /**
-         * 整备质量 单位:千克
-         */
-        @JsonProperty("tonnage")
-        private String tonnage;
-
-        /**
-         * 座位数
-         */
-        @JsonProperty("seat")
-        private String seat;
-
-        /**
-         * 车辆种类
-         */
-        @JsonProperty("className")
-        private String className;
-
-        /**
-         * 是否减免税车型 0-非减免税车型、04-减免税车型、05-减税(注:05-减税,也是减免税车型,保费计算接口中车船税节点信息”taxRelifFlag” 计税分类字段须传 04,代表的是减免税车型。)
-         */
-        @JsonProperty("taxCutFlag")
-        private String taxCutFlag;
-
-        /**
-         *  减免税比例 减免比例返回的是百分比,如返回50,代表的是 百分之50,没减免比例则返回空
-         */
-        @JsonProperty("taxCutProp")
-        private String taxCutProp;
-
-        /**
-         * 是否新能源车辆 1:是 0:否
-         */
-        @JsonProperty("energyFlag")
-        private String energyFlag;
-
-        /**
-         * 精有车型名称
-         */
-        @JsonProperty("modelName")
-        private String modelName;
+    private Body body;
 
+    @Data
+    @NoArgsConstructor
+    public static class Head {
         /**
-         * 备注
+         * 响应信息
          */
-        @JsonProperty("remark")
-        private String remark;
+        private String resMsg;
 
         /**
-         * 能源类型
+         * 响应代码
          */
-        @JsonProperty("energyType")
-        private String energyType;
-        public CoreModelsVo toCoreModelsVo() {
-            CoreModelsVo coreModelsVo = new CoreModelsVo();
-            coreModelsVo.setModelCode(this.modelCode);
-            coreModelsVo.setModelName(this.modelName);
-            coreModelsVo.setCarYear(null);
-            coreModelsVo.setPower(null);
-            coreModelsVo.setEnginedesc(this.vehicleDisplacement);
-            coreModelsVo.setPurchasePrice(this.vehiclePrice);
-            coreModelsVo.setSeatCount(this.seat);
-            return coreModelsVo;
-        }
-
-        @Override
-        public String getCarYear() {
-            return null;
-        }
-
-        @Override
-        public String getPurchasePrice() {
-            return this.vehiclePrice;
-        }
+        private String resCode;
+    }
 
-        @Override
-        public String getSeatCount() {
-            return this.seat;
+    @Data
+    @NoArgsConstructor
+    public static class Body {
+        /**
+         * 总数
+         */
+        @JsonProperty("maxPageNum")
+        private String maxPageNum;
+
+        /**
+         * 当前页
+         */
+        @JsonProperty("nowPage")
+        private String nowPage;
+
+        /**
+         * 每页条数
+         */
+        @JsonProperty("pageSize")
+        private String pageSize;
+        /**
+         * 车型信息
+         */
+        @JsonProperty("vehicleList")
+        private List<vehicle> vehicleList;
+        @NoArgsConstructor
+        @Data
+        public static class vehicle implements CarModelsFilter {
+            /**
+             * 精有车型编码
+             */
+            @JsonProperty("modelCode")
+            private String modelCode;
+
+            /**
+             * 品牌
+             */
+            @JsonProperty("vehicleBrand")
+            private String vehicleBrand;
+
+            /**
+             * 车系
+             */
+            @JsonProperty("vehicleSeries")
+            private String vehicleSeries;
+
+            /**
+             * 排量 单位:ml
+             */
+            @JsonProperty("vehicleDisplacement")
+            private String vehicleDisplacement;
+
+            /**
+             * 手/自动档
+             */
+            @JsonProperty("transmissionType")
+            private String transmissionType;
+
+            /**
+             * 配置型号
+             */
+            @JsonProperty("configModel")
+            private String configModel;
+
+            /**
+             * 参考价
+             */
+            @JsonProperty("vehiclePrice")
+            private String vehiclePrice;
+
+            /**
+             * 含税价
+             */
+            @JsonProperty("taxVehiclePrice")
+            private String taxVehiclePrice;
+
+            /**
+             * 整备质量 单位:千克
+             */
+            @JsonProperty("tonnage")
+            private String tonnage;
+
+            /**
+             * 座位数
+             */
+            @JsonProperty("seat")
+            private String seat;
+
+            /**
+             * 车辆种类
+             */
+            @JsonProperty("className")
+            private String className;
+
+            /**
+             * 是否减免税车型 0-非减免税车型、04-减免税车型、05-减税(注:05-减税,也是减免税车型,保费计算接口中车船税节点信息”taxRelifFlag” 计税分类字段须传 04,代表的是减免税车型。)
+             */
+            @JsonProperty("taxCutFlag")
+            private String taxCutFlag;
+
+            /**
+             *  减免税比例 减免比例返回的是百分比,如返回50,代表的是 百分之50,没减免比例则返回空
+             */
+            @JsonProperty("taxCutProp")
+            private String taxCutProp;
+
+            /**
+             * 是否新能源车辆 1:是 0:否
+             */
+            @JsonProperty("energyFlag")
+            private String energyFlag;
+
+            /**
+             * 精有车型名称
+             */
+            @JsonProperty("modelName")
+            private String modelName;
+
+            /**
+             * 备注
+             */
+            @JsonProperty("remark")
+            private String remark;
+
+            /**
+             * 能源类型
+             */
+            @JsonProperty("energyType")
+            private String energyType;
+            public CoreModelsVo toCoreModelsVo() {
+                CoreModelsVo coreModelsVo = new CoreModelsVo();
+                coreModelsVo.setModelCode(this.modelCode);
+                coreModelsVo.setModelName(this.modelName);
+                coreModelsVo.setCarYear(null);
+                coreModelsVo.setPower(null);
+                coreModelsVo.setEnginedesc(this.vehicleDisplacement);
+                coreModelsVo.setPurchasePrice(this.vehiclePrice);
+                coreModelsVo.setSeatCount(this.seat);
+                return coreModelsVo;
+            }
+
+            @Override
+            public String getCarYear() {
+                return null;
+            }
+
+            @Override
+            public String getPurchasePrice() {
+                return this.vehiclePrice;
+            }
+
+            @Override
+            public String getSeatCount() {
+                return this.seat;
+            }
         }
     }
 }

+ 4 - 4
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/service/impl/ChengTaiApiRequestImpl.java

@@ -78,7 +78,7 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
         CarModelQueryRequest carInfoRequest = new CarModelQueryRequest(parameters,carInfoVo.getBrandName());
         CarModelQueryResponse carModelQueryResponse = chengTaiRequestApiComponent.carModelQuery(carInfoRequest,apiUrl);
         // 过滤车型
-        CarModelQueryResponse.vehicle vehicle = CarModelsFilterUtils.to(carModelQueryResponse.getVehicleList(), carInfoVo);
+        CarModelQueryResponse.Body.vehicle vehicle = CarModelsFilterUtils.to(carModelQueryResponse.getBody().getVehicleList(), carInfoVo);
         // 计算车辆价格
         BigDecimal carActualValue = calculateCarActualValue(vehicle,quoteVo.getCarInfoVo());
         // 报价
@@ -91,7 +91,7 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
     /**
      * 计算车辆实际价值
      */
-    private BigDecimal calculateCarActualValue(CarModelQueryResponse.vehicle vehicle,CarInfoVo carInfoVo) {
+    private BigDecimal calculateCarActualValue(CarModelQueryResponse.Body.vehicle vehicle,CarInfoVo carInfoVo) {
         BigDecimal carActualValue;
         // 获取车辆折旧月数
         DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -151,7 +151,7 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
      * @return
      */
     private PremiumCalculationResponse getResponse(PremiumCalculationRequest premiumCalculationRequest, QuoteVo quoteVo,BigDecimal carActualValue,
-                    ChengTaiApiParameters parameters, CarModelQueryResponse.vehicle vehicle, String apiUrl) throws Exception {
+                    ChengTaiApiParameters parameters, CarModelQueryResponse.Body.vehicle vehicle, String apiUrl) throws Exception {
         int index = 0;
         PremiumCalculationResponse premiumCalculationResponse = new PremiumCalculationResponse();
         String ciQuestion = null,biQuestion = null;
@@ -376,7 +376,7 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
         CarModelQueryRequest carInfoRequest = new CarModelQueryRequest(parameters,underwritingVo.getInsOrdersCarInfo().getBrandName());
         CarModelQueryResponse carModelQueryResponse = chengTaiRequestApiComponent.carModelQuery(carInfoRequest,apiUrl);
         // 过滤车型
-        CarModelQueryResponse.vehicle vehicle = CarModelsFilterUtils.to(carModelQueryResponse.getVehicleList(), carInfoVo);
+        CarModelQueryResponse.Body.vehicle vehicle = CarModelsFilterUtils.to(carModelQueryResponse.getBody().getVehicleList(), carInfoVo);
 
         UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         underwritingResultsVo.setCompanyOrderNo(underwritingVo.getInsOrders().getCompanyOrderNo());