Переглянути джерело

Merge remote-tracking branch 'origin/master'

lixiaolong 1 тиждень тому
батько
коміт
1ad2bcf26f

+ 1 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/component/TaiPingCrawlerRequestComponent.java

@@ -306,7 +306,7 @@ public class TaiPingCrawlerRequestComponent {
                 = requestPostStrDecrypt(RequestUrl.FIND_APPLY_NO, request, new TypeReference<>(){}, httpHeaders,parameters);
         return response.getData()
                 .getGsApplyInfoMainDtos()
-                .stream().filter(x -> x.getApplyNo().equals(response.getData().getApplyNoDefault()))
+                .stream().filter(x -> x.getApplyNo().equals(parameters.getApplyNo()))
                 .findFirst().orElseThrow(() -> new SystemException("决策单元代码不存在"));
     }
 

+ 9 - 1
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/TaipingCrawlerConfigureParameters.java

@@ -39,9 +39,13 @@ public class TaipingCrawlerConfigureParameters implements ConfigureParameters {
      */
     private String salesmanCode;
     /**
-     * 业务归属机构
+     * 业务归属机构code
      */
     private String companyCode;
+    /**
+     *
+     */
+    private String companyName;
     /**
      * 销售信息代码
      */
@@ -66,6 +70,10 @@ public class TaipingCrawlerConfigureParameters implements ConfigureParameters {
      * 中介业务员
      */
     private String interSalesmanCode;
+    /**
+     * 决策单元代码
+     */
+    private String applyNo;
 
     private String policySort;
 

+ 235 - 207
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerPremiumCalculateRequest.java

@@ -1,5 +1,6 @@
 package com.jzg.quotation.taiping.crawler.entity.request;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.*;
 import com.jzg.quotation.taiping.crawler.constant.KindCodeEnum;
@@ -19,6 +20,7 @@ import java.util.stream.Collectors;
 
 @NoArgsConstructor
 @Data
+@JsonInclude(JsonInclude.Include.ALWAYS)
 public class TaiPingCrawlerPremiumCalculateRequest {
 
     @JsonProperty("riskCodeType")
@@ -96,10 +98,6 @@ public class TaiPingCrawlerPremiumCalculateRequest {
     @JsonProperty("isMatchClause")
     private Boolean isMatchClause;
 
-    @JsonProperty("isStandardProduct")
-    private String isStandardProduct;
-
-
     public TaiPingCrawlerPremiumCalculateRequest(QuoteVo quoteVo, TaipingCrawlerConfigureParameters parameters, String orderNo,
                                                  TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO motor, String carActualValue,
                                                  TaiPingCrawlerFindByProductCodeResponse.Record record, TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,
@@ -129,11 +127,11 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         // 投保人
         this.pfRelatedPartyDto = new PfRelatedPartyDtoDTO(quoteVo.getPolicyHolderInfo());
         // 车辆信息
-        this.pfItemMotorDto = new PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), motor, orderNo, carActualValue);
+        this.pfItemMotorDto = new PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), motor, orderNo, carActualValue,quoteVo);
         // 被保险人
         this.pfRiskRelatedPartyDto = new PfRiskRelatedPartyDtoDTO(quoteVo.getInsuredPersonInfo());
         if (taiPingCrawlerGetGuCarShipTaxListData != null) {
-            this.pfProposalCarShipTaxDto = new PfProposalCarShipTaxDtoDTO(quoteVo.getVehicleAndVesselTaxVo(),quoteVo.getCarInfoVo(),taiPingCrawlerGetGuCarShipTaxListData.getPfProposalCarShipTaxDto());
+            this.pfProposalCarShipTaxDto = new PfProposalCarShipTaxDtoDTO(quoteVo.getVehicleAndVesselTaxVo(),taiPingCrawlerGetGuCarShipTaxListData.getPfProposalCarShipTaxDto());
         }
         this.pfPolicyInfoDto = new PfPolicyInfoDtoDTO(quoteVo);
         if (quoteVo.getAccidentalDrivings() != null && quoteVo.getAccidentalDrivings().size() > 0) {
@@ -156,6 +154,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfMainDtoDTO {
         @JsonProperty("agreementCode")
         private String agreementCode;
@@ -221,14 +220,14 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String departmentName;
         @JsonProperty("disabled")
         private boolean disabled;
-        @JsonProperty("differentProtectFlag")
-        private String differentProtectFlag;
+//        @JsonProperty("differentProtectFlag")
+//        private String differentProtectFlag;
         @JsonProperty("doubleProtectFlag")
         private String doubleProtectFlag;
         @JsonProperty("dsMakingTypeDetail")
         private String dsMakingTypeDetail;
-        @JsonProperty("feeServiceLinkage")
-        private String feeServiceLinkage;
+//        @JsonProperty("feeServiceLinkage")
+//        private String feeServiceLinkage;
         @JsonProperty("forceLinkCIFlag")
         private boolean forceLinkCIFlag;
         @JsonProperty("frontingCompany")
@@ -270,7 +269,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("isSpecialCarFlag")
         private String isSpecialCarFlag;
         @JsonProperty("itemAddress")
-        private List<String> itemAddress;
+        private String itemAddress;
         @JsonProperty("label")
         private String label;
         @JsonProperty("lables")
@@ -283,8 +282,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String oano;
         @JsonProperty("optBtn")
         private String optBtn;
-        @JsonProperty("outOrderNo")
-        private String outOrderNo;
+//        @JsonProperty("outOrderNo")
+//        private String outOrderNo;
         @JsonProperty("outerCompanyCode")
         private String outerCompanyCode;
         @JsonProperty("outerCompanyName")
@@ -343,8 +342,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String teamManagerName;
         @JsonProperty("teamName")
         private String teamName;
-        @JsonProperty("telKetConfSwitch")
-        private String telKetConfSwitch;
+//        @JsonProperty("telKetConfSwitch")
+//        private String telKetConfSwitch;
         @JsonProperty("touchId")
         private String touchId;
         @JsonProperty("tpFeeFlag")
@@ -353,12 +352,6 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String value;
         @JsonProperty("zlbWindowNo")
         private String zlbWindowNo;
-        @JsonProperty("underwriteName")
-        private String underwriteName;
-        @JsonProperty("underWriteInd")
-        private String underWriteInd;
-        @JsonProperty("underwriteCode")
-        private String underwriteCode;
         public PfMainDtoDTO(TaiPingCrawlerFindByProductCodeResponse.Record record, TaipingCrawlerConfigureParameters parameters,
                             TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,
                             TaiPingCrawlerFindApplyNoResponse.GsApplyInfoMainDto gsApplyInfoMainDto, QuoteVo quoteVo) {
@@ -374,7 +367,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.businessMode = "2";
             this.agreementNo = parameters.getAgreementNo();
             this.companyCode = parameters.getCompanyCode();
-            this.companyName = record.getCompanyName();
+            this.companyName = taiPingCrawlerFindSolutionCodeData.getCompanyName();
             this.salesmanCode = parameters.getSalesmanCode();
             this.salesmanName = taiPingCrawlerFindSolutionCodeData.getSalesmanName();
             this.outerUserCode = "";
@@ -395,7 +388,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.departmentCode = "";
             this.departmentName = "";
             this.governmentType = "";
-            this.itemAddress = new ArrayList<>();
+            this.itemAddress = "";
             this.governmentServiceType = "";
             this.agreementTypeName = record.getAgreementTypeName();
             this.lables = record.getLables();
@@ -432,41 +425,40 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.zlbWindowNo =  "";
             this.optBtn = "";
             this.applyName = "";
-            this.decisionMakingUnit = "";
-            this.dsMakingTypeDetail = "";
+            this.decisionMakingUnit = gsApplyInfoMainDto.getDecisionMakingUnit();
+            this.dsMakingTypeDetail = gsApplyInfoMainDto.getDsMakingTypeDetail();
             this.compLevel = "0";
             this.serialNo = "";
-            this.outOrderNo = "";
+//            this.outOrderNo = "";
             this.bankCustomerManagerCode = "";
             this.bankBranchCode = "";
             this.newCarFlag = "1";
             if (quoteVo.getCiRiskInfoVo()!= null && quoteVo.getBiRiskInfoVo() != null) {
-                this.differentProtectFlag = "1";
                 this.doubleProtectFlag = "1";
             } else {
                 this.doubleProtectFlag = "0";
-                this.differentProtectFlag = "0";
             }
             this.oano = "";
             this.poaSerialNo = "";
             this.isDangerBz = null;
             this.tpFeeFlag = "0";
-            this.feeServiceLinkage = "0";
+//            this.feeServiceLinkage = "0";
             this.policySort = "NSP";
             this.argueSolution = "1";
-            this.arbitoryName = null;
+            this.arbitoryName = "";
             this.quotationPlanFlag = "0";
             this.isSpecialCarFlag = "0";
             this.carIdSplitFlag = "";
             this.appId = "";
             this.touchId = "";
-            this.telKetConfSwitch = "0";
+//            this.telKetConfSwitch = "0";
             this.premiumTrialFlag = "0";
         }
     }
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfVehicleOwnerDTO {
         @JsonProperty("name")
         private String name;
@@ -533,29 +525,30 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.lifeInd = "";
             this.customerGradeLabel = "";
             this.carDriveAddress = "";
-            this.customerGroup = "";
-            this.licenseNo = carInfoVo.getLicenseNo();
-            if (carInfoVo.getCarNatureCode().equals("02")) {
-                this.driveUseAttribute = "A";
-            } else {
-                this.driveUseAttribute = "F";
-            }
-            this.printBrandName = carInfoVo.getBrandName();
-            this.frameNo = carInfoVo.getVinNo();
-            this.engineNo = carInfoVo.getEngineNo();
-            this.singeinDate = carInfoVo.getRegisterDate();
-            this.certificateDate = carInfoVo.getIssueDate();
-            this.address = ownersInfo.getAddr();
-            this.enrollDate = carInfoVo.getRegisterDate();
-            this.nationality = "汉";
-            this.identifyStartDate = ownersInfo.getIdentifyValidDate();
-            this.identifyEndDate = ownersInfo.getIdentifyValidEndDate();
+//            this.customerGroup = "";
+//            this.licenseNo = carInfoVo.getLicenseNo();
+//            if (carInfoVo.getCarNatureCode().equals("02")) {
+//                this.driveUseAttribute = "A";
+//            } else {
+//                this.driveUseAttribute = "F";
+//            }
+//            this.printBrandName = carInfoVo.getBrandName();
+//            this.frameNo = carInfoVo.getVinNo();
+//            this.engineNo = carInfoVo.getEngineNo();
+//            this.singeinDate = carInfoVo.getRegisterDate();
+//            this.certificateDate = carInfoVo.getIssueDate();
+//            this.address = ownersInfo.getAddr();
+//            this.enrollDate = carInfoVo.getRegisterDate();
+//            this.nationality = "汉";
+//            this.identifyStartDate = ownersInfo.getIdentifyValidDate();
+//            this.identifyEndDate = ownersInfo.getIdentifyValidEndDate();
         }
 
     }
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfRelatedPartyDtoDTO {
         @JsonProperty("actController")
         private String actController;
@@ -601,8 +594,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String companyCode;
         @JsonProperty("companyType")
         private String companyType;
-        @JsonProperty("contactDealType")
-        private String contactDealType;
+//        @JsonProperty("contactDealType")
+//        private String contactDealType;
         @JsonProperty("contactIdEndDate")
         private String contactIdEndDate;
         @JsonProperty("contactIdStartDate")
@@ -752,7 +745,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.longTermIdentifyCard = "0";
             }
             this.identifyStartDate = policyHolderInfo.getIdentifyValidDate();
-            this.identifyEndDate = policyHolderInfo.getIdentifyValidEndDate();
+            this.identifyEndDate = policyHolderInfo.getIdentifyValidEndDate().equals("9999-12-31") ? "2199-12-31" : policyHolderInfo.getIdentifyValidEndDate();
             this.itemAddress = List.of(
                     policyHolderInfo.getProvinceCode(),
                     policyHolderInfo.getCityCode(),
@@ -775,17 +768,17 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.countryCode = "CN";
             this.contactIdentifyType = "01";
             this.contactIdentifyNumber = "";
-            this.contactSex = "";
-            this.contactDealType = "1";
+            this.contactSex = "0";
+//            this.contactDealType = "1";
             this.appliPhoneHolderName = "";
             this.appliPhoneHolderCertiType = "";
             this.appliPhoneHolderCertNumber = "";
-            this.leaderType = "1";
+//            this.leaderType = "1";
             this.leaderName = "";
-            this.leaderIdType = "01";
+//            this.leaderIdType = "01";
             this.leaderIdNo = "";
-            this.leaderIdSDate = "";
-            this.leaderIdEDate = "";
+//            this.leaderIdSDate = "";
+//            this.leaderIdEDate = "";
             this.leaderContact = "";
             this.leaderPCD = "";
             this.leaderAddress = "";
@@ -802,43 +795,44 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.shareHolderIdNo = "";
             this.shareHolderIdSDate = "";
             this.shareHolderIdEDate = "";
-            this.actControllerType = "";
+//            this.actControllerType = "";
             this.actController = "";
             this.actControllerIdType = "";
             this.actControllerIdNo = "";
             this.actControllerSDate = "";
             this.actControllerEDate = "";
-            this.companyType = "";
+            this.companyType = "01";
             this.nation = "汉";
-            this.name = "";
-            this.ownerNature = "";
-            this.isApplicantOperator = "";
-            this.clientCode = "";
-            this.clientCName = "";
-            this.clientType = "";
-            this.cifCode = "";
-            this.department = "";
-            this.relationWithBrach = "";
-            this.showClientAddress = "";
-            this.addressCName = "";
-            this.mobile = "";
-            this.identifyTypeName = "";
-            this.companyCode = "";
-            this.departmentName = "";
-            this.relationWithBrachName = "";
-            this.riskCode = "";
-            this.countryName = "";
-            this.isIntercept = "";
+//            this.name = "";
+//            this.ownerNature = "";
+//            this.isApplicantOperator = "";
+//            this.clientCode = "";
+//            this.clientCName = "";
+//            this.clientType = "";
+//            this.cifCode = "";
+//            this.department = "";
+//            this.relationWithBrach = "";
+//            this.showClientAddress = "";
+//            this.addressCName = "";
+//            this.mobile = "";
+//            this.identifyTypeName = "";
+//            this.companyCode = "";
+//            this.departmentName = "";
+//            this.relationWithBrachName = "";
+//            this.riskCode = "";
+//            this.countryName = "";
+//            this.isIntercept = "";
             this.issuer = "";
-            this.newCustomSystemOperatorType = "";
+//            this.newCustomSystemOperatorType = "";
             this.operatorType = "1";
-            this.detailAddress = Collections.emptyList();
+            this.detailAddress = new ArrayList<>();
         }
 
     }
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfItemMotorDtoDTO {
         @JsonProperty("actualValue")
         private String actualValue;
@@ -905,7 +899,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("commercialCarGradeSource")
         private String commercialCarGradeSource;
         @JsonProperty("completeKerbMass")
-        private Double completeKerbMass;
+        private String completeKerbMass;
         @JsonProperty("configModel")
         private String configModel;
         @JsonProperty("coreValueType")
@@ -913,7 +907,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("countryNature")
         private String countryNature;
         @JsonProperty("cvFlag")
-        private Boolean cvFlag;
+        private String cvFlag;
         @JsonProperty("doubleProtectFlag")
         private String doubleProtectFlag;
         @JsonProperty("driveUseAttribute")
@@ -1047,7 +1041,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("saleCompany")
         private String saleCompany;
         @JsonProperty("seatCount")
-        private Integer seatCount;
+        private String seatCount;
         @JsonProperty("shVehicleCode")
         private String shVehicleCode;
         @JsonProperty("singeinDate")
@@ -1059,7 +1053,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("thirdRunRoute")
         private String thirdRunRoute;
         @JsonProperty("tonCount")
-        private Integer tonCount;
+        private String tonCount;
         @JsonProperty("totalTractionMass")
         private String totalTractionMass;
         @JsonProperty("transferDate")
@@ -1090,7 +1084,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String whiteListFlag;
         @JsonProperty("zjxlGrade")
         private String zjxlGrade;
-        public PfItemMotorDtoDTO(CarInfoVo carInfoVo, TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO motor, String orderNo, String actualValue) {
+        public PfItemMotorDtoDTO(CarInfoVo carInfoVo, TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO motor, String orderNo, String actualValue, QuoteVo quoteVo) {
             this.isJy = false;
             this.val2 = false;
             this.brandName = motor.getBrandName();
@@ -1103,12 +1097,12 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.carKindCodeShow = "12";
             }
             this.carKindCodeShowName = motor.getCiModelClass();
-            this.vehicleCategory = carInfoVo.getCarTypeCode();
-            this.seatCount = Integer.valueOf(carInfoVo.getSeatCount());
+            this.vehicleCategory = motor.getVehicleCategory();
+            this.seatCount = carInfoVo.getSeatCount();
             if (carInfoVo.getTonCount() != null && !carInfoVo.getTonCount().isEmpty()) {
-                this.tonCount = (int) Double.parseDouble(carInfoVo.getTonCount());
+                this.tonCount =carInfoVo.getTonCount();
             } else {
-                this.tonCount = 0;
+                this.tonCount = "0";
             }
             this.negotiatedActualValue = actualValue;
             this.useNatureShow = carInfoVo.getCarNatureCode();
@@ -1119,7 +1113,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.driveUseAttribute = "F";
             }
             this.carUseType = carInfoVo.getPropertyCode();
-            this.carID = motor.getCarID();
+            this.carID = "";
             this.familyName = motor.getFamilyName();
             this.colorCode = motor.getColorCode();
             this.ciModelCode = motor.getCiModelCode();
@@ -1127,18 +1121,18 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.purchasePrice = motor.getPurchasePrice();
             this.carBrand = motor.getCarBrand();
             this.actualValue = actualValue;
-            this.localVehicleInd = motor.getLocalVehicleInd();
-            this.completeKerbMass = motor.getCompleteKerbMass();
+            this.localVehicleInd = carInfoVo.getLicenseNo().contains("晋") ? "1" : "0";
+            this.completeKerbMass = motor.getCompleteKerbMass().toString();
             this.fuelType = motor.getFuelType();
             this.factory = motor.getFactory();
-            this.engineModel = motor.getEngineModel();
+            this.engineModel = "";
             this.factoryId = motor.getFactoryId();
             this.clauseType = motor.getClauseType();
             this.vehicleModelKind = motor.getVehicleModelKind();
             this.hazardType = motor.getHazardType();
             this.glassType = motor.getGlassType();
             this.carName = motor.getCarName();
-            this.runAreaCode = motor.getRunAreaCode();
+            this.runAreaCode = "02";
             this.noticeType = motor.getNoticeType();
             this.carCheckValidTime = "";
             this.configModel = "";
@@ -1146,22 +1140,22 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.licenseTypeCode = motor.getLicenseTypeCode();
             this.powerTypeCode = "";
             this.powerType = "";
-            this.doubleProtectFlag = "";
+            if (quoteVo.getCiRiskInfoVo()!= null && quoteVo.getBiRiskInfoVo() != null) {
+                this.doubleProtectFlag = "1";
+            } else {
+                this.doubleProtectFlag = "0";
+            }
             this.taxVehicleCategory = motor.getTaxVehicleCategory();
             this.countryNature = motor.getCountryNature();
             this.makeDate = motor.getMakeDate();
-            this.jgVehicleCheckCode = motor.getJgVehicleCheckCode();
-            this.carId = motor.getCarID();
+            this.jgVehicleCheckCode = "";
             this.noLicenseNo = Boolean.FALSE;
-            this.vehicleQueryType = motor.getVehicleQueryType();
-            this.runAreaName = motor.getRunAreaName();
-            this.sale4SFlag = motor.getSale4SFlag();
-            this.saleCompany = motor.getSaleCompany();
-            this.saleAreaCode = motor.getSaleAreaCode();
-            this.provinceEcdemicVehicleFlag = motor.getProvinceEcdemicVehicleFlag();
-            this.vehicleFatteryFlag = motor.getVehicleFatteryFlag();
-            this.nerveCentre = motor.getNerveCentre();
-            this.thirdRunRoute = motor.getThirdRunRoute();
+            this.vehicleQueryType = "1";
+            this.runAreaName = "境内";
+            this.sale4SFlag = null;
+            this.saleCompany = "";
+            this.saleAreaCode = "";
+            this.provinceEcdemicVehicleFlag = "";
             this.licenseNo = carInfoVo.getLicenseNo();
             this.frameNo = carInfoVo.getVinNo();
             this.engineNo = carInfoVo.getEngineNo();
@@ -1170,7 +1164,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             if (StringUtils.hasLength(carInfoVo.getLicenseNo())) {
                 this.carNewOldFlag = "1";
             } else {
-                this.carNewOldFlag = "0";
+                this.carNewOldFlag = "O";
             }
             this.enrollDate = carInfoVo.getRegisterDate() ;
             this.useYears = getUseYears(carInfoVo.getRegisterDate());
@@ -1187,26 +1181,25 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.transferDate = carInfoVo.isTransferBi() || carInfoVo.isTransfer() ? carInfoVo.getTransferDate() : "";
             this.loanVehicleFlag = carInfoVo.isLoanStatus() ? "1" : "0";
             this.familyCode = motor.getFamilyCode();
-            this.hkFlag = motor.getHkFlag();
+            this.hkFlag = "1";
             this.fuelTypeName = motor.getFuelTypeName();
-            this.whiteListFlag = motor.getWhiteListFlag();
-            this.whiteListElecContactNo = motor.getWhiteListElecContactNo();
-            this.groupCode = motor.getGroupCode();
-            this.commercialCarGradeSource = motor.getCommercialCarGradeSource();
-            this.commercialCarGrade = motor.getCommercialCarGrade();
-            this.saleAreaName = motor.getSaleAreaName();
-            this.totalTractionMass = motor.getTotalTractionMass();
+            this.whiteListFlag = "0";
+            this.whiteListElecContactNo = "";
+            this.groupCode = "";
+            this.commercialCarGradeSource = "";
+            this.commercialCarGrade = "";
+            this.saleAreaName = "";
+            this.totalTractionMass = "0";
             this.quoteName = "";
-            this.classificationOfCDW = motor.getClassificationOfCDW();
-            this.isSpecialCarFlag = motor.getIsSpecialCarFlag();
-            this.cvFlag = Boolean.valueOf(motor.getCvFlag());
-            this.frameNoHeteroType = motor.getFrameNoHeteroType();
-            this.principalCHDVehicleGrade = motor.getPrincipalCHDVehicleGrade();
-            this.principalCHDTeamGrade = motor.getPrincipalCHDTeamGrade();
-            this.principalQuotationDiscount = motor.getPrincipalQuotationDiscount();
-            this.chdVehicleGrade = motor.getChdVehicleGrade();
-            this.chdTeamGrade = motor.getChdTeamGrade();
-            this.zjxlGrade = motor.getZjxlGrade();
+            this.classificationOfCDW = "";
+            this.isSpecialCarFlag = "0";
+            this.cvFlag = "0";
+            this.principalCHDVehicleGrade = "";
+            this.principalCHDTeamGrade = "";
+            this.principalQuotationDiscount = "";
+            this.chdVehicleGrade = "";
+            this.chdTeamGrade = "";
+            this.zjxlGrade = "";
             if (carInfoVo.getEnergyTypeCode().equals("0")) {
                 this.newEnergyFlag = "0";
                 this.energyType = "0";
@@ -1214,12 +1207,12 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.newEnergyFlag = "1";
                 this.energyType = "1";
             }
-            this.energyTypeDescribe = motor.getEnergyTypeDescribe();
-            this.range = motor.getRange();
-            this.vehicleStyleUniqueId = motor.getVehicleStyleUniqueId();
-            this.certificateType = motor.getCertificateType();
-            this.certificateNo = motor.getCertificateNo();
-            this.certificateReportDate = motor.getCertificateReportDate();
+            this.energyTypeDescribe = "";
+            this.range = "";
+            this.vehicleStyleUniqueId = "";
+            this.certificateType = "";
+            this.certificateNo = "";
+            this.certificateReportDate = "";
             this.longLoadPermit = motor.getLongLoadPermit();
             this.brandId = motor.getBrandId();
             this.colorName = motor.getColorName();
@@ -1236,6 +1229,11 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.motorTypeName = motor.getMotorTypeName();
             this.newEnergyClauseFlag = motor.getNewEnergyClauseFlag();
             this.carIdRenewalFlag = "";
+//            this.vehicleFatteryFlag = motor.getVehicleFatteryFlag();
+//            this.nerveCentre = motor.getNerveCentre();
+//            this.thirdRunRoute = motor.getThirdRunRoute();
+//            this.carId = motor.getCarID();
+//            this.frameNoHeteroType = motor.getFrameNoHeteroType();
         }
 
         public int getUseYears(String registerDate) {
@@ -1252,6 +1250,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfRiskRelatedPartyDtoDTO {
         @JsonProperty("actController")
         private String actController;
@@ -1268,7 +1267,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("appliAddress")
         private String appliAddress;
         @JsonProperty("appliAge")
-        private Integer appliAge;
+        private String appliAge;
         @JsonProperty("appliCompanyAddress")
         private String appliCompanyAddress;
         @JsonProperty("appliName")
@@ -1318,7 +1317,9 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("countyCode")
         private String countyCode;
         @JsonProperty("detailAddress")
-        private List<Object> detailAddress;
+        private List<String> detailAddress;
+        @JsonProperty("packageOwner")
+        private String packageOwner;
         @JsonProperty("email")
         private String email;
         @JsonProperty("fileType")
@@ -1467,7 +1468,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.longTermIdentifyCard = "0";
             }
             this.identifyStartDate = insuredPersonInfo.getIdentifyValidDate();
-            this.identifyEndDate = insuredPersonInfo.getIdentifyValidEndDate();
+            this.identifyEndDate = insuredPersonInfo.getIdentifyValidEndDate().equals("9999-12-31") ? "2199-12-31" : insuredPersonInfo.getIdentifyValidEndDate();
             this.itemAddress = List.of(
                     insuredPersonInfo.getProvinceCode(),
                     insuredPersonInfo.getCityCode(),
@@ -1491,81 +1492,84 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.insuredPhoneHolderName = "";
             this.insuredPhoneHolderCertiType = "";
             this.insuredPhoneHolderCertNumber = "";
-            this.leaderType = "1";
             this.subLeaderName = "";
+//            this.leaderType = "1";
             this.leaderIdType = "01";
             this.leaderIdNo = "";
             this.leaderIdSDate = "";
             this.leaderIdEDate = "";
             this.subLeaderConactMobile = "";
-            this.businessScope = "";
-            this.leaderPCD = "";
             this.subLeaderAddress = "";
-            this.insuredSex = "";
+            this.businessScope = "";
+
+            this.insuredSex = insuredPersonInfo.getGender();
             this.insuredBirthDate = insuredPersonInfo.getBirthday();
             this.insuredAge = insuredPersonInfo.getAge();
             this.insuredCompanyAddress = "";
             this.countryCode = "CN";
-            this.companyType = "";
+            this.companyType = "01";
             this.companyEstablishDate = "";
             this.nation = "汉";
             this.issuer = "";
+            this.appliName = "";
+            this.appliAddress = "";
+            this.mobilePhone = "";
+            this.industryCode = "";
+            this.contactSex = "";
+            this.contactDealType = "1";
+            this.appliPhoneHolderName = "";
+            this.appliPhoneHolderCertiType = "";
+            this.appliPhoneHolderCertNumber = "";
+            this.leaderName = "";
+            this.leaderContact = "";
+            this.leaderAddress = "";
+            this.leaderPCD = "";
             this.businessDealerName = "";
             this.businessDealerIdType = "";
             this.businessDealerIdNumber = "";
+            this.sex = "";
+            this.birthDate = "";
+            this.appliAge = "";
+            this.appliCompanyAddress = "";
+//            this.ownerNature = "";
+//            this.isApplicantOperator = "";
+//            this.clientCode = "";
+//            this.clientCName = "";
+//            this.clientType = "";
+//            this.cifCode = "";
+//            this.department = "";
+//            this.relationWithBrach = "";
+//            this.showClientAddress = "";
+//            this.addressCName = addressCName;
             this.shareHolder = "";
             this.shareHolderIdType = "";
             this.shareHolderIdNo = "";
             this.shareHolderIdSDate = "";
             this.shareHolderIdEDate = "";
-            this.actControllerType = "1";
+//            this.actControllerType = "1";
             this.actController = "";
             this.actControllerIdType = "";
             this.actControllerIdNo = "";
             this.actControllerSDate = "";
             this.actControllerEDate = "";
-            this.appliName = insuredPersonInfo.getName();
-            this.appliAddress = insuredPersonInfo.getAddr();
-            this.mobilePhone = insuredPersonInfo.getMobile();
-            this.industryCode = "";
-            this.contactSex = "";
-            this.contactDealType = "1";
-            this.appliPhoneHolderName = "";
-            this.appliPhoneHolderCertiType = "";
-            this.appliPhoneHolderCertNumber = "";
-            this.leaderName = "";
-            this.leaderContact = "";
-            this.leaderAddress = "";
-            this.sex = insuredPersonInfo.getGender();
-            this.birthDate = insuredPersonInfo.getBirthday();
-            this.appliAge = insuredPersonInfo.getAge();
-            this.appliCompanyAddress = "";
-            this.ownerNature = "";
-            this.isApplicantOperator = "";
-            this.clientCode = "";
-            this.clientCName = "";
-            this.clientType = "";
-            this.cifCode = "";
-            this.department = "";
-            this.relationWithBrach = "";
-            this.showClientAddress = "";
-            this.addressCName = addressCName;
-            this.mobile = insuredPersonInfo.getMobile();
-            this.identifyTypeName = "";
-            this.companyCode = "";
-            this.departmentName = "";
-            this.relationWithBrachName = "";
-            this.riskCode = "";
-            this.countryName = "";
-            this.isIntercept = "";
-            this.newCustomSystemOperatorType = "";
+//            this.mobile = insuredPersonInfo.getMobile();
+//            this.identifyTypeName = "";
+//            this.companyCode = "";
+//            this.departmentName = "";
+//            this.relationWithBrachName = "";
+//            this.riskCode = "";
+//            this.countryName = "";
+//            this.isIntercept = "";
+//            this.newCustomSystemOperatorType = "";
             this.detailAddress = Collections.emptyList();
+            this.packageOwner = "";
         }
 
     }
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfProposalCarShipTaxDtoDTO {
 
         @JsonProperty("taxpayerIdentifier")
@@ -1663,7 +1667,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("certiType")
         private String certiType;
 
-        public PfProposalCarShipTaxDtoDTO(VehicleAndVesselTaxVo vehicleAndVesselTax,CarInfoVo carInfoVo,TaiPingCrawlerGetGuCarShipTaxListData.PfProposalCarShipTaxDTO pfProposalCarShipTaxDto) {
+        public PfProposalCarShipTaxDtoDTO(VehicleAndVesselTaxVo vehicleAndVesselTax,TaiPingCrawlerGetGuCarShipTaxListData.PfProposalCarShipTaxDTO pfProposalCarShipTaxDto) {
             this.taxpayerIdentifier = vehicleAndVesselTax.getIdentifyNumber();
             this.taxRelifFlag = pfProposalCarShipTaxDto.getTaxRelifFlag();
             this.fuelType = pfProposalCarShipTaxDto.getFuelType();
@@ -1716,6 +1720,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfPolicyInfoDtoDTO {
         @JsonProperty("arbitoryName")
         private String arbitoryName;
@@ -1797,6 +1802,9 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private Boolean tradingRelevanceNo;
         @JsonProperty("transferDate")
         private String transferDate;
+
+        @JsonProperty("fcPolicyno0")
+        private String fcPolicyno0;
         public PfPolicyInfoDtoDTO(QuoteVo quoteVo) {
             if (quoteVo.getCiRiskInfoVo() != null) {
                 String startDate = quoteVo.getCiRiskInfoVo().getStartDate();
@@ -1805,6 +1813,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.startTime0801 = startDate.substring(11);
                 this.endDate0801 = endDate.substring(0, 10);
                 this.endTime0801 = endDate.substring(11);
+                this.immEffectStartDate0801 = startDate.substring(0, 10);
+                this.policyNo0801 = "";
             }
             if (quoteVo.getBiRiskInfoVo() != null) {
                 String startDate = quoteVo.getBiRiskInfoVo().getStartDate();
@@ -1813,21 +1823,21 @@ public class TaiPingCrawlerPremiumCalculateRequest {
                 this.startTime0802 = startDate.substring(11);
                 this.endDate0802 = endDate.substring(0, 10);
                 this.endTime0802 = endDate.substring(11);
+                this.immEffectStartDate0802 = startDate.substring(0, 10);
+                this.policyNo0802 = "";
             }
             this.proposalNo = "";
             this.renewalNo0801 = "";
             this.renewalNo0802 = "";
             this.proposalNo0801 = "";
-            this.demandNoForce = "";
-            this.immEffectStartDate0801 = null;
-            this.immEffectStartDate0802 = null;
+            this.proposalNo0802 = "";
             this.immEffectType0801 = null;
             this.immEffectType0802 = null;
+            this.demandNoForce = "";
             this.demandNoBusi = "";
             this.poaSerialNo = "";
             this.effectFlag0801 = false;
             this.effectFlag0802 = false;
-            this.proposalNo0802 = "";
             CarInfoVo carInfoVo = quoteVo.getCarInfoVo();
             // 商业险过户标识
             this.chgOwnerFlag = carInfoVo.isTransferBi() ? "1" : "0";
@@ -1835,7 +1845,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.specialCarFlag = carInfoVo.isTransfer() ? "1" : "";
             // 过户日期
             this.transferDate = carInfoVo.isTransferBi() || carInfoVo.isTransfer() ? carInfoVo.getTransferDate() : "";
-            this.loanVehicleFlag = carInfoVo.isLoanStatus();
+            this.loanVehicleFlag = false;
             this.noDamageYears = 0;
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             this.operateDate = LocalDate.now().format(formatter);
@@ -1852,6 +1862,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfItemKind0801DtoListDTO {
         @JsonProperty("nodeBtGrossPremium")
         private Object nodeBtGrossPremium;
@@ -1896,7 +1907,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("sumValue")
         private Object sumValue;
         @JsonProperty("sumInsured")
-        private Double sumInsured;
+        private Integer sumInsured;
         @JsonProperty("ratePeriod")
         private Object ratePeriod;
         @JsonProperty("rate")
@@ -1904,31 +1915,31 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("shortRateFlag")
         private String shortRateFlag;
         @JsonProperty("shortRateNumerator")
-        private Double shortRateNumerator;
+        private Integer shortRateNumerator;
         @JsonProperty("shortRateDenominator")
         private Integer shortRateDenominator;
         @JsonProperty("shortRate")
-        private Double shortRate;
+        private Integer shortRate;
         @JsonProperty("basePremium")
-        private Double basePremium;
+        private Integer basePremium;
         @JsonProperty("pureBenchPremium")
         private Object pureBenchPremium;
         @JsonProperty("basePureBenchPremium")
         private Object basePureBenchPremium;
         @JsonProperty("benchmarkPremium")
-        private Double benchmarkPremium;
+        private Integer benchmarkPremium;
         @JsonProperty("noDebtPremium")
         private Object noDebtPremium;
         @JsonProperty("loading")
         private Object loading;
         @JsonProperty("grossPremium")
-        private Double grossPremium;
+        private BigDecimal grossPremium;
         @JsonProperty("discount")
-        private Double discount;
+        private Integer discount;
         @JsonProperty("adjustRate")
-        private Double adjustRate;
+        private Integer adjustRate;
         @JsonProperty("netPremium")
-        private Double netPremium;
+        private BigDecimal netPremium;
         @JsonProperty("deductibleRate")
         private Object deductibleRate;
         @JsonProperty("deductible")
@@ -1948,21 +1959,21 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("assistKindFlag")
         private Object assistKindFlag;
         @JsonProperty("remark")
-        private Object remark;
+        private String remark;
         @JsonProperty("flag")
         private Object flag;
         @JsonProperty("uwCount")
         private Object uwCount;
         @JsonProperty("uwPremium")
-        private Double uwPremium;
+        private BigDecimal uwPremium;
         @JsonProperty("originUWPremium")
-        private Double originUWPremium;
+        private BigDecimal originUWPremium;
         @JsonProperty("originGrossPremium")
-        private Double originGrossPremium;
+        private BigDecimal originGrossPremium;
         @JsonProperty("relatedInd")
         private Object relatedInd;
         @JsonProperty("endorAdjustRate")
-        private Double endorAdjustRate;
+        private Integer endorAdjustRate;
         @JsonProperty("pubInsuredInd")
         private Object pubInsuredInd;
         @JsonProperty("specialInd")
@@ -1982,7 +1993,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("valueType")
         private Object valueType;
         @JsonProperty("franchise")
-        private Double franchise;
+        private Integer franchise;
         @JsonProperty("reSpecialInd")
         private String reSpecialInd;
         @JsonProperty("additionalRate")
@@ -1990,13 +2001,13 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         @JsonProperty("allBrokenRate")
         private Object allBrokenRate;
         @JsonProperty("addTax")
-        private Double addTax;
+        private BigDecimal addTax;
         @JsonProperty("addTaxRate")
-        private Double addTaxRate;
+        private BigDecimal addTaxRate;
         @JsonProperty("priceTaxTotal")
-        private Double priceTaxTotal;
+        private Integer priceTaxTotal;
         @JsonProperty("orgPriceTaxTotal")
-        private Double orgPriceTaxTotal;
+        private Integer orgPriceTaxTotal;
         @JsonProperty("serviceTimes")
         private Object serviceTimes;
         @JsonProperty("relatedFlagFG2020")
@@ -2015,16 +2026,27 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private Object deductibleList;
         @JsonProperty("relieveFund")
         private Object relieveFund;
-        @JsonProperty("kindcodeKindname")
+        @JsonProperty("kindCode_kindName")
         private String kindcodeKindname;
+        @JsonProperty("clauseCode")
+        private String clauseCode;
+        @JsonProperty("calcMedicalModel")
+        private String calcMedicalModel;
+        @JsonProperty("isExist")
+        private String isExist;
+        @JsonProperty("shareList")
+        private List<?> shareList;
+        @JsonProperty("endorPolicyNo")
+        private String endorPolicyNo;
+
 
 
         public static PfItemKind0801DtoListDTO getCiKindInfo() {
             PfItemKind0801DtoListDTO pfItemKind0801DtoListDTO = new PfItemKind0801DtoListDTO();
             pfItemKind0801DtoListDTO.kindcodeKindname = "BZ-机动车交通事故责任强制险";
             pfItemKind0801DtoListDTO.basePremium = null;
-            pfItemKind0801DtoListDTO.shortRate = Double.valueOf("100.00");
-            pfItemKind0801DtoListDTO.discount = Double.valueOf("100.00");
+            pfItemKind0801DtoListDTO.shortRate = Integer.valueOf("100");
+            pfItemKind0801DtoListDTO.discount = Integer.valueOf("100");
             pfItemKind0801DtoListDTO.grossPremium = null;
             pfItemKind0801DtoListDTO.priceTaxTotal = null;
             pfItemKind0801DtoListDTO.relieveFund = "0.00";
@@ -2035,6 +2057,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfItemKind0802DtoListDTO {
         @JsonProperty("riskCode")
         private String riskCode;
@@ -2154,6 +2177,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
     }
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class ClauseList0801DTO {
         @JsonProperty("proposalNo")
         private String proposalNo;
@@ -2246,7 +2270,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String isEndor;
 
         @JsonProperty("ggClauseParameterVos")
-        private String ggClauseParameterVos;
+        private List<String> ggClauseParameterVos;
 
         @JsonProperty("clauseVariableArr")
         private String clauseVariableArr;
@@ -2278,6 +2302,8 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+
     public static class ClauseList0802DTO {
         @JsonProperty("proposalNo")
         private String proposalNo;
@@ -2402,6 +2428,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class FCsaleinfoDTO {
         @JsonProperty("businessType")
         private String businessType;
@@ -2419,7 +2446,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
         private String channelDetailName;
 
         @JsonProperty("creditPeriod")
-        private Integer creditPeriod;
+        private String creditPeriod;
 
         @JsonProperty("channelTip")
         private String channelTip;
@@ -2569,11 +2596,11 @@ public class TaiPingCrawlerPremiumCalculateRequest {
             this.businessMode = "2";
             this.channelDetailCode = record.getChannelSort();
             this.channelDetailName = record.getChannelSortName();
-            this.creditPeriod = 15;
+            this.creditPeriod = taiPingCrawlerFindSolutionCodeData.getCreditPeriod();
             this.channelTip = record.getChannelTip();
             this.channelTipName = record.getChannelTipName();
             this.companyCode = parameters.getCompanyCode();
-            this.companyName = record.getCompanyName();
+            this.companyName = taiPingCrawlerFindSolutionCodeData.getCompanyName();
             this.salesmanCode = parameters.getSalesmanCode();
             this.salesmanName = taiPingCrawlerFindSolutionCodeData.getSalesmanName();
             this.teamManager = taiPingCrawlerFindSolutionCodeData.getTeamManager();
@@ -2623,6 +2650,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class FcProductListDto {
         @JsonProperty("orderNo")
         private String orderNo;

+ 6 - 9
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/request/TaiPingCrawlerSubmitValidateRequest.java

@@ -1312,14 +1312,12 @@ public class TaiPingCrawlerSubmitValidateRequest{
             this.bankBranchName = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getBankBranchName();
             this.applyNo = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getApplyNo();
             this.queryApplyNo = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getQueryApplyNo();
-            this.zlbWindowNo = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getZlbWindowNo();
             this.optBtn = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getOptBtn();
             this.applyName = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getApplyName();
             this.decisionMakingUnit = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getDecisionMakingUnit();
             this.dsMakingTypeDetail = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getDsMakingTypeDetail();
             this.compLevel = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getCompLevel();
             this.serialNo = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getSerialNo();
-            this.outOrderNo = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getOutOrderNo();
             this.bankCustomerManagerCode = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getBankCustomerManagerCode();
             this.bankBranchCode = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getBankBranchCode();
             this.newCarFlag = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getNewCarFlag();
@@ -1328,7 +1326,6 @@ public class TaiPingCrawlerSubmitValidateRequest{
             this.poaSerialNo = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getPoaSerialNo();
             this.isDangerBz = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getIsDangerBz();
             this.tpFeeFlag = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getTpFeeFlag();
-            this.feeServiceLinkage = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getFeeServiceLinkage();
             this.policySort = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getPolicySort();
             this.argueSolution = taiPingCrawlerPremiumCalculateRequest.getPfMainDto().getArgueSolution();
             this.arbitoryName = null;
@@ -2586,10 +2583,10 @@ public class TaiPingCrawlerSubmitValidateRequest{
         private String vehicleCategory;
 
         @JsonProperty("seatCount")
-        private Integer seatCount;
+        private String seatCount;
 
         @JsonProperty("tonCount")
-        private Integer tonCount;
+        private String tonCount;
 
         @JsonProperty("negotiatedActualValue")
         private String negotiatedActualValue;
@@ -2631,7 +2628,7 @@ public class TaiPingCrawlerSubmitValidateRequest{
         private String localVehicleInd;
 
         @JsonProperty("completeKerbMass")
-        private Integer completeKerbMass;
+        private String completeKerbMass;
 
         @JsonProperty("fuelType")
         private String fuelType;
@@ -2829,7 +2826,7 @@ public class TaiPingCrawlerSubmitValidateRequest{
         private String isSpecialCarFlag;
 
         @JsonProperty("cvFlag")
-        private Boolean cvFlag;
+        private String cvFlag;
 
         @JsonProperty("frameNoHeteroType")
         private String frameNoHeteroType;
@@ -3026,7 +3023,7 @@ public class TaiPingCrawlerSubmitValidateRequest{
             this.carBrand = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getCarBrand();
             this.actualValue = new BigDecimal(taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getActualValue());
             this.localVehicleInd = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getLocalVehicleInd();
-            this.completeKerbMass = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getCompleteKerbMass().intValue();
+            this.completeKerbMass = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getCompleteKerbMass();
             this.fuelType = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getFuelType();
             this.factory = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getFactory();
             this.engineModel = taiPingCrawlerPremiumCalculateRequest.getPfItemMotorDto().getEngineModel();
@@ -3368,7 +3365,7 @@ public class TaiPingCrawlerSubmitValidateRequest{
         private String birthDate;
 
         @JsonProperty("appliAge")
-        private Integer appliAge;
+        private String appliAge;
 
         @JsonProperty("appliCompanyAddress")
         private String appliCompanyAddress;

+ 8 - 3
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/entity/response/TaiPingCrawlerPremiumCalculateData.java

@@ -1,5 +1,6 @@
 package com.jzg.quotation.taiping.crawler.entity.response;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.quotation.taiping.crawler.entity.request.TaiPingCrawlerPremiumCalculateRequest;
 import lombok.Data;
@@ -105,7 +106,7 @@ public class TaiPingCrawlerPremiumCalculateData {
     @JsonProperty("bzInformationDetailDto")
     private BzInformationDetailDtoDTO bzInformationDetailDto;
     @JsonProperty("fcProductList")
-    private List<?> fcProductList;
+    private List<TaiPingCrawlerPremiumCalculateRequest.FcProductListDto> fcProductList;
     @JsonProperty("clauseList0801")
     private List<ClauseList0801DTO> clauseList0801;
     @JsonProperty("clauseList0802")
@@ -239,6 +240,7 @@ public class TaiPingCrawlerPremiumCalculateData {
 
     @NoArgsConstructor
     @Data
+    @JsonInclude(JsonInclude.Include.ALWAYS)
     public static class PfItemKindDto0801DTO {
         @JsonProperty("addTax")
         private BigDecimal addTax;
@@ -369,7 +371,7 @@ public class TaiPingCrawlerPremiumCalculateData {
         @JsonProperty("serviceTimes")
         private Integer serviceTimes;
         @JsonProperty("shareList")
-        private Object shareList;
+        private List<?> shareList;
         @JsonProperty("shareModel")
         private String shareModel;
         @JsonProperty("shortRate")
@@ -412,6 +414,9 @@ public class TaiPingCrawlerPremiumCalculateData {
         private String valueType;
         @JsonProperty("yearPremium")
         private BigDecimal yearPremium;
+
+        @JsonProperty("clauseCode")
+        private String clauseCode;
     }
 
     @NoArgsConstructor
@@ -1267,7 +1272,7 @@ public class TaiPingCrawlerPremiumCalculateData {
         @JsonProperty("isEndor")
         private String isEndor;
         @JsonProperty("ggClauseParameterVos")
-        private String ggClauseParameterVos;
+        private List<String> ggClauseParameterVos;
         @JsonProperty("clauseVariableArr")
         private String clauseVariableArr;
         @JsonProperty("showDelete")

+ 117 - 11
tenant/insurance/quotation-taiping/src/main/java/com/jzg/quotation/taiping/crawler/service/impl/TaipingCrawlerRequestImpl.java

@@ -35,6 +35,7 @@ import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.redisson.api.RedissonClient;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 
@@ -123,6 +124,9 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
         // 车型查询
         TaiPingCrawlerBrandNameQueryRequest brandNameQueryRequest = new TaiPingCrawlerBrandNameQueryRequest(quoteVo.getCarInfoVo(),orderNo,record,parameters);
         TaiPingCrawlerBaseResponse<TaiPingCrawlerBrandNameQueryData> brandNameQuery = taiPingCrawlerRequestComponent.queryBrand(brandNameQueryRequest, httpHeaders,parameters);
+        if (brandNameQuery.getData() == null || brandNameQuery.getData().getItemMotorDtoList() == null) {
+            throw new SystemException("查询不到车型信息,请检查厂牌型号是否录入正确");
+        }
         List<TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO> itemMotorDtoList = brandNameQuery.getData()
                 .getItemMotorDtoList();
         TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO itemMotorDtoListDTO = CarModelsFilterUtils.to(itemMotorDtoList, quoteVo.getCarInfoVo());
@@ -171,7 +175,7 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
             TaiPingCrawlerBaseResponse<TaiPingCrawlerVehicleForPRPQueryResponse> taiPingCrawlerVehicleForPRPQueryResponse = taiPingCrawlerRequestComponent.vehicleForPRPQuery(taiPingCrawlerVehicleForPRPQueryRequest, httpHeaders, parameters);
             if (taiPingCrawlerVehicleForPRPQueryResponse.isSucc() && taiPingCrawlerVehicleForPRPQueryResponse.getData().getItemMotorDtoList().size() > 0) {
                 TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO itemMotorDtoListDTONew = taiPingCrawlerVehicleForPRPQueryResponse.getData().getItemMotorDtoList().get(0);
-                TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO pfItemMotorDtoDTO = new TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), itemMotorDtoListDTONew, orderNo, carActualValue);
+                TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO pfItemMotorDtoDTO = new TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), itemMotorDtoListDTONew, orderNo, carActualValue,quoteVo);
                 taiPingCrawlerPremiumCalculateRequest.setPfItemMotorDto(pfItemMotorDtoDTO);
                 premiumCalculateResponse = taiPingCrawlerRequestComponent.premiumCalculate(taiPingCrawlerPremiumCalculateRequest, httpHeaders, parameters);
             } else {
@@ -204,6 +208,7 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
                     policyInfo.setStartTime0801(finalStartDateBZ.substring(11));
                     policyInfo.setEndDate0801(finalEndDateBZ.substring(0, 10));
                     policyInfo.setEndTime0801(finalEndDateBZ.substring(11));
+                    policyInfo.setImmEffectStartDate0801(finalStartDateBZ.substring(0, 10));
                     policyInfo.setEffectFlag0801(false);
                     if (taiPingCrawlerPremiumCalculateRequest.getFcProductList().size() > 0) {
                         taiPingCrawlerPremiumCalculateRequest.getFcProductList().get(0).setStartDate(finalStartDateBZ);
@@ -219,6 +224,7 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
                     policyInfo.setStartTime0802(finalStartDateBS.substring(11));
                     policyInfo.setEndDate0802(finalEndDateBS.substring(0, 10));
                     policyInfo.setEndTime0802(finalEndDateBS.substring(11));
+                    policyInfo.setImmEffectStartDate0802(finalStartDateBS.substring(0, 10));
                     policyInfo.setEffectFlag0802(false);
                     if (taiPingCrawlerPremiumCalculateRequest.getFcProductList().size() > 0) {
                         taiPingCrawlerPremiumCalculateRequest.getFcProductList().get(0).setStartDate(finalStartDateBS);
@@ -234,7 +240,7 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
                     TaiPingCrawlerBaseResponse<TaiPingCrawlerVehicleForPRPQueryResponse> taiPingCrawlerVehicleForPRPQueryResponse = taiPingCrawlerRequestComponent.vehicleForPRPQuery(taiPingCrawlerVehicleForPRPQueryRequest, httpHeaders, parameters);
                     if (taiPingCrawlerVehicleForPRPQueryResponse.isSucc()) {
                         TaiPingCrawlerBrandNameQueryData.ItemMotorDtoListDTO itemMotorDtoListDTONew = taiPingCrawlerVehicleForPRPQueryResponse.getData().getItemMotorDtoList().get(0);
-                        TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO pfItemMotorDtoDTO = new TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), itemMotorDtoListDTONew, orderNo, carActualValue);
+                        TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO pfItemMotorDtoDTO = new TaiPingCrawlerPremiumCalculateRequest.PfItemMotorDtoDTO(quoteVo.getCarInfoVo(), itemMotorDtoListDTONew, orderNo, carActualValue,quoteVo);
                         taiPingCrawlerPremiumCalculateRequest.setPfItemMotorDto(pfItemMotorDtoDTO);
                         premiumCalculateResponse = taiPingCrawlerRequestComponent.premiumCalculate(taiPingCrawlerPremiumCalculateRequest, httpHeaders, parameters);
                     }
@@ -243,8 +249,12 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
         }
         // 添加特约重新报价
         if (premiumCalculateResponse != null && premiumCalculateResponse.isSucc()) {
-            taiPingCrawlerPremiumCalculateRequest.setClauseList0801(addClauseList0801(premiumCalculateResponse));
-            taiPingCrawlerPremiumCalculateRequest.setClauseList0802(addClauseList0802(premiumCalculateResponse));
+            if (quoteVo.getCiRiskInfoVo() != null) {
+                taiPingCrawlerPremiumCalculateRequest.setClauseList0801(addClauseList0801(premiumCalculateResponse));
+            }
+            if (quoteVo.getBiRiskInfoVo() != null) {
+                taiPingCrawlerPremiumCalculateRequest.setClauseList0802(addClauseList0802(premiumCalculateResponse));
+            }
             if (premiumCalculateResponse.getData().getDemandNoForce() != null) {
                 taiPingCrawlerPremiumCalculateRequest.setDemandNoForce(premiumCalculateResponse.getData().getDemandNoForce());
             }
@@ -405,12 +415,10 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
 
         // 获取订单信息
         TaiPingCrawlerOrder taiPingCrawlerOrder = taiPingCrawlerOrderRepository.findByOrdersNo(underwritingVo.getOrder().getOrdersNo());
-
         // 获取缓存的报价请求
         TaiPingCrawlerPremiumCalculateRequest taiPingCrawlerPremiumCalculateRequest = taiPingCrawlerCacheComponent
                 .getTaiPingCrawlerPremiumCalculateRequest(underwritingVo.getOrder().getOrdersNo());
-
-        // 重新计算保费(核保前必须设置forceLinkCIFlag关联交商)
+        // 重新计算保费
         taiPingCrawlerPremiumCalculateRequest.getPfMainDto().setForceLinkCIFlag(true);
         log.info("[太平核保]保费重算请求: orderNo={}", taiPingCrawlerOrder.getCompanyOrderNo());
         TaiPingCrawlerBaseResponse<TaiPingCrawlerPremiumCalculateData> recalculateResponse =
@@ -420,7 +428,12 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
         }
         log.info("[太平核保]保费重算成功");
         taiPingCrawlerPremiumCalculateRequest.setIncrementServiceMatchFlag(false);
-        taiPingCrawlerPremiumCalculateRequest.getPfMainDto().setForceLinkCIFlag(true);
+        taiPingCrawlerPremiumCalculateRequest.setPfItemKind0801DtoList(bulidPf0801List(recalculateResponse.getData(), taiPingCrawlerPremiumCalculateRequest));
+//        if (recalculateResponse.getData().getPfItemKindDto0802List() == null) {
+//            taiPingCrawlerPremiumCalculateRequest.setPfItemKind0802DtoList(null);
+//            taiPingCrawlerPremiumCalculateRequest.setClauseList0802(null);
+//        }
+//        taiPingCrawlerPremiumCalculateRequest.getPfPolicyInfoDto().setFcPolicyno0(recalculateResponse.getData().getFcProductList().get(0).getFcOrderNo());
         if (recalculateResponse.getData().getDemandNoForce() != null) {
             taiPingCrawlerPremiumCalculateRequest.setDemandNoForce(recalculateResponse.getData().getDemandNoForce());
             taiPingCrawlerPremiumCalculateRequest.getPfPolicyInfoDto().setDemandNoForce(recalculateResponse.getData().getDemandNoForce());
@@ -438,9 +451,11 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
             taiPingCrawlerPremiumCalculateRequest.getPfPolicyInfoDto().setProposalNo0801(recalculateResponse.getData().getProposalNo0801());
             taiPingCrawlerPremiumCalculateRequest.getPfPolicyInfoDto().setProposalNo0802(recalculateResponse.getData().getProposalNo0802());
         }
-        taiPingCrawlerPremiumCalculateRequest.getPfMainDto().setUnderwriteCode(parameters.getUsername());
-        taiPingCrawlerPremiumCalculateRequest.getPfMainDto().setUnderwriteName("自动核保");
-        taiPingCrawlerPremiumCalculateRequest.getPfMainDto().setUnderWriteInd("2");
+        if (recalculateResponse.getData().getFcProductList() != null && recalculateResponse.getData().getFcProductList().size() > 0) {
+            TaiPingCrawlerPremiumCalculateRequest.FcProductListDto fcProductListDTO = recalculateResponse.getData().getFcProductList().get(0);
+            taiPingCrawlerPremiumCalculateRequest.getFcProductList().get(0).setFcOrderNo(fcProductListDTO.getFcOrderNo());
+            taiPingCrawlerPremiumCalculateRequest.getFcProductList().get(0).setPoaserialNo(fcProductListDTO.getPoaserialNo());
+        }
 
         // 提交验证 python代码直接用报价入参提交
 //        TaiPingCrawlerSubmitValidateRequest submitValidateRequest = new TaiPingCrawlerSubmitValidateRequest(
@@ -538,6 +553,97 @@ public class TaipingCrawlerRequestImpl implements TaipingCrawlerRequest {
         return underwritingResultsVo;
     }
 
+    public static List<TaiPingCrawlerPremiumCalculateRequest.PfItemKind0801DtoListDTO> bulidPf0801List(TaiPingCrawlerPremiumCalculateData data, TaiPingCrawlerPremiumCalculateRequest request){
+        List<TaiPingCrawlerPremiumCalculateRequest.PfItemKind0801DtoListDTO> pfItemKind0801DtoList = request.getPfItemKind0801DtoList();
+        pfItemKind0801DtoList.clear();
+        TaiPingCrawlerPremiumCalculateData.PfItemKindDto0801DTO pfItemKind0801DtoDTO = data.getPfItemKindDto0801();
+        TaiPingCrawlerPremiumCalculateRequest.PfItemKind0801DtoListDTO target = new TaiPingCrawlerPremiumCalculateRequest.PfItemKind0801DtoListDTO();
+        BeanUtils.copyProperties(pfItemKind0801DtoDTO, target);
+        target.setNodeBtGrossPremium(pfItemKind0801DtoDTO.getNodeBtGrossPremium());
+        target.setItemCode(pfItemKind0801DtoDTO.getItemCode());
+        target.setItemDetailCode(pfItemKind0801DtoDTO.getItemDetailCode());
+        target.setItemDetailList(pfItemKind0801DtoDTO.getItemDetailList());
+        target.setModeCode(pfItemKind0801DtoDTO.getModeCode());
+        target.setModeName(pfItemKind0801DtoDTO.getModeName());
+        target.setStartDate(pfItemKind0801DtoDTO.getStartDate());
+        target.setEndDate(pfItemKind0801DtoDTO.getEndDate());
+        target.setUnitValue(pfItemKind0801DtoDTO.getUnitValue());
+        target.setUnitInsured(pfItemKind0801DtoDTO.getUnitInsured());
+        target.setUnitPremium(pfItemKind0801DtoDTO.getUnitPremium());
+        target.setQuantity(pfItemKind0801DtoDTO.getQuantity());
+        target.setUnit(pfItemKind0801DtoDTO.getUnit());
+        target.setSumValue(pfItemKind0801DtoDTO.getSumValue());
+        target.setSumInsured(pfItemKind0801DtoDTO.getSumInsured());
+        target.setRatePeriod(pfItemKind0801DtoDTO.getRatePeriod());
+        target.setRate(pfItemKind0801DtoDTO.getRate());
+        target.setShortRateFlag(pfItemKind0801DtoDTO.getShortRateFlag());
+        target.setShortRateNumerator(pfItemKind0801DtoDTO.getShortRateNumerator());
+        target.setShortRateDenominator(pfItemKind0801DtoDTO.getShortRateDenominator());
+        target.setShortRate(pfItemKind0801DtoDTO.getShortRate());
+        target.setBasePremium(pfItemKind0801DtoDTO.getBasePremium());
+        target.setPureBenchPremium(pfItemKind0801DtoDTO.getPureBenchPremium());
+        target.setBasePureBenchPremium(pfItemKind0801DtoDTO.getBasePureBenchPremium());
+        target.setBenchmarkPremium(pfItemKind0801DtoDTO.getBenchmarkPremium());
+        target.setNoDebtPremium(pfItemKind0801DtoDTO.getNoDebtPremium());
+        target.setLoading(pfItemKind0801DtoDTO.getLoading());
+        target.setGrossPremium(pfItemKind0801DtoDTO.getGrossPremium());
+        target.setDiscount(pfItemKind0801DtoDTO.getDiscount());
+        target.setAdjustRate(pfItemKind0801DtoDTO.getAdjustRate());
+        target.setNetPremium(pfItemKind0801DtoDTO.getNetPremium());
+        target.setDeductibleRate(pfItemKind0801DtoDTO.getDeductibleRate());
+        target.setDeductible(pfItemKind0801DtoDTO.getDeductible());
+        target.setPremiumFormula(pfItemKind0801DtoDTO.getPremiumFormula());
+        target.setYearPremium(pfItemKind0801DtoDTO.getYearPremium());
+        target.setSurrenderInd(pfItemKind0801DtoDTO.getSurrenderInd());
+        target.setFirstLossRate(pfItemKind0801DtoDTO.getFirstLossRate());
+        target.setKindInd(pfItemKind0801DtoDTO.getKindInd());
+        target.setSuitProduct(pfItemKind0801DtoDTO.getSuitProduct());
+        target.setAssistKindFlag(pfItemKind0801DtoDTO.getAssistKindFlag());
+        target.setRemark(pfItemKind0801DtoDTO.getRemark());
+        target.setFlag(pfItemKind0801DtoDTO.getFlag());
+        target.setUwCount(pfItemKind0801DtoDTO.getUwCount());
+        target.setUwPremium(pfItemKind0801DtoDTO.getUwPremium());
+        target.setOriginUWPremium(pfItemKind0801DtoDTO.getOriginUWPremium());
+        target.setOriginGrossPremium(pfItemKind0801DtoDTO.getOriginGrossPremium());
+        target.setRelatedInd(pfItemKind0801DtoDTO.getRelatedInd());
+        target.setEndorAdjustRate(pfItemKind0801DtoDTO.getEndorAdjustRate());
+        target.setPubInsuredInd(pfItemKind0801DtoDTO.getPubInsuredInd());
+        target.setSpecialInd(pfItemKind0801DtoDTO.getSpecialInd());
+        target.setSubProposalNo(pfItemKind0801DtoDTO.getSubProposalNo());
+        target.setProjectCode(pfItemKind0801DtoDTO.getProjectCode());
+        target.setItemDetailNo(pfItemKind0801DtoDTO.getItemDetailNo());
+        target.setMustInsureInd(pfItemKind0801DtoDTO.getMustInsureInd());
+        target.setPremiumType(pfItemKind0801DtoDTO.getPremiumType());
+        target.setValueType(pfItemKind0801DtoDTO.getValueType());
+        target.setFranchise(pfItemKind0801DtoDTO.getFranchise());
+        target.setReSpecialInd(pfItemKind0801DtoDTO.getReSpecialInd());
+        target.setAdditionalRate(pfItemKind0801DtoDTO.getAdditionalRate());
+        target.setAllBrokenRate(pfItemKind0801DtoDTO.getAllBrokenRate());
+        target.setAddTax(pfItemKind0801DtoDTO.getAddTax());
+        target.setAddTaxRate(pfItemKind0801DtoDTO.getAddTaxRate());
+        target.setPriceTaxTotal(pfItemKind0801DtoDTO.getPriceTaxTotal());
+        target.setOrgPriceTaxTotal(pfItemKind0801DtoDTO.getOrgPriceTaxTotal());
+        target.setServiceTimes(pfItemKind0801DtoDTO.getServiceTimes());
+        target.setRelatedFlagFG2020(pfItemKind0801DtoDTO.getRelatedFlagFG2020());
+        target.setScUpdateTime(pfItemKind0801DtoDTO.getScUpdateTime());
+        target.setUseFormula(pfItemKind0801DtoDTO.getUseFormula());
+        target.setClauseCode(pfItemKind0801DtoDTO.getClauseCode());
+        target.setEasyKindName(pfItemKind0801DtoDTO.getEasyKindName());
+        target.setShareModel(pfItemKind0801DtoDTO.getShareModel());
+        target.setCalcMedicalModel(pfItemKind0801DtoDTO.getCalcMedicalModel());
+        target.setIsExist(pfItemKind0801DtoDTO.getIsExist());
+        target.setRiskShareModelSwitch(pfItemKind0801DtoDTO.getRiskShareModelSwitch());
+        target.setDeductibleList(pfItemKind0801DtoDTO.getDeductibleList());
+        target.setShareList(pfItemKind0801DtoDTO.getShareList());
+        target.setEndorPolicyNo(pfItemKind0801DtoDTO.getEndorPolicyNo());
+        target.setKindCode(pfItemKind0801DtoDTO.getKindCode());
+        target.setKindName("机动车交通事故责任强制险");
+        target.setKindcodeKindname("BZ-机动车交通事故责任强制险");
+        target.setRelieveFund(pfItemKind0801DtoDTO.getRelieveFund());
+        pfItemKind0801DtoList.add(target);
+        return pfItemKind0801DtoList;
+    }
+
     @Override
     public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) {
         OrderBase order = paymentLinkVo.getOrder();

+ 4 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/EsmUserReferrerMapper.java

@@ -2,8 +2,12 @@ package com.jzg.organization.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jzg.commons.entity.po.EsmUserReferrer;
+import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface EsmUserReferrerMapper extends BaseMapper<EsmUserReferrer> {
+    @Delete("DELETE FROM esm_user_referrer WHERE id = #{id} AND is_delete = 0")
+    int deleteByIdCheck(@Param("id") String id);
 }

+ 15 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -16,6 +16,7 @@ import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.enums.MessageCodeEnum;
 import com.jzg.commons.entity.po.*;
+import com.jzg.commons.entity.rights.po.InsOrderRightsPackage;
 import com.jzg.commons.entity.user.vo.SysTennatVo;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.exception.SystemException;
@@ -110,6 +111,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Autowired
     private EsmUserReferrerService esmUserReferrerService;
 
+    @Autowired
+    private EsmUserReferrerMapper esmUserReferrerMapper;
+
     @Autowired
     private SysUserJzgInfoBankCardRecordService sysUserJzgInfoBankCardRecordService;
     @Qualifier("baseController")
@@ -1118,6 +1122,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             sysUserJzgInfoSalesmanService.save(salesman);
         }
 
+        // 修改推荐关系 先删除再添加
+        EsmUserReferrer esmUserReferrer = esmUserReferrerService.getOne(new LambdaQueryWrapper<EsmUserReferrer>()
+                .eq(EsmUserReferrer::getId, sysUserVo.getId())
+                .eq(EsmUserReferrer::getIsDelete, 0));
+        if (esmUserReferrer != null) {
+            esmUserReferrerMapper.deleteByIdCheck(esmUserReferrer.getId());
+            SysUserJzgInfo sysUserJzgInfoReferrer = sysUserJzgInfoService.getById(sysUserVo.getReferrerId());
+            EsmUserReferrer referrer = new EsmUserReferrer(sysUserJzgInfo,sysUserJzgInfoReferrer);
+            esmUserReferrerService.save(referrer);
+        }
+
         boolean isPartner = sysUserJzgInfoService.isPartnerPresent(sysUserJzgInfo.getId());
         if (isPartner){
             sysUserJzgInfoService.updatePartnerByUserId(sysUserJzgInfo);