|
@@ -0,0 +1,374 @@
|
|
|
|
|
+package com.ydtech.modules.xxl.model;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
+import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
|
|
+import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
|
|
+import com.baomidou.mybatisplus.annotation.TableName;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
|
|
+import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
|
|
|
|
|
+import com.ydtech.modules.ins.model.vo.QuoteRespVo;
|
|
|
|
|
+import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
|
|
|
|
|
+import com.ydtech.utils.idgen.IdGenerate;
|
|
|
|
|
+import io.swagger.annotations.ApiModel;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
|
|
+
|
|
|
|
|
+import java.io.Serializable;
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 报价渠道
|
|
|
|
|
+ *
|
|
|
|
|
+ * @TableName ins_area_company
|
|
|
|
|
+ */
|
|
|
|
|
+@TableName(value = "ins_area_company", autoResultMap = true)
|
|
|
|
|
+@Data
|
|
|
|
|
+@ApiModel(value = "报价渠道")
|
|
|
|
|
+@NoArgsConstructor
|
|
|
|
|
+public class InsAreaCompany implements Serializable {
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 主键
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableId(value = "id")
|
|
|
|
|
+ private String id;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "orderno")
|
|
|
|
|
+ private String orderno;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 协议id
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "agreement_id")
|
|
|
|
|
+ private String agreementId;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 请求类型
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "api_type")
|
|
|
|
|
+ private Integer apiType;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 订单状态
|
|
|
|
|
+ *
|
|
|
|
|
+ * @see com.ydtech.constants.enums.dict.InsOrderStatusEnum
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "orderstatus")
|
|
|
|
|
+ private String orderstatus;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保险公司编号
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "company_id")
|
|
|
|
|
+ private String companyId;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保险名称
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "inscompany")
|
|
|
|
|
+ private String inscompany;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 请求报文
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "reqtxt", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONObject reqtxt;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 响应报文
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "reptxt", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONObject reptxt;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强投保单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jqapplyno")
|
|
|
|
|
+ private String jqapplyno;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强保单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jqpolicyno")
|
|
|
|
|
+ private String jqpolicyno;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业投保单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "syapplyno")
|
|
|
|
|
+ private String syapplyno;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业保单号
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sypolicyno")
|
|
|
|
|
+ private String sypolicyno;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交叉销售保单信息
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "cross_insurance", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONArray crossInsurance;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 驾意险
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "accident_info", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONArray accidentInfo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强险商业险
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "riskinfo", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONArray riskinfo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业险信息
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "kindinfo", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONArray kindinfo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强险费用
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jqpremium")
|
|
|
|
|
+ private BigDecimal jqpremium;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业险费用
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sypremium")
|
|
|
|
|
+ private BigDecimal sypremium;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 驾意险
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jypremium")
|
|
|
|
|
+ private BigDecimal jypremium;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 车船税费用
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "taxamount")
|
|
|
|
|
+ private BigDecimal taxamount;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 总保费
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sumpremium")
|
|
|
|
|
+ private BigDecimal sumpremium;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强优惠比例
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jqdiscountrate")
|
|
|
|
|
+ private Double jqdiscountrate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业优惠比例
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sydiscountrate")
|
|
|
|
|
+ private Double sydiscountrate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强手续费比例
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "feerate")
|
|
|
|
|
+ private Double feerate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业手续费比例
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "disrate")
|
|
|
|
|
+ private Double disrate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 核保人
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "auditid")
|
|
|
|
|
+ private String auditid;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 核保人姓名
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "auditname")
|
|
|
|
|
+ private String auditname;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 核保时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "audittime")
|
|
|
|
|
+ private LocalDateTime audittime;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 核保意见
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "auditopinion")
|
|
|
|
|
+ private String auditopinion;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强特别约定
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jqappoint")
|
|
|
|
|
+ private String jqappoint;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业特别约定
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "syappoint")
|
|
|
|
|
+ private String syappoint;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 创建时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "createtime")
|
|
|
|
|
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
|
|
|
|
+ private LocalDateTime createtime;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 支付链接
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "payment_link")
|
|
|
|
|
+ private String paymentLink;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 支付时间
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "pay_date")
|
|
|
|
|
+ private LocalDateTime payDate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保险公司订单号
|
|
|
|
|
+ * lig 新增字段 2023-02-24
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "ins_order_no")
|
|
|
|
|
+ private String insOrderNo;
|
|
|
|
|
+ /**
|
|
|
|
|
+ *
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "attribution_id")
|
|
|
|
|
+ private String attributionId;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 欠税
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "tax_arrears", typeHandler = FastjsonTypeHandler.class)
|
|
|
|
|
+ private JSONArray taxArrears;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强险起期
|
|
|
|
|
+ * lig 新增字段 2023-09-14
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jq_start_date")
|
|
|
|
|
+ private String jqStartDate;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强险止期
|
|
|
|
|
+ * lig 新增字段 2023-09-14
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jq_end_date")
|
|
|
|
|
+ private String jqEndDate;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业险起期
|
|
|
|
|
+ * lig 新增字段 2023-09-14
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sy_start_date")
|
|
|
|
|
+ private String syStartDate;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业险止期
|
|
|
|
|
+ * lig 新增字段 2023-09-14
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sy_end_date")
|
|
|
|
|
+ private String syEndDate;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 出险 字符串 信息
|
|
|
|
|
+ * lig 新增字段 2023-10-10
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "accident_str_info")
|
|
|
|
|
+ private String accidentStrInfo;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 评分
|
|
|
|
|
+ * lig 新增字段 2023-10-10
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "score")
|
|
|
|
|
+ private String score;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强类型评分
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jq_score")
|
|
|
|
|
+ private String jqScore;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业类型评分
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sy_score")
|
|
|
|
|
+ private String syScore;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 总赔付率
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "loss_ration")
|
|
|
|
|
+ private double lossRation;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 交强赔付率
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "jq_loss_ration")
|
|
|
|
|
+ private double jqLossRation;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 商业赔付率
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(value = "sy_loss_ration")
|
|
|
|
|
+ private double syLossRation;
|
|
|
|
|
+
|
|
|
|
|
+ @TableField(value = "inside_order_status")
|
|
|
|
|
+ private Integer insideOrderStatus;
|
|
|
|
|
+
|
|
|
|
|
+ @TableField(value = "inside_pay_time")
|
|
|
|
|
+ private String insidePayTime;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 业务员
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(exist = false)
|
|
|
|
|
+ private String userName;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 业务员ID
|
|
|
|
|
+ */
|
|
|
|
|
+ @TableField(exist = false)
|
|
|
|
|
+ private String userId;
|
|
|
|
|
+
|
|
|
|
|
+ @TableField(exist = false)
|
|
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
|
|
+
|
|
|
|
|
+ public InsAreaCompany(QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
|
|
|
|
|
+ this.id = IdGenerate.nextId();
|
|
|
|
|
+ this.orderno = quoteRespVo.getOrderno();
|
|
|
|
|
+ this.agreementId = ptlAgreementAttribution.getId();
|
|
|
|
|
+ this.apiType = ptlAgreementAttribution.getApiType();
|
|
|
|
|
+ this.companyId = ptlAgreementAttribution.getInsCompanyId();
|
|
|
|
|
+ this.inscompany = ptlAgreementAttribution.getInsCompanyName();
|
|
|
|
|
+ this.jqpremium = BigDecimal.valueOf(quoteRespVo.getJqPremium());
|
|
|
|
|
+ this.sypremium = BigDecimal.valueOf(quoteRespVo.getSyPremium());
|
|
|
|
|
+ this.jypremium = BigDecimal.valueOf(quoteRespVo.getJyPremium());
|
|
|
|
|
+ this.taxamount = BigDecimal.valueOf(quoteRespVo.getTaxAmount());
|
|
|
|
|
+ this.sumpremium = BigDecimal.valueOf(quoteRespVo.getSumPermium());
|
|
|
|
|
+ this.accidentInfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getAccidentInfo()));
|
|
|
|
|
+ this.riskinfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getRiskList()));
|
|
|
|
|
+ this.kindinfo = JSON.parseArray(JSON.toJSONString(quoteRespVo.getKindList()));
|
|
|
|
|
+ this.orderstatus = InsOrderStatusEnum.QUOTE_ING.getCode();
|
|
|
|
|
+
|
|
|
|
|
+ this.jqStartDate = quoteRespVo.getStartDateJq();
|
|
|
|
|
+ this.jqEndDate = quoteRespVo.getEndDateJq();
|
|
|
|
|
+
|
|
|
|
|
+ this.syStartDate = quoteRespVo.getStartDateSy();
|
|
|
|
|
+ this.syEndDate = quoteRespVo.getEndDateSy();
|
|
|
|
|
+
|
|
|
|
|
+ this.accidentStrInfo = quoteRespVo.getAccidentInfoStr();
|
|
|
|
|
+ // 评分
|
|
|
|
|
+ this.score = quoteRespVo.getILogPreUdwMess();
|
|
|
|
|
+ this.jqScore = quoteRespVo.getJqScore();
|
|
|
|
|
+ this.syScore = quoteRespVo.getSyScore();
|
|
|
|
|
+ // 赔付率
|
|
|
|
|
+ this.lossRation = quoteRespVo.getLossRation();
|
|
|
|
|
+ this.jqLossRation = quoteRespVo.getJqLossRation();
|
|
|
|
|
+ this.syLossRation = quoteRespVo.getSyLossRation();
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|