|
|
@@ -0,0 +1,666 @@
|
|
|
+package com.ydtech.modules.order.entity.api.dajia.request;
|
|
|
+
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
+import com.ydtech.constants.enums.InsurKind;
|
|
|
+import com.ydtech.constants.enums.InsuranceRisk;
|
|
|
+import com.ydtech.modules.ins.model.vo.KindInfoVo;
|
|
|
+import com.ydtech.modules.ins.model.vo.QuoteInfoVo;
|
|
|
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
|
|
|
+import com.ydtech.modules.order.entity.api.dajia.DaJiaBaseRequest;
|
|
|
+import com.ydtech.modules.order.entity.api.dajia.constants.*;
|
|
|
+import com.ydtech.modules.order.entity.api.dajia.response.ODR1009Response;
|
|
|
+import com.ydtech.modules.order.entity.api.dajia.response.ODR1016Response;
|
|
|
+import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
|
|
|
+import com.ydtech.utils.DateTimeUtil;
|
|
|
+import com.ydtech.utils.DateTimeUtils;
|
|
|
+import com.ydtech.utils.idgen.IdGenerate;
|
|
|
+import lombok.Data;
|
|
|
+import lombok.EqualsAndHashCode;
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
+
|
|
|
+import java.io.Serializable;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+import static com.ydtech.modules.order.entity.api.dajia.constants.CInspectRec.INSREC1;
|
|
|
+import static com.ydtech.modules.order.entity.api.dajia.constants.CPayTaxType.T5002;
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * @version
|
|
|
+ * @description: ODR1008 保费计算 请求参数
|
|
|
+ * @author: wenks
|
|
|
+ * @date: 2023/11/14 16:51
|
|
|
+ **/
|
|
|
+//@EqualsAndHashCode(callSuper = true)
|
|
|
+//@NoArgsConstructor
|
|
|
+@Data
|
|
|
+public class ODR1009Request extends DaJiaBaseRequest {
|
|
|
+
|
|
|
+ private static final long serialVersionUID = -3271826016394642480L;
|
|
|
+
|
|
|
+ @JsonProperty("body")
|
|
|
+ private BodyDTO body;
|
|
|
+
|
|
|
+ public ODR1009Request(String orderNo, List<KindInfoVo> kindInfoVos, List<RiskInfoVo> riskInfoVos, BaseQuoteInfoVo quoteInfoVo, ODR1016Response odr1016Response) {
|
|
|
+ super("TQBD", ServiceCode.ODR1009.getCode());
|
|
|
+ if(Objects.isNull(body)){
|
|
|
+ body = new BodyDTO();
|
|
|
+ }
|
|
|
+ body.setOrderNo(orderNo);
|
|
|
+ //车险交商联合出单类型
|
|
|
+ if(riskInfoVos.size() > 1){
|
|
|
+ //交商联合
|
|
|
+ body.setMotorJointType("3");
|
|
|
+ }else if(riskInfoVos.size() == 1) {
|
|
|
+ if (riskInfoVos.get(0).getRiskCode().equals(InsuranceRisk.BUSINESS_CODE)) {
|
|
|
+ //单商业
|
|
|
+ body.setMotorJointType("2");
|
|
|
+ } else {
|
|
|
+ // 单交强
|
|
|
+ body.setMotorJointType("1");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //设置基本信息
|
|
|
+ setBasePartReq(riskInfoVos,quoteInfoVo,odr1016Response);
|
|
|
+ //设置车船税
|
|
|
+ setVehicleTaxation(riskInfoVos);
|
|
|
+ //设置商业险信息
|
|
|
+ setCoverageList(kindInfoVos,quoteInfoVo,odr1016Response);
|
|
|
+ //设置验车情况
|
|
|
+ setInspectionInfo();
|
|
|
+ //设置特殊属性
|
|
|
+ setSpecialInfo(riskInfoVos);
|
|
|
+// this.body.setVehicleInfo(new BodyDTO.vehicleInfoDTO());
|
|
|
+// this.body.setNvhPolicyList(new BodyDTO.nvhPolicyListDTO());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //基本信息
|
|
|
+ public void setBasePartReq(List<RiskInfoVo> riskInfoVos, BaseQuoteInfoVo quoteInfoVo, ODR1016Response odr1016Response){
|
|
|
+ BodyDTO.basePartReqDTO basePartReqDTO = new BodyDTO.basePartReqDTO();
|
|
|
+ riskInfoVos.forEach(risk->{
|
|
|
+ if("0507".equals(risk.getRiskCode())) {
|
|
|
+ //交强险保险起期
|
|
|
+ basePartReqDTO.setJqEffectiveDate(risk.getStartDate());
|
|
|
+ //交强险保险止期
|
|
|
+ basePartReqDTO.setJqExpireDate(risk.getEndDate());
|
|
|
+ //交强险即时生效
|
|
|
+ basePartReqDTO.setJqImmeffMrk("0");
|
|
|
+ //交强险产品编码
|
|
|
+ basePartReqDTO.setJqProdNo(CProdNo.JQ.getCode());
|
|
|
+ }
|
|
|
+ if("0510".equals(risk.getRiskCode())){
|
|
|
+ //商业险保险起期
|
|
|
+ basePartReqDTO.setSyEffectiveDate(risk.getStartDate());
|
|
|
+ //商业险保险止期
|
|
|
+ basePartReqDTO.setSyExpireDate(risk.getEndDate());
|
|
|
+ //商业险及时生效
|
|
|
+ basePartReqDTO.setSyImmeffMrk("0");
|
|
|
+ //商业险产品编码
|
|
|
+ basePartReqDTO.setSyProdNo(CProdNo.SY.getCode());
|
|
|
+ //商业折扣是否下浮标志
|
|
|
+ basePartReqDTO.setFixedDropDiscount("0");
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ //期望折扣
|
|
|
+ basePartReqDTO.setSyExpectedFloatingRate("1.5");
|
|
|
+ //收费方式
|
|
|
+ basePartReqDTO.setFinType("10");//默认是10 二维码收款
|
|
|
+ //协商实际价值
|
|
|
+ basePartReqDTO.setConsultPurchaseValue(odr1016Response.getResult().getActualValue());
|
|
|
+ this.body.setBasePartReq(basePartReqDTO);
|
|
|
+ }
|
|
|
+
|
|
|
+ //交强险 车船税信息
|
|
|
+ public void setVehicleTaxation(List<RiskInfoVo> riskInfoVos){
|
|
|
+ BodyDTO.vehicleTaxationDTO vehicleTaxationDTO = new BodyDTO.vehicleTaxationDTO();
|
|
|
+ //缴税方式
|
|
|
+ vehicleTaxationDTO.setTaxPaytaxTyp(T5002.getCode());
|
|
|
+
|
|
|
+ riskInfoVos.forEach(risk->{
|
|
|
+ if("0507".equals(risk.getRiskCode())) {
|
|
|
+ //交强险保险起期
|
|
|
+ vehicleTaxationDTO.setTaxEffBgnTm(risk.getStartDate());
|
|
|
+ //交强险保险止期
|
|
|
+ vehicleTaxationDTO.setTaxEffEndTm(risk.getEndDate());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.body.setVehicleTaxation(vehicleTaxationDTO);
|
|
|
+ }
|
|
|
+
|
|
|
+ //设置 特殊属性
|
|
|
+ public void setSpecialInfo(List<RiskInfoVo> riskInfoVos){
|
|
|
+ BodyDTO.specialInfoDTO specialInfoDTO = new BodyDTO.specialInfoDTO();
|
|
|
+ //车险交商联合出单类型
|
|
|
+ if(riskInfoVos.size() > 1){
|
|
|
+ //交商联合
|
|
|
+ specialInfoDTO.setVehicleUsageCde(CUsageCde.U03.getCode().toString());
|
|
|
+ }else if(riskInfoVos.size() == 1) {
|
|
|
+ if (riskInfoVos.get(0).getRiskCode().equals(InsuranceRisk.BUSINESS_CODE)) {
|
|
|
+ //单商业
|
|
|
+ specialInfoDTO.setVehicleUsageCde(CUsageCde.U03.getCode().toString());
|
|
|
+ } else {
|
|
|
+ // 单交强
|
|
|
+ specialInfoDTO.setVehicleUsageCde(CUsageCdeJq.UJQ364002001.getCode().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+// specialInfoDTO.setBusiServiceCode("1958202300001A");
|
|
|
+ this.body.specialInfo = specialInfoDTO;
|
|
|
+ }
|
|
|
+ private CIndemLmtLvl getCPayTaxType(KindInfoVo kindInfoVo){
|
|
|
+ CIndemLmtLvl[] values = CIndemLmtLvl.values();
|
|
|
+ for(CIndemLmtLvl item : values){
|
|
|
+ if(item.getAmount().equals(kindInfoVo.getAmount())){
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ private NDeductionRate getNDeductionRate(Double rate){
|
|
|
+ NDeductionRate[] values = NDeductionRate.values();
|
|
|
+ for(NDeductionRate item : values){
|
|
|
+ if(Objects.equals(item.getRate(), rate)){
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ private CvrgCIndemLmtLvl getCvrgCIndemLmtLvl(KindInfoVo kindInfoVo){
|
|
|
+ CvrgCIndemLmtLvl[] values = CvrgCIndemLmtLvl.values();
|
|
|
+ for(CvrgCIndemLmtLvl item : values){
|
|
|
+ if(item.getAmount() == (int)(kindInfoVo.getAmount())){
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //商业险别信息(列表)
|
|
|
+ public void setCoverageList(List<KindInfoVo> kindInfoVos,BaseQuoteInfoVo quoteInfoVo,ODR1016Response odr1016Response){
|
|
|
+ ArrayList<BodyDTO.coverageListDTO> coverageListDTOS = new ArrayList<>();
|
|
|
+ Integer seatCount = Integer.parseInt(quoteInfoVo.getCarInfo().getSeatCount());
|
|
|
+
|
|
|
+ kindInfoVos.forEach(kindInfoVo->{
|
|
|
+ //车损险
|
|
|
+ if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030006.getInsurCode())){
|
|
|
+ //保额
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO030006.getCode());
|
|
|
+ coverageListDTO.setLossNAmt(odr1016Response.getResult().getActualValue());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035601.getInsurCode())){
|
|
|
+ //绝对免赔率
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO035601.getCode());
|
|
|
+ coverageListDTO.setLossNDeductionRate(String.valueOf(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100));
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ } else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030018.getInsurCode())) {
|
|
|
+ //第三者责任险
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO030018.getCode());
|
|
|
+ //限额档次
|
|
|
+ coverageListDTO.setThreeCIndemLmtLvl(getCPayTaxType(kindInfoVo).getCode());
|
|
|
+ //档次对应限额
|
|
|
+ coverageListDTO.setThreeNIndemLmt(kindInfoVo.getAmount());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035602.getInsurCode())){
|
|
|
+ //三者绝对免赔率
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO035602.getCode());
|
|
|
+ NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
|
|
|
+ coverageListDTO.setThreeNDeductionRate(nDeductionRate.getCode());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO032601.getInsurCode())) {
|
|
|
+ //车身划痕险
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO032601.getCode());
|
|
|
+ coverageListDTO.setCarSscratchCIndemLmtLvl(getCvrgCIndemLmtLvl(kindInfoVo).getCode());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035603.getInsurCode())) {
|
|
|
+ //绝对免赔率特约险(司机)
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO035603.getCode());
|
|
|
+ NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
|
|
|
+ coverageListDTO.setDriverNDeductionRate(nDeductionRate.getCode());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035604.getInsurCode())) {
|
|
|
+ //绝对免赔率特约险(乘客)
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO035604.getCode());
|
|
|
+ NDeductionRate nDeductionRate = getNDeductionRate(Double.parseDouble(kindInfoVo.getDeductibleRate()) / 100);
|
|
|
+ coverageListDTO.setPassengerNDeductionRate(nDeductionRate.getCode());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030001.getInsurCode())) {
|
|
|
+ //车上人员责任保险(司机)
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO030001.getCode());
|
|
|
+ coverageListDTO.setDriverNLiabDaysLmt("1");
|
|
|
+ coverageListDTO.setDriverNPerAmt(kindInfoVo.getAmount());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO033614.getInsurCode())) {
|
|
|
+ //"法定节假日限额翻倍险
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO033614.getCode());
|
|
|
+ coverageListDTO.setThreeQuotaAmt(kindInfoVo.getAmount());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO030009.getInsurCode())) {
|
|
|
+ //车上人员责任保险(乘客)
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO030009.getCode());
|
|
|
+ coverageListDTO.setPassengerNLiabDaysLmt(seatCount- 1 + "");
|
|
|
+ coverageListDTO.setPassengerNPerAmt(kindInfoVo.getUnitAmount());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035613.getInsurCode())){
|
|
|
+ //附加医保外用药责任险(机动车车上人员责任保险(司机))
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO035613.getCode());
|
|
|
+ coverageListDTO.setDriverNLiabDaysLmt("1");
|
|
|
+ coverageListDTO.setDriverMedicalAmt(kindInfoVo.getAmount());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }else if(kindInfoVo.getKindCode().equals(CCvrgNo.NO035614.getInsurCode())){
|
|
|
+ //附加医保外用药责任险(机动车车上人员责任保险(乘客))
|
|
|
+ BodyDTO.coverageListDTO coverageListDTO = new BodyDTO.coverageListDTO();
|
|
|
+ coverageListDTO.setCvrgNo(CCvrgNo.NO035614.getCode());
|
|
|
+ coverageListDTO.setPassengerNLiabDaysLmt(seatCount - 1 + "");
|
|
|
+ coverageListDTO.setPassengerMoralDamageAmt(kindInfoVo.getUnitAmount());
|
|
|
+ coverageListDTOS.add(coverageListDTO);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.body.setCoverageList(coverageListDTOS);
|
|
|
+ }
|
|
|
+
|
|
|
+ //验车情况
|
|
|
+ public void setInspectionInfo(){
|
|
|
+ if(Objects.isNull(body.inspectionInfo))
|
|
|
+ {
|
|
|
+ body.inspectionInfo = new BodyDTO.inspectionInfoDTO();
|
|
|
+ }
|
|
|
+// //验车情况
|
|
|
+// body.inspectionInfo.setVehicleInspectionCde(CInspectionCde.INS3.getCode().toString());
|
|
|
+// //免验原因
|
|
|
+// body.inspectionInfo.setVehicleResvTxt1(CResvTxt.RESC3.getCode().toString());
|
|
|
+// //验车时间
|
|
|
+// body.inspectionInfo.setVehicleInspectTm(new DateTime().toDateStr());
|
|
|
+// //验车人
|
|
|
+// body.inspectionInfo.setVehicleInspectorNme("张英");
|
|
|
+// //验车结果
|
|
|
+// body.inspectionInfo.setVehicleInspectRec(INSREC1.getCode().toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class BodyDTO implements Serializable {
|
|
|
+
|
|
|
+ private static final long serialVersionUID = 7312734581391918243L;
|
|
|
+ //业务订单号
|
|
|
+ @JsonProperty("orderNo")
|
|
|
+ private String orderNo;
|
|
|
+ //车险交商联合出单类型
|
|
|
+ @JsonProperty("motorJointType")
|
|
|
+ private String motorJointType;
|
|
|
+ //基本信息
|
|
|
+ @JsonProperty("basePartReq")
|
|
|
+ private basePartReqDTO basePartReq;
|
|
|
+ //【商业险必传】商业险别信息(列表)
|
|
|
+ @JsonProperty("coverageList")
|
|
|
+ private List<coverageListDTO> coverageList;
|
|
|
+
|
|
|
+ //【交强险必传】车船税信息
|
|
|
+ @JsonProperty("vehicleTaxation")
|
|
|
+ private vehicleTaxationDTO vehicleTaxation;
|
|
|
+
|
|
|
+ //商业平台车型信息
|
|
|
+ @JsonProperty("vehicleInfo")
|
|
|
+ private vehicleInfoDTO vehicleInfo;
|
|
|
+
|
|
|
+ //商业平台车型信息
|
|
|
+ @JsonProperty("nvhPolicyList")
|
|
|
+ private nvhPolicyListDTO nvhPolicyList;
|
|
|
+
|
|
|
+ //验车情况
|
|
|
+ @JsonProperty("inspectionInfo")
|
|
|
+ private inspectionInfoDTO inspectionInfo;
|
|
|
+
|
|
|
+ //特殊字段信息
|
|
|
+ @JsonProperty("specialInfo")
|
|
|
+ private specialInfoDTO specialInfo;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //基本信息
|
|
|
+ @Data
|
|
|
+ public static class basePartReqDTO implements Serializable{
|
|
|
+ //交强险保险起期
|
|
|
+ @JsonProperty("jqEffectiveDate")
|
|
|
+ private String jqEffectiveDate;
|
|
|
+ //交强险保险止期
|
|
|
+ @JsonProperty("jqExpireDate")
|
|
|
+ private String jqExpireDate;
|
|
|
+ //交强险即时生效
|
|
|
+ @JsonProperty("jqImmeffMrk")
|
|
|
+ private String jqImmeffMrk;
|
|
|
+ //商业险保险起期
|
|
|
+ @JsonProperty("syEffectiveDate")
|
|
|
+ private String syEffectiveDate;
|
|
|
+ //商业险保险止期
|
|
|
+ @JsonProperty("syExpireDate")
|
|
|
+ private String syExpireDate;
|
|
|
+ //商业险即时生效
|
|
|
+ @JsonProperty("syImmeffMrk")
|
|
|
+ private String syImmeffMrk;
|
|
|
+ //商业险期望折扣
|
|
|
+ @JsonProperty("syExpectedFloatingRate")
|
|
|
+ private String syExpectedFloatingRate;
|
|
|
+ //商业折扣是否下浮标志
|
|
|
+ @JsonProperty("fixedDropDiscount")
|
|
|
+ private String fixedDropDiscount;
|
|
|
+ //交强险产品编码
|
|
|
+ @JsonProperty("jqProdNo")
|
|
|
+ private String jqProdNo;
|
|
|
+ //商业险产品编码
|
|
|
+ @JsonProperty("syProdNo")
|
|
|
+ private String syProdNo;
|
|
|
+ //收费方式
|
|
|
+ @JsonProperty("finType")
|
|
|
+ private String finType;
|
|
|
+ //协商实际价值
|
|
|
+ @JsonProperty("consultPurchaseValue")
|
|
|
+ private Double consultPurchaseValue;
|
|
|
+ //告知
|
|
|
+ @JsonProperty("remark")
|
|
|
+ private String remark;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //【商业险必传】商业险别信息(列表)
|
|
|
+ @Data
|
|
|
+ public static class coverageListDTO implements Serializable{
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+ //险别
|
|
|
+ @JsonProperty("cvrgNo")
|
|
|
+ private String cvrgNo;
|
|
|
+ //【车损险】保额
|
|
|
+ @JsonProperty("lossNAmt")
|
|
|
+ private Double lossNAmt;
|
|
|
+ //【车辆损失险】免赔额
|
|
|
+ @JsonProperty("lossNoPayAmt")
|
|
|
+ private String lossNoPayAmt;
|
|
|
+ //【车损险】绝对免赔率
|
|
|
+ @JsonProperty("lossNDeductionRate")
|
|
|
+ private String lossNDeductionRate;
|
|
|
+ //【车辆损失险】免赔优惠
|
|
|
+ @JsonProperty("lossDeductible")
|
|
|
+ private String lossDeductible;
|
|
|
+ //【第三者责任险】限额档次
|
|
|
+ @JsonProperty("threeCIndemLmtLvl")
|
|
|
+ private String threeCIndemLmtLvl;
|
|
|
+ //【第三者责任险】绝对免赔率
|
|
|
+ @JsonProperty("threeNDeductionRate")
|
|
|
+ private String threeNDeductionRate;
|
|
|
+ //【第三者责任险】档次对应限额
|
|
|
+ @JsonProperty("threeNIndemLmt")
|
|
|
+ private Double threeNIndemLmt;
|
|
|
+ //【附加车身划痕损失险】限额档次
|
|
|
+ @JsonProperty("carSscratchCIndemLmtLvl")
|
|
|
+ private String carSscratchCIndemLmtLvl;
|
|
|
+ //【车上责任险】司机绝对免赔率
|
|
|
+ @JsonProperty("driverNDeductionRate")
|
|
|
+ private String driverNDeductionRate;
|
|
|
+ //【车上责任险】乘客绝对免赔率
|
|
|
+ @JsonProperty("passengerNDeductionRate")
|
|
|
+ private String passengerNDeductionRate;
|
|
|
+ //【车上责任险】司机座位数
|
|
|
+ @JsonProperty("driverNLiabDaysLmt")
|
|
|
+ private String driverNLiabDaysLmt;
|
|
|
+ //【车上责任险】乘客座位数
|
|
|
+ @JsonProperty("passengerNLiabDaysLmt")
|
|
|
+ private String passengerNLiabDaysLmt;
|
|
|
+ //【车上责任险】乘客每人保额
|
|
|
+ @JsonProperty("passengerNPerAmt")
|
|
|
+ private Double passengerNPerAmt;
|
|
|
+ //【盗抢险】特种车绝对免赔率
|
|
|
+ @JsonProperty("therfNDeductionRate")
|
|
|
+ private String therfNDeductionRate;
|
|
|
+ //【盗抢险】保额
|
|
|
+ @JsonProperty("therfNNAmt")
|
|
|
+ private String therfNNAmt;
|
|
|
+ //【附加新增加设备损失险】保额
|
|
|
+ @JsonProperty("deviceNAmt")
|
|
|
+ private String deviceNAmt;
|
|
|
+ //【附加修理期间费用补偿险 】天数
|
|
|
+ @JsonProperty("repairDays")
|
|
|
+ private String repairDays;
|
|
|
+ //【附加修理期间费用补偿险 】保额
|
|
|
+ @JsonProperty("repairNAmt")
|
|
|
+ private String repairNAmt;
|
|
|
+ //【医疗责任】乘客每人保额
|
|
|
+ @JsonProperty("medicalLiabilityNPerAmt")
|
|
|
+ private String medicalLiabilityNPerAmt;
|
|
|
+ //【增值服务】车辆安全检测服务次数
|
|
|
+ @JsonProperty("vehicleSafetyInspectionServices")
|
|
|
+ private String vehicleSafetyInspectionServices;
|
|
|
+ //【增值服务】代为送检服务次数
|
|
|
+ @JsonProperty("inspectionServiceTimes")
|
|
|
+ private String inspectionServiceTimes;
|
|
|
+ //【增值服务】代为驾驶服务次数
|
|
|
+ @JsonProperty("drivingServiceTimes")
|
|
|
+ private String drivingServiceTimes;
|
|
|
+ //【增值服务】道路救援服务次数
|
|
|
+ @JsonProperty("roadRescueServices")
|
|
|
+ private String roadRescueServices;
|
|
|
+ //【车上责任险】司机每人保额
|
|
|
+ @JsonProperty("driverNPerAmt")
|
|
|
+ private Double driverNPerAmt;
|
|
|
+ //【车上责任保险(乘客)】附加精神损害抚慰金责任险
|
|
|
+ @JsonProperty("passengerMoralDamageAmt")
|
|
|
+ private Double passengerMoralDamageAmt;
|
|
|
+ //【车上人员责任保险(司机)】附加医保外医疗费用责任险
|
|
|
+ @JsonProperty("driverMedicalAmt")
|
|
|
+ private Double driverMedicalAmt;
|
|
|
+ //【车上人员责任保险(司机)】附加精神损害抚慰金责任险
|
|
|
+ @JsonProperty("driverMoralDamageAmt")
|
|
|
+ private String driverMoralDamageAmt;
|
|
|
+ //【第三者责任保险】附加精神损害抚慰金责任险
|
|
|
+ @JsonProperty("threeMoralDamageAmt")
|
|
|
+ private String threeMoralDamageAmt;
|
|
|
+ //【第三者责任保险】附加医保外医疗费用责任险
|
|
|
+ @JsonProperty("threeMedicalAmt")
|
|
|
+ private Double threeMedicalAmt;
|
|
|
+ //附加法定节假日限额翻倍险
|
|
|
+ @JsonProperty("threeQuotaAmt")
|
|
|
+ private Double threeQuotaAmt;
|
|
|
+ //附加车轮单独损失险
|
|
|
+ @JsonProperty("wheelAmt")
|
|
|
+ private String wheelAmt;
|
|
|
+ //附加外部电网故障损失险
|
|
|
+ @JsonProperty("gridFaultLossAmt")
|
|
|
+ private String gridFaultLossAmt;
|
|
|
+ //附加车上货物责任险
|
|
|
+ @JsonProperty("goodsLiabilityAmt")
|
|
|
+ private String goodsLiabilityAmt;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //【交强险必传】车船税信息
|
|
|
+ @Data
|
|
|
+ public static class vehicleTaxationDTO implements Serializable{
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+
|
|
|
+ //缴税方式
|
|
|
+ @JsonProperty("taxPaytaxTyp")
|
|
|
+ private String taxPaytaxTyp;
|
|
|
+
|
|
|
+ //车船税有效起期
|
|
|
+ @JsonProperty("taxEffBgnTm")
|
|
|
+ private String taxEffBgnTm;
|
|
|
+
|
|
|
+ //车船税有效止期
|
|
|
+ @JsonProperty("taxEffEndTm")
|
|
|
+ private String taxEffEndTm;
|
|
|
+
|
|
|
+ //减免税原因(平台)
|
|
|
+ @JsonProperty("taxTaxfreeVhltyp")
|
|
|
+ private String taxTaxfreeVhltyp;
|
|
|
+
|
|
|
+ //减免税方案(平台)
|
|
|
+ @JsonProperty("taxFreeRedTaxWay")
|
|
|
+ private String taxFreeRedTaxWay;
|
|
|
+
|
|
|
+ //减免比例(平台)
|
|
|
+ @JsonProperty("taxFreeRedTaxPro")
|
|
|
+ private String taxFreeRedTaxPro;
|
|
|
+
|
|
|
+ //减税金额(平台)
|
|
|
+ @JsonProperty("taxAbateAmt")
|
|
|
+ private String taxAbateAmt;
|
|
|
+
|
|
|
+ //减免税凭证号(平台)
|
|
|
+ @JsonProperty("taxFreeCertNo")
|
|
|
+ private String taxFreeCertNo;
|
|
|
+
|
|
|
+ //减税税务机关代码(平台)
|
|
|
+ @JsonProperty("taxFreeRedTaxOrgCde")
|
|
|
+ private String taxFreeRedTaxOrgCde;
|
|
|
+
|
|
|
+ //免税税务机关名称(平台)
|
|
|
+ @JsonProperty("taxFreeTaxOrg")
|
|
|
+ private String taxFreeTaxOrg;
|
|
|
+
|
|
|
+ //完税税务机关代码(平台)
|
|
|
+ @JsonProperty("taxComTaxOrgCde")
|
|
|
+ private String taxComTaxOrgCde;
|
|
|
+
|
|
|
+ //完税税务机关名称(平台)
|
|
|
+ @JsonProperty("taxComTaxOrg")
|
|
|
+ private String taxComTaxOrg;
|
|
|
+
|
|
|
+ //完税凭证号(平台)
|
|
|
+ @JsonProperty("taxPaymentRecptNo")
|
|
|
+ private String taxPaymentRecptNo;
|
|
|
+
|
|
|
+ //完税凭证填发日期(平台)
|
|
|
+ @JsonProperty("taxDocumentDate")
|
|
|
+ private String taxDocumentDate;
|
|
|
+
|
|
|
+ //开具完税凭证地区代码(平台)
|
|
|
+ @JsonProperty("taxPaidAreaCode")
|
|
|
+ private String taxPaidAreaCode;
|
|
|
+
|
|
|
+ //外地开具税务机关(北京)
|
|
|
+ @JsonProperty("taxDeptNonlocal")
|
|
|
+ private String taxDeptNonlocal;
|
|
|
+
|
|
|
+ //缴税车辆类型
|
|
|
+ @JsonProperty("taxdptVhltyp")
|
|
|
+ private String taxdptVhltyp;
|
|
|
+
|
|
|
+ //纳税人识别号
|
|
|
+ @JsonProperty("taxTaxpayerId")
|
|
|
+ private String taxTaxpayerId;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //商业平台车型信息
|
|
|
+ @Data
|
|
|
+ public static class vehicleInfoDTO implements Serializable{
|
|
|
+ @JsonProperty("vehlcleCode")
|
|
|
+ private String vehlcleCode;
|
|
|
+
|
|
|
+ @JsonProperty("vehlcleModeCode")
|
|
|
+ private String vehlcleModeCode;
|
|
|
+
|
|
|
+ @JsonProperty("vehicleStyleUniqueId")
|
|
|
+ private String vehicleStyleUniqueId;
|
|
|
+
|
|
|
+ @JsonProperty("vehicleIndustryModelCode")
|
|
|
+ private String vehicleIndustryModelCode;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Data
|
|
|
+ public static class nvhPolicyListDTO implements Serializable{
|
|
|
+ @JsonProperty("nvhlProdCode")
|
|
|
+ private String nvhlProdCode;
|
|
|
+ @JsonProperty("nvhlSchemeCode")
|
|
|
+ private String nvhlSchemeCode;
|
|
|
+ @JsonProperty("nvhlEffectiveDate")
|
|
|
+ private String nvhlEffectiveDate;
|
|
|
+ @JsonProperty("nvhlExpireDate")
|
|
|
+ private String nvhlExpireDate;
|
|
|
+ @JsonProperty("noVhlSum")
|
|
|
+ private String noVhlSum;
|
|
|
+ @JsonProperty("nvhlPrm")
|
|
|
+ private String nvhlPrm;
|
|
|
+ @JsonProperty("nvhlSumPrm")
|
|
|
+ private String nvhlSumPrm;
|
|
|
+ @JsonProperty("nvGoodsCode")
|
|
|
+ private String nvGoodsCode;
|
|
|
+ @JsonProperty("nvDutyRiskCode")
|
|
|
+ private String nvDutyRiskCode;
|
|
|
+ @JsonProperty("nv_prm")
|
|
|
+ private String nv_prm;
|
|
|
+ @JsonProperty("nv_amt")
|
|
|
+ private String nv_amt;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Data
|
|
|
+ public static class inspectionInfoDTO implements Serializable{
|
|
|
+
|
|
|
+ //验车情况
|
|
|
+ @JsonProperty("vehicleInspectionCde")
|
|
|
+ private String vehicleInspectionCde;
|
|
|
+
|
|
|
+ //验车时间
|
|
|
+ @JsonProperty("vehicleInspectTm")
|
|
|
+ private String vehicleInspectTm;
|
|
|
+
|
|
|
+ //验车人
|
|
|
+ @JsonProperty("vehicleInspectorNme")
|
|
|
+ private String vehicleInspectorNme;
|
|
|
+
|
|
|
+ //验车结果
|
|
|
+ @JsonProperty("vehicleInspectRec")
|
|
|
+ private String vehicleInspectRec;
|
|
|
+
|
|
|
+ //免验原因
|
|
|
+ @JsonProperty("vehicleResvTxt1")
|
|
|
+ private String vehicleResvTxt1;
|
|
|
+
|
|
|
+ //损伤部位
|
|
|
+ @JsonProperty("damagedSite")
|
|
|
+ private String damagedSite;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Data
|
|
|
+ public static class specialInfoDTO implements Serializable{
|
|
|
+
|
|
|
+ //使用性质
|
|
|
+ @JsonProperty("vehicleUsageCde")
|
|
|
+ private String vehicleUsageCde;
|
|
|
+
|
|
|
+ //业务识别号
|
|
|
+ @JsonProperty("busiServiceCode")
|
|
|
+ private String busiServiceCode;
|
|
|
+
|
|
|
+ //员工车
|
|
|
+ @JsonProperty("staffCar")
|
|
|
+ private String staffCar;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|