|
|
@@ -11,8 +11,11 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDate;
|
|
|
+import java.time.OffsetDateTime;
|
|
|
+import java.time.ZoneOffset;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
@@ -70,7 +73,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
private String demandNoBusi;
|
|
|
|
|
|
@JsonProperty("fcProductList")
|
|
|
- private List<Object> fcProductList;
|
|
|
+ private List<FcProductListDto> fcProductList;
|
|
|
|
|
|
@JsonProperty("cjcSaleInfoDto")
|
|
|
private Object cjcSaleInfoDto;
|
|
|
@@ -93,6 +96,9 @@ 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,
|
|
|
@@ -127,13 +133,19 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
this.pfRiskRelatedPartyDto = new PfRiskRelatedPartyDtoDTO(quoteVo.getInsuredPersonInfo());
|
|
|
this.pfProposalCarShipTaxDto = new PfProposalCarShipTaxDtoDTO(quoteVo.getVehicleAndVesselTaxVo(),quoteVo.getCarInfoVo());
|
|
|
this.pfPolicyInfoDto = new PfPolicyInfoDtoDTO(quoteVo);
|
|
|
- this.incrementServiceMatchFlag = Boolean.FALSE;
|
|
|
+ if (quoteVo.getAccidentalDrivings() != null && quoteVo.getAccidentalDrivings().size() > 0) {
|
|
|
+ this.incrementServiceMatchFlag = true;
|
|
|
+ this.isStandardProduct = "Y";
|
|
|
+ } else {
|
|
|
+ this.incrementServiceMatchFlag = false;
|
|
|
+ this.isStandardProduct = "N";
|
|
|
+ }
|
|
|
this.demandNoForce = "";
|
|
|
this.demandNoBusi = "";
|
|
|
// 驾意险
|
|
|
this.fcProductList = new ArrayList<>();
|
|
|
this.cjcSaleInfoDto = new Object();
|
|
|
- this.fCsaleinfoDto = new Object();
|
|
|
+ this.fCsaleinfoDto = new FCsaleinfoDTO(record, parameters,taiPingCrawlerFindSolutionCodeData,orderNo);
|
|
|
this.businessType = "Proposal";
|
|
|
this.optType = "N";
|
|
|
this.personInd = "C";
|
|
|
@@ -199,7 +211,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
@JsonProperty("cooperateSiteName")
|
|
|
private String cooperateSiteName;
|
|
|
@JsonProperty("creditPeriod")
|
|
|
- private String creditPeriod;
|
|
|
+ private Integer creditPeriod;
|
|
|
@JsonProperty("decisionMakingUnit")
|
|
|
private String decisionMakingUnit;
|
|
|
@JsonProperty("departmentCode")
|
|
|
@@ -257,7 +269,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
@JsonProperty("isSpecialCarFlag")
|
|
|
private String isSpecialCarFlag;
|
|
|
@JsonProperty("itemAddress")
|
|
|
- private String itemAddress;
|
|
|
+ private List<String> itemAddress;
|
|
|
@JsonProperty("label")
|
|
|
private String label;
|
|
|
@JsonProperty("lables")
|
|
|
@@ -376,7 +388,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
this.departmentCode = "";
|
|
|
this.departmentName = "";
|
|
|
this.governmentType = "";
|
|
|
- this.itemAddress = "";
|
|
|
+ this.itemAddress = new ArrayList<>();
|
|
|
this.governmentServiceType = "";
|
|
|
this.agreementTypeName = record.getAgreementTypeName();
|
|
|
this.lables = record.getLables();
|
|
|
@@ -752,7 +764,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
this.contactName = "";
|
|
|
this.contactMobile = "";
|
|
|
this.contactType = "1";
|
|
|
- this.occupationCode = "";
|
|
|
+ this.occupationCode = "30110";
|
|
|
this.countryCode = "CN";
|
|
|
this.contactIdentifyType = "01";
|
|
|
this.contactIdentifyNumber = "";
|
|
|
@@ -1490,7 +1502,7 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
this.contactName = "";
|
|
|
this.contactMobile = "";
|
|
|
this.contactType = "1";
|
|
|
- this.occupationCode = "";
|
|
|
+ this.occupationCode = "30110";
|
|
|
this.contactIdentifyType = "01";
|
|
|
this.contactIdentifyNumber = "";
|
|
|
this.insuredPhoneHolderName = "";
|
|
|
@@ -2411,4 +2423,614 @@ public class TaiPingCrawlerPremiumCalculateRequest {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class FCsaleinfoDTO {
|
|
|
+ @JsonProperty("businessType")
|
|
|
+ private String businessType;
|
|
|
+
|
|
|
+ @JsonProperty("businessChannel")
|
|
|
+ private String businessChannel;
|
|
|
+
|
|
|
+ @JsonProperty("businessMode")
|
|
|
+ private String businessMode;
|
|
|
+
|
|
|
+ @JsonProperty("channelDetailCode")
|
|
|
+ private String channelDetailCode;
|
|
|
+
|
|
|
+ @JsonProperty("channelDetailName")
|
|
|
+ private String channelDetailName;
|
|
|
+
|
|
|
+ @JsonProperty("creditPeriod")
|
|
|
+ private Integer creditPeriod;
|
|
|
+
|
|
|
+ @JsonProperty("channelTip")
|
|
|
+ private String channelTip;
|
|
|
+
|
|
|
+ @JsonProperty("channelTipName")
|
|
|
+ private String channelTipName;
|
|
|
+
|
|
|
+ @JsonProperty("companyCode")
|
|
|
+ private String companyCode;
|
|
|
+
|
|
|
+ @JsonProperty("companyName")
|
|
|
+ private String companyName;
|
|
|
+
|
|
|
+ @JsonProperty("salesmanCode")
|
|
|
+ private String salesmanCode;
|
|
|
+
|
|
|
+ @JsonProperty("salesmanName")
|
|
|
+ private String salesmanName;
|
|
|
+
|
|
|
+ @JsonProperty("teamManager")
|
|
|
+ private String teamManager;
|
|
|
+
|
|
|
+ @JsonProperty("teamManagerName")
|
|
|
+ private String teamManagerName;
|
|
|
+
|
|
|
+ @JsonProperty("cooperateSiteCode")
|
|
|
+ private String cooperateSiteCode;
|
|
|
+
|
|
|
+ @JsonProperty("cooperateSiteCName")
|
|
|
+ private String cooperateSiteCName;
|
|
|
+
|
|
|
+ @JsonProperty("agreementNo")
|
|
|
+ private String agreementNo;
|
|
|
+
|
|
|
+ @JsonProperty("businessSource")
|
|
|
+ private String businessSource;
|
|
|
+
|
|
|
+ @JsonProperty("businessSourceName")
|
|
|
+ private String businessSourceName;
|
|
|
+
|
|
|
+ @JsonProperty("intermediaryCode")
|
|
|
+ private String intermediaryCode;
|
|
|
+
|
|
|
+ @JsonProperty("intermediaryCName")
|
|
|
+ private String intermediaryCName;
|
|
|
+
|
|
|
+ @JsonProperty("solutionCode")
|
|
|
+ private String solutionCode;
|
|
|
+
|
|
|
+ @JsonProperty("outerUserCode")
|
|
|
+ private String outerUserCode;
|
|
|
+
|
|
|
+ @JsonProperty("outerUserCName")
|
|
|
+ private String outerUserCName;
|
|
|
+
|
|
|
+ @JsonProperty("outerCompanyCode")
|
|
|
+ private String outerCompanyCode;
|
|
|
+
|
|
|
+ @JsonProperty("outerCompanyName")
|
|
|
+ private String outerCompanyName;
|
|
|
+
|
|
|
+ @JsonProperty("departmentCode")
|
|
|
+ private String departmentCode;
|
|
|
+
|
|
|
+ @JsonProperty("departmentName")
|
|
|
+ private String departmentName;
|
|
|
+
|
|
|
+ @JsonProperty("pioneerCode")
|
|
|
+ private String pioneerCode;
|
|
|
+
|
|
|
+ @JsonProperty("pioneerName")
|
|
|
+ private String pioneerName;
|
|
|
+
|
|
|
+ @JsonProperty("interSalesmanCode")
|
|
|
+ private String interSalesmanCode;
|
|
|
+
|
|
|
+ @JsonProperty("interSalesmanName")
|
|
|
+ private String interSalesmanName;
|
|
|
+
|
|
|
+ @JsonProperty("salesmanRegisterNo")
|
|
|
+ private String salesmanRegisterNo;
|
|
|
+
|
|
|
+ @JsonProperty("interSalesmanRegisterNo")
|
|
|
+ private String interSalesmanRegisterNo;
|
|
|
+
|
|
|
+ @JsonProperty("cooperateSiteName")
|
|
|
+ private String cooperateSiteName;
|
|
|
+
|
|
|
+ @JsonProperty("priInd")
|
|
|
+ private String priInd;
|
|
|
+
|
|
|
+ @JsonProperty("agreementTypeName")
|
|
|
+ private String agreementTypeName;
|
|
|
+
|
|
|
+ @JsonProperty("lables")
|
|
|
+ private String lables;
|
|
|
+
|
|
|
+ @JsonProperty("agreementCode")
|
|
|
+ private String agreementCode;
|
|
|
+
|
|
|
+ @JsonProperty("source")
|
|
|
+ private String source;
|
|
|
+
|
|
|
+ @JsonProperty("producerName")
|
|
|
+ private String producerName;
|
|
|
+
|
|
|
+ @JsonProperty("intermediaryCNName")
|
|
|
+ private String intermediaryCNName;
|
|
|
+
|
|
|
+ @JsonProperty("hengSangInd")
|
|
|
+ private String hengSangInd;
|
|
|
+
|
|
|
+ @JsonProperty("channelSortName")
|
|
|
+ private String channelSortName;
|
|
|
+
|
|
|
+ @JsonProperty("sourceId")
|
|
|
+ private String sourceId;
|
|
|
+
|
|
|
+ @JsonProperty("channelSort")
|
|
|
+ private String channelSort;
|
|
|
+
|
|
|
+ @JsonProperty("teamName")
|
|
|
+ private String teamName;
|
|
|
+
|
|
|
+ @JsonProperty("registerNo")
|
|
|
+ private String registerNo;
|
|
|
+
|
|
|
+ @JsonProperty("taxRegistryNumber")
|
|
|
+ private String taxRegistryNumber;
|
|
|
+
|
|
|
+ @JsonProperty("value")
|
|
|
+ private String value;
|
|
|
+
|
|
|
+ @JsonProperty("label")
|
|
|
+ private String label;
|
|
|
+
|
|
|
+ @JsonProperty("operatorCode")
|
|
|
+ private String operatorCode;
|
|
|
+
|
|
|
+ @JsonProperty("orderNo")
|
|
|
+ private String orderNo;
|
|
|
+
|
|
|
+ public FCsaleinfoDTO(TaiPingCrawlerFindByProductCodeResponse.Record record,TaipingCrawlerConfigureParameters parameters,
|
|
|
+ TaiPingCrawlerFindSolutionCodeData.RecordsDTO taiPingCrawlerFindSolutionCodeData,String orderNo){
|
|
|
+ this.businessType = "1";
|
|
|
+ this.businessChannel = "1";
|
|
|
+ this.businessMode = "2";
|
|
|
+ this.channelDetailCode = record.getChannelSort();
|
|
|
+ this.channelDetailName = record.getChannelSortName();
|
|
|
+ this.creditPeriod = 15;
|
|
|
+ this.channelTip = record.getChannelTip();
|
|
|
+ this.channelTipName = record.getChannelTipName();
|
|
|
+ this.companyCode = parameters.getCompanyCode();
|
|
|
+ this.companyName = record.getCompanyName();
|
|
|
+ this.salesmanCode = parameters.getSalesmanCode();
|
|
|
+ this.salesmanName = taiPingCrawlerFindSolutionCodeData.getSalesmanName();
|
|
|
+ this.teamManager = taiPingCrawlerFindSolutionCodeData.getTeamManager();
|
|
|
+ this.teamManagerName = taiPingCrawlerFindSolutionCodeData.getTeamName();
|
|
|
+ this.cooperateSiteCode = taiPingCrawlerFindSolutionCodeData.getCooperateSiteCode();
|
|
|
+ this.cooperateSiteCName = taiPingCrawlerFindSolutionCodeData.getCooperateSiteName();
|
|
|
+ this.agreementNo = record.getAgreementNo();
|
|
|
+ this.businessSource = record.getBusinessSource();
|
|
|
+ this.businessSourceName = "";
|
|
|
+ this.intermediaryCode = record.getIntermediaryCode();
|
|
|
+ this.intermediaryCName = record.getIntermediaryCNName();
|
|
|
+ this.solutionCode = taiPingCrawlerFindSolutionCodeData.getSolutionCode();
|
|
|
+ this.outerUserCode = "";
|
|
|
+ this.outerUserCName = "";
|
|
|
+ this.outerCompanyCode = "";
|
|
|
+ this.outerCompanyName = "";
|
|
|
+ this.departmentCode = "";
|
|
|
+ this.departmentName = "";
|
|
|
+ this.pioneerCode = "";
|
|
|
+ this.pioneerName = "";
|
|
|
+ this.interSalesmanCode = "00";
|
|
|
+ this.interSalesmanName = "0";
|
|
|
+ this.salesmanRegisterNo = parameters.getSalesmanRegisterNo();
|
|
|
+ this.interSalesmanRegisterNo = parameters.getInterSalesmanRegisterNo();
|
|
|
+ this.cooperateSiteName = taiPingCrawlerFindSolutionCodeData.getCooperateSiteName();
|
|
|
+ this.priInd = "3";
|
|
|
+ this.agreementTypeName = record.getAgreementTypeName();
|
|
|
+ this.lables = record.getLables();
|
|
|
+ this.agreementCode = record.getAgreementCode();
|
|
|
+ this.source = record.getSource();
|
|
|
+ this.producerName = record.getProducerName();
|
|
|
+ this.intermediaryCNName = record.getIntermediaryCNName();
|
|
|
+ this.hengSangInd = record.getHengSangInd();
|
|
|
+ this.channelSortName = record.getChannelSortName();
|
|
|
+ this.sourceId = record.getSourceId();
|
|
|
+ this.channelSort = record.getChannelSort();
|
|
|
+ this.teamName = taiPingCrawlerFindSolutionCodeData.getTeamName();
|
|
|
+ this.registerNo = taiPingCrawlerFindSolutionCodeData.getRegisterNo();
|
|
|
+ this.taxRegistryNumber = taiPingCrawlerFindSolutionCodeData.getTaxRegistryNumber();
|
|
|
+ this.value = parameters.getSolutionCode();
|
|
|
+ this.label = parameters.getSolutionCode() +"-"+taiPingCrawlerFindSolutionCodeData.getSalesmanName() +"-"+taiPingCrawlerFindSolutionCodeData.getCooperateSiteName();
|
|
|
+ this.operatorCode = parameters.getUsername();
|
|
|
+ this.orderNo = orderNo;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class FcProductListDto {
|
|
|
+ @JsonProperty("orderNo")
|
|
|
+ private String orderNo;
|
|
|
+
|
|
|
+ @JsonProperty("fcOrderNo")
|
|
|
+ private String fcOrderNo;
|
|
|
+
|
|
|
+ @JsonProperty("productCode")
|
|
|
+ private String productCode;
|
|
|
+
|
|
|
+ @JsonProperty("productVersion")
|
|
|
+ private String productVersion;
|
|
|
+
|
|
|
+ @JsonProperty("productName")
|
|
|
+ private String productName;
|
|
|
+
|
|
|
+ @JsonProperty("status")
|
|
|
+ private String status;
|
|
|
+
|
|
|
+ @JsonProperty("quantity")
|
|
|
+ private String quantity;
|
|
|
+
|
|
|
+ @JsonProperty("price")
|
|
|
+ private Integer price;
|
|
|
+
|
|
|
+ @JsonProperty("poaserialNo")
|
|
|
+ private String poaserialNo;
|
|
|
+
|
|
|
+ @JsonProperty("fcPolicyno")
|
|
|
+ private String fcPolicyno;
|
|
|
+
|
|
|
+ @JsonProperty("createTime")
|
|
|
+ private String createTime;
|
|
|
+
|
|
|
+ @JsonProperty("addr")
|
|
|
+ private String addr;
|
|
|
+
|
|
|
+ @JsonProperty("paymentInd")
|
|
|
+ private String paymentInd;
|
|
|
+
|
|
|
+ @JsonProperty("projectCode")
|
|
|
+ private String projectCode;
|
|
|
+
|
|
|
+ @JsonProperty("saleProductCode")
|
|
|
+ private String saleProductCode;
|
|
|
+
|
|
|
+ @JsonProperty("saleProductName")
|
|
|
+ private String saleProductName;
|
|
|
+
|
|
|
+ @JsonProperty("sumInsured")
|
|
|
+ private Integer sumInsured;
|
|
|
+
|
|
|
+ @JsonProperty("riskCode")
|
|
|
+ private String riskCode;
|
|
|
+
|
|
|
+ @JsonProperty("tradeNo")
|
|
|
+ private String tradeNo;
|
|
|
+
|
|
|
+ @JsonProperty("insuredType")
|
|
|
+ private String insuredType;
|
|
|
+
|
|
|
+ @JsonProperty("insuredCount")
|
|
|
+ private String insuredCount;
|
|
|
+
|
|
|
+ @JsonProperty("startDate")
|
|
|
+ private String startDate;
|
|
|
+
|
|
|
+ @JsonProperty("endDate")
|
|
|
+ private String endDate;
|
|
|
+
|
|
|
+ @JsonProperty("applicant")
|
|
|
+ private String applicant;
|
|
|
+
|
|
|
+ @JsonProperty("insured")
|
|
|
+ private String insured;
|
|
|
+
|
|
|
+ @JsonProperty("identifyType")
|
|
|
+ private String identifyType;
|
|
|
+
|
|
|
+ @JsonProperty("identifyNumber")
|
|
|
+ private String identifyNumber;
|
|
|
+
|
|
|
+ @JsonProperty("productType")
|
|
|
+ private String productType;
|
|
|
+
|
|
|
+ @JsonProperty("isPay")
|
|
|
+ private String isPay;
|
|
|
+
|
|
|
+ @JsonProperty("waitingPeriod")
|
|
|
+ private String waitingPeriod;
|
|
|
+
|
|
|
+ @JsonProperty("quotaType")
|
|
|
+ private String quotaType;
|
|
|
+
|
|
|
+ @JsonProperty("clauseContext")
|
|
|
+ private String clauseContext;
|
|
|
+
|
|
|
+ @JsonProperty("itemProvinceCode")
|
|
|
+ private String itemProvinceCode;
|
|
|
+
|
|
|
+ @JsonProperty("itemProvinceCName")
|
|
|
+ private String itemProvinceCName;
|
|
|
+
|
|
|
+ @JsonProperty("itemCityCode")
|
|
|
+ private String itemCityCode;
|
|
|
+
|
|
|
+ @JsonProperty("itemCityCName")
|
|
|
+ private String itemCityCName;
|
|
|
+
|
|
|
+ @JsonProperty("countyCode")
|
|
|
+ private String countyCode;
|
|
|
+
|
|
|
+ @JsonProperty("countyCName")
|
|
|
+ private String countyCName;
|
|
|
+
|
|
|
+ @JsonProperty("clauseCode")
|
|
|
+ private String clauseCode;
|
|
|
+
|
|
|
+ @JsonProperty("clauseContextRemark")
|
|
|
+ private String clauseContextRemark;
|
|
|
+
|
|
|
+ @JsonProperty("isGroupProduct")
|
|
|
+ private String isGroupProduct;
|
|
|
+
|
|
|
+ @JsonProperty("insuredFlag")
|
|
|
+ private String insuredFlag;
|
|
|
+
|
|
|
+ @JsonProperty("isNewCoreProduct")
|
|
|
+ private String isNewCoreProduct;
|
|
|
+
|
|
|
+ @JsonProperty("riskClass")
|
|
|
+ private String riskClass;
|
|
|
+
|
|
|
+ @JsonProperty("homeAddressFlag")
|
|
|
+ private String homeAddressFlag;
|
|
|
+
|
|
|
+ @JsonProperty("fcProposalNo")
|
|
|
+ private String fcProposalNo;
|
|
|
+
|
|
|
+ @JsonProperty("fcProposalFlag")
|
|
|
+ private String fcProposalFlag;
|
|
|
+
|
|
|
+ @JsonProperty("groupFCProposalNo")
|
|
|
+ private String groupFCProposalNo;
|
|
|
+
|
|
|
+ @JsonProperty("fcQueryFlag")
|
|
|
+ private String fcQueryFlag;
|
|
|
+
|
|
|
+ @JsonProperty("canFoldFcQuotation")
|
|
|
+ private String canFoldFcQuotation;
|
|
|
+
|
|
|
+ @JsonProperty("remark")
|
|
|
+ private String remark;
|
|
|
+
|
|
|
+ @JsonProperty("productMode")
|
|
|
+ private String productMode;
|
|
|
+
|
|
|
+ @JsonProperty("occupationType")
|
|
|
+ private String occupationType;
|
|
|
+
|
|
|
+ @JsonProperty("choiceSocialSecurity")
|
|
|
+ private String choiceSocialSecurity;
|
|
|
+
|
|
|
+ @JsonProperty("occupationCode")
|
|
|
+ private String occupationCode;
|
|
|
+
|
|
|
+ @JsonProperty("haveSocialSecurity")
|
|
|
+ private String haveSocialSecurity;
|
|
|
+
|
|
|
+ @JsonProperty("scopeRelatedRequire")
|
|
|
+ private String scopeRelatedRequire;
|
|
|
+
|
|
|
+ @JsonProperty("needAdditionalInsured")
|
|
|
+ private String needAdditionalInsured;
|
|
|
+
|
|
|
+ @JsonProperty("needPremiumCalculate")
|
|
|
+ private String needPremiumCalculate;
|
|
|
+
|
|
|
+ @JsonProperty("relationToAppnt")
|
|
|
+ private String relationToAppnt;
|
|
|
+
|
|
|
+ @JsonProperty("fcProposalNewFlag")
|
|
|
+ private String fcProposalNewFlag;
|
|
|
+
|
|
|
+ @JsonProperty("productFlag")
|
|
|
+ private String productFlag;
|
|
|
+
|
|
|
+ @JsonProperty("mergeOrderNo")
|
|
|
+ private String mergeOrderNo;
|
|
|
+
|
|
|
+ @JsonProperty("id")
|
|
|
+ private String id;
|
|
|
+
|
|
|
+ @JsonProperty("rationType")
|
|
|
+ private String rationType;
|
|
|
+
|
|
|
+ @JsonProperty("rationName")
|
|
|
+ private String rationName;
|
|
|
+
|
|
|
+ @JsonProperty("seatCount")
|
|
|
+ private String seatCount;
|
|
|
+
|
|
|
+ @JsonProperty("count")
|
|
|
+ private Integer count;
|
|
|
+
|
|
|
+ @JsonProperty("fCkindConfigList")
|
|
|
+ private List<FCkindConfigListDto> fCkindConfigList;
|
|
|
+
|
|
|
+ @JsonProperty("specialInstruction")
|
|
|
+ private String specialInstruction;
|
|
|
+
|
|
|
+ @JsonProperty("productUnitInsured")
|
|
|
+ private Integer productUnitInsured;
|
|
|
+
|
|
|
+ @JsonProperty("productUnitPremium")
|
|
|
+ private Integer productUnitPremium;
|
|
|
+
|
|
|
+ @JsonProperty("affiliateList")
|
|
|
+ private List<Object> affiliateList;
|
|
|
+
|
|
|
+ @Data
|
|
|
+ @NoArgsConstructor
|
|
|
+ public static class FCkindConfigListDto {
|
|
|
+ @JsonProperty("id")
|
|
|
+ private String id;
|
|
|
+
|
|
|
+ @JsonProperty("kindCode")
|
|
|
+ private String kindCode;
|
|
|
+
|
|
|
+ @JsonProperty("insuredComputeType")
|
|
|
+ private String insuredComputeType;
|
|
|
+
|
|
|
+ @JsonProperty("premiumComputeType")
|
|
|
+ private String premiumComputeType;
|
|
|
+
|
|
|
+ @JsonProperty("kindName")
|
|
|
+ private String kindName;
|
|
|
+
|
|
|
+ @JsonProperty("insured")
|
|
|
+ private Integer insured;
|
|
|
+
|
|
|
+ @JsonProperty("premium")
|
|
|
+ private Integer premium;
|
|
|
+
|
|
|
+ @JsonProperty("unitInsured")
|
|
|
+ private Integer unitInsured;
|
|
|
+
|
|
|
+ @JsonProperty("unitPremium")
|
|
|
+ private Integer unitPremium;
|
|
|
+
|
|
|
+ @JsonProperty("productId")
|
|
|
+ private String productId;
|
|
|
+
|
|
|
+ @JsonProperty("insuranceDuty")
|
|
|
+ private String insuranceDuty;
|
|
|
+
|
|
|
+ @JsonProperty("franchiseRemark")
|
|
|
+ private String franchiseRemark;
|
|
|
+
|
|
|
+ @JsonProperty("productCode")
|
|
|
+ private String productCode;
|
|
|
+
|
|
|
+ @JsonProperty("planCode")
|
|
|
+ private String planCode;
|
|
|
+
|
|
|
+ @JsonProperty("isServiceClause")
|
|
|
+ private String isServiceClause;
|
|
|
+
|
|
|
+ @JsonProperty("sumInsuredDescription")
|
|
|
+ private String sumInsuredDescription;
|
|
|
+
|
|
|
+ @JsonProperty("orderIndex")
|
|
|
+ private String orderIndex;
|
|
|
+ }
|
|
|
+ public FcProductListDto(String orderNo, TaiPingCrawlerGetNoCarProductListData taiPingCrawlerGetNoCarProductListDataDTO,QuoteVo quoteVo) {
|
|
|
+ AccidentalDrivingVo drivingVo = quoteVo.getAccidentalDrivings().get(0);
|
|
|
+ String productCode = drivingVo.getProductCode();
|
|
|
+ List<TaiPingCrawlerGetNoCarProductListData.DataDTO.ProductListDTO> productListDTO = taiPingCrawlerGetNoCarProductListDataDTO.getData().getProductList();
|
|
|
+ TaiPingCrawlerGetNoCarProductListData.DataDTO.ProductListDTO product = productListDTO.stream().filter(p -> p.getPlanCode().equals(productCode))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+ this.orderNo = orderNo;
|
|
|
+ this.fcOrderNo = String.valueOf(product.getId());
|
|
|
+ this.productCode = product.getProductCode();
|
|
|
+ this.productVersion = product.getPlanVersion();
|
|
|
+ this.saleProductCode = product.getSaleProductCode();
|
|
|
+ this.saleProductName = product.getSaleProductName();
|
|
|
+ this.productName = product.getPlanName();
|
|
|
+ this.status = "1";
|
|
|
+ this.quantity = "1";
|
|
|
+ this.price = product.getSumPremium();
|
|
|
+ this.poaserialNo = "";
|
|
|
+ this.fcPolicyno = null;
|
|
|
+ this.createTime = OffsetDateTime.now(ZoneOffset.UTC).toString();
|
|
|
+ this.addr = null;
|
|
|
+ this.paymentInd = "0";
|
|
|
+ this.projectCode = product.getPlanCode();
|
|
|
+ this.sumInsured = product.getSumInsured();
|
|
|
+ this.riskCode = product.getProductCode();
|
|
|
+ this.tradeNo = null;
|
|
|
+ this.insuredType = null;
|
|
|
+ this.insuredCount = null;
|
|
|
+ if (quoteVo.getBiRiskInfoVo() != null) {
|
|
|
+ RiskInfoVo bi = quoteVo.getBiRiskInfoVo();
|
|
|
+ this.startDate = bi.getStartDate();
|
|
|
+ this.endDate = bi.getEndDate();
|
|
|
+ } else {
|
|
|
+ RiskInfoVo ci = quoteVo.getCiRiskInfoVo();
|
|
|
+ this.startDate = ci.getStartDate();
|
|
|
+ this.endDate = ci.getEndDate();
|
|
|
+ }
|
|
|
+ this.applicant = null;
|
|
|
+ this.insured = null;
|
|
|
+ this.identifyType = null;
|
|
|
+ this.identifyNumber = null;
|
|
|
+ this.productType = null;
|
|
|
+ this.isPay = "1";
|
|
|
+ this.waitingPeriod = null;
|
|
|
+ this.quotaType = null;
|
|
|
+ this.clauseContext = null;
|
|
|
+ this.itemProvinceCode = null;
|
|
|
+ this.itemProvinceCName = null;
|
|
|
+ this.itemCityCode = null;
|
|
|
+ this.itemCityCName = null;
|
|
|
+ this.countyCode = null;
|
|
|
+ this.countyCName = null;
|
|
|
+ this.clauseCode = null;
|
|
|
+ this.clauseContextRemark = null;
|
|
|
+ this.isGroupProduct = null;
|
|
|
+ this.insuredFlag = "2";
|
|
|
+ this.isNewCoreProduct = "1";
|
|
|
+ this.riskClass = product.getRiskClass();
|
|
|
+ this.homeAddressFlag = null;
|
|
|
+ this.fcProposalNo = null;
|
|
|
+ this.fcProposalFlag = "1";
|
|
|
+ this.groupFCProposalNo = null;
|
|
|
+ this.fcQueryFlag = "1";
|
|
|
+ this.canFoldFcQuotation = "0";
|
|
|
+ this.remark = null;
|
|
|
+ this.productMode = product.getProductMode();
|
|
|
+ this.occupationType = null;
|
|
|
+ this.choiceSocialSecurity = null;
|
|
|
+ this.occupationCode = null;
|
|
|
+ this.haveSocialSecurity = null;
|
|
|
+ this.scopeRelatedRequire = null;
|
|
|
+ this.needAdditionalInsured = "N";
|
|
|
+ this.needPremiumCalculate = null;
|
|
|
+ this.relationToAppnt = null;
|
|
|
+ this.fcProposalNewFlag = "1";
|
|
|
+ this.productFlag = "1";
|
|
|
+ this.mergeOrderNo = null;
|
|
|
+ this.id = null;
|
|
|
+ this.rationType = product.getPlanCode();
|
|
|
+ this.rationName = product.getPlanName();
|
|
|
+ this.seatCount = null;
|
|
|
+ this.count = 1;
|
|
|
+ this.fCkindConfigList = product.getLiabilityList().stream()
|
|
|
+ .map(liabilityListDTO -> {
|
|
|
+ FcProductListDto.FCkindConfigListDto fCkindConfigListDto = new FcProductListDto.FCkindConfigListDto();
|
|
|
+ fCkindConfigListDto.setId(null);
|
|
|
+ fCkindConfigListDto.setKindCode(liabilityListDTO.getLiabilityCode());
|
|
|
+ fCkindConfigListDto.setInsuredComputeType(liabilityListDTO.getSumInsuredType());
|
|
|
+ fCkindConfigListDto.setPremiumComputeType(null);
|
|
|
+ fCkindConfigListDto.setKindName(liabilityListDTO.getLiabilityName());
|
|
|
+ fCkindConfigListDto.setInsured(liabilityListDTO.getPerSumInsured());
|
|
|
+ fCkindConfigListDto.setPremium(liabilityListDTO.getPremium());
|
|
|
+ fCkindConfigListDto.setUnitInsured(liabilityListDTO.getPerSumInsured());
|
|
|
+ fCkindConfigListDto.setUnitPremium(liabilityListDTO.getPremium());
|
|
|
+ fCkindConfigListDto.setProductId(null);
|
|
|
+ fCkindConfigListDto.setInsuranceDuty(null);
|
|
|
+ fCkindConfigListDto.setFranchiseRemark(null);
|
|
|
+ fCkindConfigListDto.setProductCode(null);
|
|
|
+ fCkindConfigListDto.setPlanCode(null);
|
|
|
+ fCkindConfigListDto.setIsServiceClause(liabilityListDTO.getIsServiceClause());
|
|
|
+ fCkindConfigListDto.setSumInsuredDescription(null);
|
|
|
+ fCkindConfigListDto.setOrderIndex(null);
|
|
|
+ return fCkindConfigListDto;
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ this.specialInstruction = null;
|
|
|
+ this.productUnitInsured = product.getSumInsured();
|
|
|
+ this.productUnitPremium = product.getSumPremium();
|
|
|
+ this.affiliateList = new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|