package com.ydtech.modules.ins.model.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonProperty; import com.ydtech.modules.order.entity.TaxArrears; import com.ydtech.modules.order.entity.crawler.response.CrawlerQuoteResponse; import com.ydtech.modules.order.entity.po.SysQuoteRecord; import com.ydtech.modules.order.entity.vo.CoreModelsVo; import com.ydtech.utils.BigDecimalUtils; import com.ydtech.utils.StringUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.math.BigDecimal; import java.util.Collections; import java.util.List; /** * @author qinfenglong * @version 1.0.0 * @description QuoteRespVo * @since 2020/11/26 23:50 */ @Data public class QuoteRespVo { @ApiModelProperty("交强险和车船税合计") private double ciSumPermium; @ApiModelProperty("保费合计") private double sumPermium; @ApiModelProperty("车船税") private double taxAmount; @ApiModelProperty("提示信息") private String tips; @ApiModelProperty("商业险险种") private List kindList; @ApiModelProperty("交强险和商业险") private List riskList; //add 警告信息 lig 2023-09-12 @ApiModelProperty("警告信息") private List warnMessageList; //add 交强商业开始结束起保日期 lig 2023-09-12 @ApiModelProperty("开始起保日期交强") private String startDateJq; @ApiModelProperty("结束起保日期交强") private String endDateJq; @ApiModelProperty("开始起保日期交强") private String startDateSy; @ApiModelProperty("结束起保日期交强") private String endDateSy; //add end 交强商业开始结束起保日期 lig 2023-09-12 @ApiModelProperty("驾意险信息") private List accident; @ApiModelProperty("订单号") private String orderno; @ApiModelProperty("订单状态") private String orderStatus; @ApiModelProperty("是否真单交") private String iszdj; @ApiModelProperty("交强险保费") private double jqPremium; @ApiModelProperty("商业险保费") private double syPremium; @ApiModelProperty("驾意险保费") private double jyPremium; @ApiModelProperty("子订单ID") private String companyId; @ApiModelProperty("总折扣率") private double totalAdjustRate; @ApiModelProperty("交强险折扣率") private String jqAdjustRate; @ApiModelProperty("商业险折扣率") private String syAdjustRate; @ApiModelProperty("欠税明细") private List taxArrears; //add 增加返回出险信息 lig 2023-09-14 @ApiModelProperty("出险信息") private String accidentInfoStr; @ApiModelProperty("扩展字段") private Object extendInfo; @ApiModelProperty("交强投保单号") private String jqApplyNo; @ApiModelProperty("商业投保单号") private String syApplyNo; @ApiModelProperty("评分") private String iLogPreUdwMess; @ApiModelProperty("交强类型评分") private String jqScore; @ApiModelProperty("商业类型评分") private String syScore; @ApiModelProperty("总赔付率") private double lossRation; @ApiModelProperty("交强赔付率") private double jqLossRation; @ApiModelProperty("商业赔付率") private double syLossRation; @ApiModelProperty("阳光 交商含增值服务合并经营成本率") private String mergeCostRate; @ApiModelProperty("核心返回车型") private CoreModelsVo coreModels; //add by hxl 添加紫金能源车返回的鼎然-车辆风险评分 @ApiModelProperty("紫金能源车(鼎然-车辆风险评分)") private String ubiPredictedInfoScore; /** * 预核保信息 */ @ApiModelProperty("预核保信息") private List predictInfo; /** * 出口返点信息 后置处理器处理 */ @ApiModelProperty("交强出口费用") private BigDecimal jqExportFee; @ApiModelProperty("商业出口费用") private BigDecimal syExportFee; @ApiModelProperty("非车出口费用") private BigDecimal noExportFee; @ApiModelProperty("交强出口比例") private BigDecimal jqExportRadio; @ApiModelProperty("商业出口比例") private BigDecimal syExportRadio; @ApiModelProperty("非车出口比例") private BigDecimal noExportRadio; @ApiModelProperty("总计出口费用") private BigDecimal sumExportFee; @ApiModelProperty("交强续保") private String jqRenewal; @ApiModelProperty("商业续保") private String syRenewal; @ApiModelProperty("费用不符合描述") private String feeNoDescription; @ApiModelProperty("交强出险次数") private String jqClaims; @ApiModelProperty("商业出险次数") private String syClaims; @ApiModelProperty("期望折扣") private String expectedDiscount; @ApiModelProperty("初始建议折扣") private String initialProposalDiscount; @ApiModelProperty("自主定价系数") private String pricingCoefficient; @ApiModelProperty("费用查看") private Boolean feeView; @ApiModelProperty("费用显示") private Boolean feeDisplay; @ApiModelProperty("请求类型") private Integer apiType; @ApiModelProperty("验车链接") private String vehicleInspectionUrl; //太平使用 @ApiModelProperty("商业险是否有费用") private String ciMessage; // 诚泰增加特约 @ApiModelProperty("交强特别约定") private String jqappoint; @ApiModelProperty("商业特别约定") @TableField(value = "syappoint") private String syappoint; @ApiModelProperty("报价记录") private List quoteRecords; public void setJqClaims(String jqClaims) { this.jqClaims = StringUtils.isEmpty(jqClaims) ? null : jqClaims; } public void setSyClaims(String syClaims) { this.syClaims = StringUtils.isEmpty(syClaims) ? null : syClaims; } public List getAccidentInfo() { return accident == null ? Collections.emptyList() : accident; } @NoArgsConstructor @Data @ApiModel("预核保信息") public static class PreUnderwritingInfoDTO implements Serializable { private static final long serialVersionUID = -4403793340565853838L; @ApiModelProperty("备注") @JsonProperty("description") private String description; @ApiModelProperty("备注") @JsonProperty("opinion") private String opinion; public PreUnderwritingInfoDTO(CrawlerQuoteResponse.OtherDto.PredictInfoDTO predictInfoDTO) { this.description = predictInfoDTO.getDescription(); this.opinion = predictInfoDTO.getOpinion(); } } public void feeVacant(){ this.jqExportFee = null; this.syExportFee = null; this.noExportFee = null; this.sumExportFee = null; } public void feeDivideBy10(){ this.jqExportFee = BigDecimalUtils.nullToZero(this.jqExportFee).divide(new BigDecimal(10)); this.syExportFee = BigDecimalUtils.nullToZero(this.syExportFee).divide(new BigDecimal(10)); this.noExportFee = BigDecimalUtils.nullToZero(this.noExportFee).divide(new BigDecimal(10)); this.sumExportFee = BigDecimalUtils.nullToZero(this.sumExportFee).divide(new BigDecimal(10)); this.jqExportRadio = BigDecimalUtils.nullToZero(this.jqExportRadio).divide(new BigDecimal(10)); this.syExportRadio = BigDecimalUtils.nullToZero(this.syExportRadio).divide(new BigDecimal(10)); this.noExportRadio = BigDecimalUtils.nullToZero(this.noExportRadio).divide(new BigDecimal(10)); } }