|
|
@@ -1,16 +1,33 @@
|
|
|
package com.ydtech.modules.order.entity.api.huatai.request;
|
|
|
|
|
|
-import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
+import com.alibaba.fastjson.annotation.JSONField;
|
|
|
+import com.ydtech.constants.enums.InsuranceRisk;
|
|
|
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
|
|
|
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
|
|
|
+import com.ydtech.modules.ins.model.vo.KindInfoVo;
|
|
|
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
|
|
|
+import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequest;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
|
|
|
import com.ydtech.modules.order.entity.api.huatai.constants.HuaTaiTransCode;
|
|
|
+import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiActualValueResponse;
|
|
|
+import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiModelsQueryResponse;
|
|
|
+import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
|
|
|
+import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
|
|
|
+import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
|
|
|
+import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
|
|
|
+import com.ydtech.modules.order.entity.vo.VehicleAndVesselTax;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.Data;
|
|
|
import lombok.EqualsAndHashCode;
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
-import java.util.List;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@EqualsAndHashCode(callSuper = true)
|
|
|
@NoArgsConstructor
|
|
|
@@ -18,9 +35,9 @@ import java.util.List;
|
|
|
public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
|
|
|
|
|
|
private static final long serialVersionUID = -3434101420731502321L;
|
|
|
- @JsonProperty("businessData")
|
|
|
+ @JSONField(name="businessData")
|
|
|
//投保单信息
|
|
|
- private HuaTaiSubmitRequest.BusinessData businessData;
|
|
|
+ private BusinessDataDto businessData;
|
|
|
|
|
|
@Override
|
|
|
public void setHead(HuaTaiBaseRequestHead head) {
|
|
|
@@ -31,78 +48,136 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class BusinessData implements Serializable {
|
|
|
+ public static class BusinessDataDto implements Serializable {
|
|
|
|
|
|
private static final long serialVersionUID = -4470540010039479454L;
|
|
|
// 投保主信息
|
|
|
- @JsonProperty("businessMain")
|
|
|
- private BusinessMain businessMain;
|
|
|
+ @JSONField(name="businessMain")
|
|
|
+ private BusinessMainDto businessMain;
|
|
|
// 业务信息(列表)
|
|
|
- @JsonProperty("contract")
|
|
|
- private List<Contract> contract;
|
|
|
+ @JSONField(name="contract")
|
|
|
+ private List<ContractDto> contract;
|
|
|
// 客户信息(列表)
|
|
|
- @JsonProperty("customer")
|
|
|
- private List<Customer> customer;
|
|
|
+ @JSONField(name="customer")
|
|
|
+ private List<CustomerDto> customer;
|
|
|
// 销售信息
|
|
|
- @JsonProperty("saleInfo")
|
|
|
- private SaleInfo saleInfo;
|
|
|
+ @JSONField(name="saleInfo")
|
|
|
+ private SaleInfoDto saleInfo;
|
|
|
|
|
|
+ public BusinessDataDto(BaseQuoteInfoVo baseQuoteInfoVo, HuaTaiModelsQueryResponse.CarModelDto.FullCarDataDto fullCarDataDto, HuaTaiActualValueResponse actualValueResponse, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ CarInfoVo carInfo = baseQuoteInfoVo.getCarInfo();
|
|
|
+ List<RiskInfoVo> riskList = baseQuoteInfoVo.getRiskList();
|
|
|
+ List<KindInfoVo> kindList = baseQuoteInfoVo.getKindList();
|
|
|
+ VehicleAndVesselTax vesselTax = baseQuoteInfoVo.getVehicleAndVesselTax();
|
|
|
+ CustomerInfoVo ownerInfo = baseQuoteInfoVo.getOwnerInfo();
|
|
|
+ CustomerInfoVo policyHolderInfo = baseQuoteInfoVo.getPolicyHolderInfo();
|
|
|
+ CustomerInfoVo insuredPersonInfo = baseQuoteInfoVo.getInsuredPersonInfo();
|
|
|
+ int i = Integer.parseInt(carInfo.getSeatCount());
|
|
|
+ // 保单归属地
|
|
|
+ this.businessMain = new BusinessMainDto(huaTaiConfigureParameters);
|
|
|
+ // 保险信息
|
|
|
+ this.contract = new ContractDto().getContract(riskList,huaTaiConfigureParameters);
|
|
|
+ // 客户信息
|
|
|
+ this.customer = new CustomerDto().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
|
|
|
+ //销售信息
|
|
|
+ this.saleInfo = new SaleInfoDto(huaTaiConfigureParameters);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class BusinessMain implements Serializable{
|
|
|
+ public static class BusinessMainDto implements Serializable{
|
|
|
|
|
|
private static final long serialVersionUID = -3901160212812740520L;
|
|
|
// 操作机构代码
|
|
|
- @JsonProperty("makeCom")
|
|
|
+ @JSONField(name="makeCom")
|
|
|
private String makeCom;
|
|
|
// 操作员代码
|
|
|
- @JsonProperty("operatorCode")
|
|
|
+ @JSONField(name="operatorCode")
|
|
|
private String operatorCode;
|
|
|
|
|
|
+ public BusinessMainDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ this.makeCom = huaTaiConfigureParameters.getComCode();
|
|
|
+ this.operatorCode = huaTaiConfigureParameters.getOperatorCode();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class Contract implements Serializable{
|
|
|
+ public static class ContractDto implements Serializable{
|
|
|
|
|
|
private static final long serialVersionUID = 2452110821283897129L;
|
|
|
// 业务主信息
|
|
|
- @JsonProperty("contractMain")
|
|
|
- private ContractMain contractMain;
|
|
|
+ @JSONField(name="contractMain")
|
|
|
+ private ContractMainDto contractMain;
|
|
|
// 平台交互信息
|
|
|
- @JsonProperty("platFormMessage")
|
|
|
+ @JSONField(name="platFormMessage")
|
|
|
private PlatFormMessage platFormMessage;
|
|
|
+ //CY 自定义特别约定列表
|
|
|
+ @JSONField(name="engage")
|
|
|
+ private List engage;
|
|
|
|
|
|
+ public List<ContractDto> getContract(List<RiskInfoVo> riskInfoVos, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ List<ContractDto> contractDTOS = new ArrayList<>();
|
|
|
+ for (RiskInfoVo riskInfoVo : riskInfoVos) {
|
|
|
+ ContractDto contractDto = new ContractDto();
|
|
|
+ this.contractMain = new ContractMainDto(riskInfoVo,huaTaiConfigureParameters);
|
|
|
+ contractDto.setContractMain(contractMain);
|
|
|
+ contractDTOS.add(contractDto);
|
|
|
+ }
|
|
|
+ return contractDTOS;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class ContractMain implements Serializable{
|
|
|
+ public static class ContractMainDto implements Serializable{
|
|
|
|
|
|
private static final long serialVersionUID = -827498526562322815L;
|
|
|
//报价单号(需传入报价接口返回的值)
|
|
|
- @JsonProperty("contractNo")
|
|
|
+ @JSONField(name="contractNo")
|
|
|
private String contractNo;
|
|
|
//参见险种代码
|
|
|
- @JsonProperty("riskCode")
|
|
|
+ @JSONField(name="riskCode")
|
|
|
private String riskCode;
|
|
|
//起保日期(YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("validDate")
|
|
|
+ @JSONField(name="validDate")
|
|
|
private String validDate;
|
|
|
//终保日期(YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("expiryDate")
|
|
|
+ @JSONField(name="expiryDate")
|
|
|
private String expiryDate;
|
|
|
//总签单保费
|
|
|
- @JsonProperty("totalPremium")
|
|
|
+ @JSONField(name="totalPremium")
|
|
|
private String totalPremium;
|
|
|
//备注
|
|
|
- @JsonProperty("remark")
|
|
|
+ @JSONField(name="remark")
|
|
|
private String remark;
|
|
|
+
|
|
|
+ public ContractMainDto(RiskInfoVo riskInfoVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ this.contractNo = "";
|
|
|
+ this.riskCode = InsuranceTypeCorrespondence.getHuaTaiRisk().get(riskInfoVo.getRiskCode());
|
|
|
+ String startDate = riskInfoVo.getStartDate();
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ LocalDate localDate = LocalDate.parse(startDate, formatter);
|
|
|
+ LocalDate nextYears = localDate.plusYears(1);
|
|
|
+ if (startDate.contains(TimeConstants.START_TIME)) {
|
|
|
+ LocalDate expiry = nextYears.minusDays(1);
|
|
|
+ this.validDate = riskInfoVo.getStartDate();
|
|
|
+ this.expiryDate = expiry + " " + TimeConstants.END_TIME;
|
|
|
+ } else {
|
|
|
+ // 及时
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.parse(startDate, formatter);
|
|
|
+ LocalDateTime expiryDateTime = localDateTime.plusYears(1);
|
|
|
+ this.validDate = startDate;
|
|
|
+ this.expiryDate = expiryDateTime.format(formatter);
|
|
|
+ }
|
|
|
+ this.totalPremium = "";
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@@ -112,172 +187,198 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
|
|
|
|
|
|
private static final long serialVersionUID = 7957269957188794595L;
|
|
|
// 业务主信息
|
|
|
- @JsonProperty("querySequenceNo")
|
|
|
+ @JSONField(name="querySequenceNo")
|
|
|
private String querySequenceNo;
|
|
|
}
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class Customer implements Serializable{
|
|
|
+ public static class CustomerDto implements Serializable{
|
|
|
|
|
|
private static final long serialVersionUID = 3423549173956690508L;
|
|
|
- //证件号码(个人客户必传)
|
|
|
- @JsonProperty("identifyNumber")
|
|
|
+ //Y 证件号码(个人客户必传)
|
|
|
+ @JSONField(name="identifyNumber")
|
|
|
private String identifyNumber;
|
|
|
- //组织机构代码(机构客户必录
|
|
|
- @JsonProperty("organizeCode")
|
|
|
+ //CY 组织机构代码(机构客户必录)
|
|
|
+ @JSONField(name="organizeCode")
|
|
|
private String organizeCode;
|
|
|
- //参见客户证件类型代码
|
|
|
- @JsonProperty("identifyType")
|
|
|
+ //Y 参见客户证件类型代码(机构客户传99)
|
|
|
+ @JSONField(name="identifyType")
|
|
|
private String identifyType;
|
|
|
- //客户名称
|
|
|
- @JsonProperty("name")
|
|
|
+ //Y 名称
|
|
|
+ @JSONField(name="name")
|
|
|
private String name;
|
|
|
- //客户角色身份(1-投保人;2-被保险人;3-车主)
|
|
|
- @JsonProperty("role")
|
|
|
+ //Y 客户角色身份(1-投保人;2-被保险人;3-车主)
|
|
|
+ @JSONField(name="role")
|
|
|
private String role;
|
|
|
- //手机号码
|
|
|
- @JsonProperty("mobile")
|
|
|
+ //Y 手机号码
|
|
|
+ @JSONField(name="mobile")
|
|
|
private String mobile;
|
|
|
- //证件有效起期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("identifyValidDate")
|
|
|
+ //Y 证件有效起期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
+ @JSONField(name="identifyValidDate")
|
|
|
private String identifyValidDate;
|
|
|
- //证件有效止期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
- @JsonProperty("identifyValidEndDate")
|
|
|
+ //Y 证件有效止期(格式:YYYY-MM-DD HH24:MI:SS)
|
|
|
+ @JSONField(name="identifyValidEndDate")
|
|
|
private String identifyValidEndDate;
|
|
|
- //客户职业(传值要求通过职业查询接口获得)
|
|
|
- @JsonProperty("occupationCode")
|
|
|
+ //Y 客户职业(通过职业查询接口获得)
|
|
|
+ @JSONField(name="occupationCode")
|
|
|
private String occupationCode;
|
|
|
- //客户类型(1-个人,2-机构)
|
|
|
- @JsonProperty("type")
|
|
|
+ //Y 客户地址
|
|
|
+ @JSONField(name="addr")
|
|
|
+ private String addr;
|
|
|
+ //Y 客户邮箱
|
|
|
+ @JSONField(name="email")
|
|
|
+ private String email;
|
|
|
+ //Y 客户类型(1-个人,2-机构)
|
|
|
+ @JSONField(name="type")
|
|
|
private String type;
|
|
|
- //车辆与被保险人所属关系(1-所有;2-使用;3-管理)
|
|
|
- @JsonProperty("carInsuredRelation")
|
|
|
+ //CY 车辆与被保险人所属关系(1-所有;2-使用;3-管理,当角色是被保险人时必传)
|
|
|
+ @JSONField(name="carInsuredRelation")
|
|
|
private String carInsuredRelation;
|
|
|
- //参见投保人与被保人关系代码(投保人和被保人均为个人客户时必传)
|
|
|
- @JsonProperty("aiRelation")
|
|
|
+ //CY 参见投保人与被保人关系代码(投保人和被保人均为个人客户时必传)
|
|
|
+ @JSONField(name="aiRelation")
|
|
|
private String aiRelation;
|
|
|
- //客户地址
|
|
|
- @JsonProperty("addr")
|
|
|
- private String addr;
|
|
|
- //客户邮箱
|
|
|
- @JsonProperty("email")
|
|
|
- private String email;
|
|
|
- //客户地址(省)代码(江西必传)
|
|
|
- @JsonProperty("Province")
|
|
|
+ //CY 客户地址(省)代码(江西必传)
|
|
|
+ @JSONField(name="Province")
|
|
|
private String province;
|
|
|
- //客户地址(省)名称(江西必传)
|
|
|
- @JsonProperty("ProvinceName")
|
|
|
+ //CY 客户地址(省)名称(江西必传)
|
|
|
+ @JSONField(name="ProvinceName")
|
|
|
private String provinceName;
|
|
|
- //客户地址(市)代码(江西必传)
|
|
|
- @JsonProperty("City")
|
|
|
+ //CY 客户地址(市)代码(江西必传)
|
|
|
+ @JSONField(name="City")
|
|
|
private String city;
|
|
|
- //客户地址(市)名称(江西必传)
|
|
|
- @JsonProperty("CityName")
|
|
|
+ //CY 客户地址(市)名称(江西必传)
|
|
|
+ @JSONField(name="CityName")
|
|
|
private String cityName;
|
|
|
- //客户地址(区)代码(江西必传)
|
|
|
- @JsonProperty("District")
|
|
|
+ //CY 客户地址(区)代码(江西必传)
|
|
|
+ @JSONField(name="District")
|
|
|
private String district;
|
|
|
- //客户地址(区)名称(江西必传)
|
|
|
- @JsonProperty("DistrictName")
|
|
|
+ //CY 客户地址(区)名称(江西必传)
|
|
|
+ @JSONField(name="DistrictName")
|
|
|
private String districtName;
|
|
|
- //手机实际持有人姓名(上海出单必录)
|
|
|
- @JsonProperty("ActualHolderName")
|
|
|
+ //CY 手机实际持有人姓名(上海出单必录)
|
|
|
+ @JSONField(name="ActualHolderName")
|
|
|
private String actualHolderName;
|
|
|
- //手机实际持有人证件类型(上海出单必录)(参见客户证件类型代码)
|
|
|
- @JsonProperty("ActualHolderIdentifyType")
|
|
|
+ //CY 手机实际持有人证件类型(参见客户证件类型代码)(上海出单必录)
|
|
|
+ @JSONField(name="ActualHolderIdentifyType")
|
|
|
private String actualHolderIdentifyType;
|
|
|
- //手机实际持有人证件号码(上海出单必录)
|
|
|
- @JsonProperty("ActualHolderIdentifyCode")
|
|
|
+ //CY 手机实际持有人证件号码(上海出单必录)
|
|
|
+ @JSONField(name="ActualHolderIdentifyCode")
|
|
|
private String actualHolderIdentifyCode;
|
|
|
- //参见企业经办人类别代码(上海机构客户出单必录)
|
|
|
- @JsonProperty("transactorType")
|
|
|
+ //CY 企业经办人类别(传值参见企业经办人类别)(上海机构客户出单必录)
|
|
|
+ @JSONField(name="transactorType")
|
|
|
private String transactorType;
|
|
|
- //营业性质/主要业务范围(机构客户必录)
|
|
|
- @JsonProperty("businessDetail")
|
|
|
+ //CY 营业性质/主要业务范围(机构客户)
|
|
|
+ @JSONField(name="businessDetail")
|
|
|
private String businessDetail;
|
|
|
- //参见行业代码(机构客户必传)
|
|
|
- @JsonProperty("BusinessSource")
|
|
|
+ //CY 行业代码(机构客户)(传值参见行业代码)
|
|
|
+ @JSONField(name="BusinessSource")
|
|
|
private String businessSource;
|
|
|
- //参见国籍代码
|
|
|
- @JsonProperty("CitizenshipCode")
|
|
|
+ //CY 国籍代码(传值参见国籍代码)
|
|
|
+ @JSONField(name="CitizenshipCode")
|
|
|
private String citizenshipCode;
|
|
|
- //参见股权结构(机构客户必传)
|
|
|
- @JsonProperty("EquityStructure")
|
|
|
+ //CY 股权结构(机构客户)(传值参见股权结构)
|
|
|
+ @JSONField(name="EquityStructure")
|
|
|
private String equityStructure;
|
|
|
- //法定代表人姓名(机构客户必传)
|
|
|
- @JsonProperty("leaderName")
|
|
|
+ //CY 法定代表人姓名(机构客户)
|
|
|
+ @JSONField(name="leaderName")
|
|
|
private String leaderName;
|
|
|
- //法定代表人姓名其他身份证明号码(机构客户必传)
|
|
|
- @JsonProperty("leaderIdentifyNumber")
|
|
|
+ //CY 法定代表人姓名其他身份证明号码(机构客户)
|
|
|
+ @JSONField(name="leaderIdentifyNumber")
|
|
|
private String leaderIdentifyNumber;
|
|
|
- //法定代表人姓名其他身份证明种类(机构客户必传)(参见客户证件类型代码)
|
|
|
- @JsonProperty("leaderOtherIdentifyType")
|
|
|
+ //CY 法定代表人姓名其他身份证明种类(机构客户)(参见客户证件类型代码)
|
|
|
+ @JSONField(name="leaderOtherIdentifyType")
|
|
|
private String leaderOtherIdentifyType;
|
|
|
- //法定代表人姓名其他身份证明号码(机构客户必传)
|
|
|
- @JsonProperty("leaderOtherIdentifyNumber")
|
|
|
+ //CY 法定代表人姓名其他身份证明号码(机构客户)
|
|
|
+ @JSONField(name="leaderOtherIdentifyNumber")
|
|
|
private String leaderOtherIdentifyNumber;
|
|
|
- //法定代表人姓名其他身份证明有效期(机构客户必传)
|
|
|
- @JsonProperty("leaderOtherEffectiveDate")
|
|
|
+ //CY 法定代表人姓名其他身份证明有效期(机构客户)
|
|
|
+ @JSONField(name="leaderOtherEffectiveDate")
|
|
|
private String leaderOtherEffectiveDate;
|
|
|
- //注册所在地代码(机构客户必传)(参见注册所在地代码)
|
|
|
- @JsonProperty("nationalityCode")
|
|
|
+ //CY 注册所在地代码(机构客户)(参见注册所在地代码)
|
|
|
+ @JSONField(name="nationalityCode")
|
|
|
private String nationalityCode;
|
|
|
- //注册资本金币种(机构客户必传)
|
|
|
- @JsonProperty("registCurrency")
|
|
|
+ //CY 注册资本金币种(机构客户)
|
|
|
+ @JSONField(name="registCurrency")
|
|
|
private String registCurrency;
|
|
|
- //注册资本金(机构客户必传)
|
|
|
- @JsonProperty("registFund")
|
|
|
+ //CY 注册资本金(机构客户)
|
|
|
+ @JSONField(name="registFund")
|
|
|
private String registFund;
|
|
|
- //税务号(机构客户必传)
|
|
|
- @JsonProperty("RevenueCode")
|
|
|
+ //CY 税务号(机构客户)
|
|
|
+ @JSONField(name="RevenueCode")
|
|
|
private String revenueCode;
|
|
|
- //参见反洗钱交易监测记录
|
|
|
- @JsonProperty("MonitorRecord")
|
|
|
+ //CY 反洗钱交易监测记录(参见风险提示信息或权威媒体报道)
|
|
|
+ @JSONField(name="MonitorRecord")
|
|
|
private String monitorRecord;
|
|
|
- //参见风险提示信息或权威媒体报道
|
|
|
- @JsonProperty("RiskWarnInfo")
|
|
|
+ //CY 风险提示信息或权威媒体报道(参见风险提示信息或权威媒体报道)
|
|
|
+ @JSONField(name="RiskWarnInfo")
|
|
|
private String riskWarnInfo;
|
|
|
- //执照、证明名称(机构客户必传)
|
|
|
- @JsonProperty("supportDocuName")
|
|
|
+ //CY 执照、证明名称(机构客户必传)
|
|
|
+ @JSONField(name="supportDocuName")
|
|
|
private String supportDocuName;
|
|
|
- //执照、证明号码(机构客户必传)
|
|
|
- @JsonProperty("supportDocuNumber")
|
|
|
+ //CY 执照、证明号码(机构客户必传)
|
|
|
+ @JSONField(name="supportDocuNumber")
|
|
|
private String supportDocuNumber;
|
|
|
- //执照、证明有效期(机构客户必传)
|
|
|
- @JsonProperty("supportDocuValidDate")
|
|
|
+ //CY 执照、证明有效期(机构客户必传)
|
|
|
+ @JSONField(name="supportDocuValidDate")
|
|
|
private String supportDocuValidDate;
|
|
|
- //办理人姓名(机构客户必传)
|
|
|
- @JsonProperty("TransactorName")
|
|
|
+ //CY 办理人姓名(机构客户必传)
|
|
|
+ @JSONField(name="TransactorName")
|
|
|
private String transactorName;
|
|
|
- //办理人证件类型代码(机构客户必传)(参见客户证件类型代码)
|
|
|
- @JsonProperty("transactorIdentifyType")
|
|
|
+ //CY 办理人证件类型代码(机构客户必传)(参见客户证件类型代码)
|
|
|
+ @JSONField(name="transactorIdentifyType")
|
|
|
private String transactorIdentifyType;
|
|
|
- //办理人证件号码(机构客户必传)
|
|
|
- @JsonProperty("transactorIdentifyCode")
|
|
|
+ //CY 办理人证件号码(机构客户必传)
|
|
|
+ @JSONField(name="transactorIdentifyCode")
|
|
|
private String transactorIdentifyCode;
|
|
|
- //办理人手机号码(机构客户必传)
|
|
|
- @JsonProperty("transactorMobile")
|
|
|
+ //CY 办理人手机号码(机构客户必传)
|
|
|
+ @JSONField(name="transactorMobile")
|
|
|
private String transactorMobile;
|
|
|
- //办理人证件有效期(机构客户必传)
|
|
|
- @JsonProperty("transactorExpiryDate")
|
|
|
+ //CY 办理人证件有效期(机构客户必传)
|
|
|
+ @JSONField(name="transactorExpiryDate")
|
|
|
private String transactorExpiryDate;
|
|
|
- //工作单位名称(个人客户必传)
|
|
|
- @JsonProperty("workUnit")
|
|
|
+ //CY 工作单位名称(个人客户必传)
|
|
|
+ @JSONField(name="workUnit")
|
|
|
private String workUnit;
|
|
|
- //工作单位地址(个人客户必传)
|
|
|
- @JsonProperty("workAddress")
|
|
|
+ //CY 工作单位地址(个人客户必传)
|
|
|
+ @JSONField(name="workAddress")
|
|
|
private String workAddress;
|
|
|
- //其他联系方式(个人客户必传)
|
|
|
- @JsonProperty("otherContact")
|
|
|
+ //CY 其他联系方式(个人客户必传)
|
|
|
+ @JSONField(name="otherContact")
|
|
|
private String otherContact;
|
|
|
- //其他住所地或工作单位地址(个人客户必传)
|
|
|
- @JsonProperty("otherWorkAddress")
|
|
|
+ //CY 其他住所地或工作单位地址(个人客户必传)
|
|
|
+ @JSONField(name="otherWorkAddress")
|
|
|
private String otherWorkAddress;
|
|
|
- //联系人信息
|
|
|
- @JsonProperty("contact")
|
|
|
- private List<Contact> contact;
|
|
|
+ //CY 联系人信息
|
|
|
+ @JSONField(name="contact")
|
|
|
+ private List<InsuredLinkerBean> insuredLinkerList;
|
|
|
+
|
|
|
+
|
|
|
+ public CustomerDto(CustomerInfoVo customerInfoVo, String role) {
|
|
|
+ this.identifyNumber = customerInfoVo.getIdentifyNumber();
|
|
|
+ this.identifyType = "01";
|
|
|
+ this.name = customerInfoVo.getName();
|
|
|
+ this.mobile = customerInfoVo.getMobile();
|
|
|
+ this.role = role;
|
|
|
+ this.type = "1";
|
|
|
+ this.occupationCode = "20114";//后续需要根据接口维护返参到表里
|
|
|
+ this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
|
|
|
+ this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
|
|
|
+ this.addr = customerInfoVo.getAddr();
|
|
|
+ this.email = customerInfoVo.getEmail();
|
|
|
+ if("2".equals(role)){
|
|
|
+ this.carInsuredRelation = "1";
|
|
|
+ }
|
|
|
+ this.aiRelation = "";
|
|
|
+ this.workUnit = "";
|
|
|
+ this.workAddress = "";
|
|
|
+ this.otherWorkAddress = "";
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<CustomerDto> getCustomers(CustomerInfoVo ownerInfo, CustomerInfoVo policyHolderInfo, CustomerInfoVo insuredPersonInfo) {
|
|
|
+ return Arrays.asList(new CustomerDto(ownerInfo, "3"), new CustomerDto(policyHolderInfo, "1"), new CustomerDto(insuredPersonInfo, "2"));
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -286,52 +387,73 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class Contact implements Serializable{
|
|
|
+ public static class InsuredLinkerBean implements Serializable{
|
|
|
|
|
|
private static final long serialVersionUID = -7819712018066777471L;
|
|
|
- // 联系人名称
|
|
|
- @JsonProperty("linkName")
|
|
|
+ // Y 联系人名称
|
|
|
+ @JSONField(name="linkName")
|
|
|
private String linkName;
|
|
|
- // 联系人关联关系
|
|
|
- @JsonProperty("related")
|
|
|
- private String related;
|
|
|
- // 电话
|
|
|
- @JsonProperty("mobile")
|
|
|
- private String mobile;
|
|
|
- // 邮箱(电子保单必传)
|
|
|
- @JsonProperty("email")
|
|
|
- private String email;
|
|
|
- // 单位电话(机构客户出单必传)
|
|
|
- @JsonProperty("tel")
|
|
|
- private String tel;
|
|
|
- // 省(需传省国标码)
|
|
|
- @JsonProperty("province")
|
|
|
+ // Y 联系人关联关系(默认传01,对应本人)
|
|
|
+ @JSONField(name="linkerRelation")
|
|
|
+ private String linkerRelation;
|
|
|
+ // CY 单位电话(机构客户出单必传)
|
|
|
+ @JSONField(name="unitPhoneNumber")
|
|
|
+ private String unitPhoneNumber;
|
|
|
+ //Y 省(需传省国标码)
|
|
|
+ @JSONField(name="province")
|
|
|
private String province;
|
|
|
- // 市(需传市国标码)
|
|
|
- @JsonProperty("city")
|
|
|
+ //Y 市(需传市国标码)
|
|
|
+ @JSONField(name="city")
|
|
|
private String city;
|
|
|
- // 区(需传区国标码)
|
|
|
- @JsonProperty("district")
|
|
|
+ //Y 区(需传区国标码)
|
|
|
+ @JSONField(name="district")
|
|
|
private String district;
|
|
|
- // 地址
|
|
|
- @JsonProperty("street")
|
|
|
+ //Y 地址
|
|
|
+ @JSONField(name="street")
|
|
|
private String street;
|
|
|
+ // Y 电话
|
|
|
+ @JSONField(name="mobile")
|
|
|
+ private String mobile;
|
|
|
+ // CY 邮箱(电子保单必传)
|
|
|
+ @JSONField(name="email")
|
|
|
+ private String email;
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
|
@AllArgsConstructor
|
|
|
@NoArgsConstructor
|
|
|
@Data
|
|
|
- public static class SaleInfo implements Serializable{
|
|
|
+ public static class SaleInfoDto implements Serializable{
|
|
|
|
|
|
private static final long serialVersionUID = 2631084372177408934L;
|
|
|
// 操作机构代码
|
|
|
- @JsonProperty("agentCode")
|
|
|
+ @JSONField(name="agentCode")
|
|
|
private String agentCode;
|
|
|
// 操作员代码
|
|
|
- @JsonProperty("agreementNo")
|
|
|
+ @JSONField(name="agreementNo")
|
|
|
private String agreementNo;
|
|
|
|
|
|
+ public SaleInfoDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
|
|
|
+ this.agentCode = huaTaiConfigureParameters.getAgentCode();
|
|
|
+ this.agreementNo = huaTaiConfigureParameters.getAgreementNo();
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+ @AllArgsConstructor
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class EngageDto implements Serializable{
|
|
|
+ //Y 参见特约编码
|
|
|
+ @JSONField(name="engageCode")
|
|
|
+ private String engageCode;
|
|
|
+ //Y 特约名称
|
|
|
+ @JSONField(name="engageTitle")
|
|
|
+ private String engageTitle;
|
|
|
+ //Y 特约内容
|
|
|
+ @JSONField(name="engageDetail")
|
|
|
+ private String engageDetail;
|
|
|
|
|
|
+ }
|
|
|
}
|