|
@@ -1,12 +1,246 @@
|
|
|
package com.ydtech.modules.order.entity.api.zm.request;
|
|
package com.ydtech.modules.order.entity.api.zm.request;
|
|
|
|
|
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
|
|
+import com.ydtech.modules.ins.vo.CustomerInfoVo;
|
|
|
|
|
+import com.ydtech.modules.order.entity.api.zm.BaseRequest;
|
|
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
|
|
+import lombok.Data;
|
|
|
|
|
+import lombok.EqualsAndHashCode;
|
|
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
|
|
+
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @author wenks
|
|
* @author wenks
|
|
|
* @version 0.0.2
|
|
* @version 0.0.2
|
|
|
- * @description TODO
|
|
|
|
|
|
|
+ * @description 报价参数
|
|
|
* @date 2023/4/21 15:29
|
|
* @date 2023/4/21 15:29
|
|
|
*/
|
|
*/
|
|
|
-public class QuotedPriceRequest {
|
|
|
|
|
|
|
+@EqualsAndHashCode(callSuper = true)
|
|
|
|
|
+@NoArgsConstructor
|
|
|
|
|
+@Data
|
|
|
|
|
+public class QuotedPriceRequest extends BaseRequest {
|
|
|
|
|
+
|
|
|
|
|
+ private static final long serialVersionUID = 751466864923522868L;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("businessData")
|
|
|
|
|
+ private BusinessDataDTO businessData;
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class BusinessDataDTO {
|
|
|
|
|
+
|
|
|
|
|
+ // 保单归属地
|
|
|
|
|
+ @JsonProperty("policyLocation")
|
|
|
|
|
+ private PolicyLocationDTO policyLocation;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("insuredObject")
|
|
|
|
|
+ private InsuredObjectDTO insuredObject;
|
|
|
|
|
+ @JsonProperty("contract")
|
|
|
|
|
+ private List<ContractDTO> contract;
|
|
|
|
|
+
|
|
|
|
|
+ // 客户信息
|
|
|
|
|
+ @JsonProperty("customer")
|
|
|
|
|
+ private List<CustomerDTO> customer;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("accident")
|
|
|
|
|
+ private List<Object> accident;
|
|
|
|
|
+
|
|
|
|
|
+ @AllArgsConstructor
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyLocationDTO {
|
|
|
|
|
+ @JsonProperty("province")
|
|
|
|
|
+ private String province;
|
|
|
|
|
+ @JsonProperty("city")
|
|
|
|
|
+ private String city;
|
|
|
|
|
+ @JsonProperty("district")
|
|
|
|
|
+ private String district;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class InsuredObjectDTO {
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("policyCar")
|
|
|
|
|
+ private PolicyCarDTO policyCar;
|
|
|
|
|
+
|
|
|
|
|
+ @JsonProperty("simpleStadarCar")
|
|
|
|
|
+ private SimpleStadarCarDTO simpleStadarCar;
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class PolicyCarDTO {
|
|
|
|
|
+ @JsonProperty("engine")
|
|
|
|
|
+ private String engine;
|
|
|
|
|
+ @JsonProperty("newCarSign")
|
|
|
|
|
+ private Boolean newCarSign;
|
|
|
|
|
+ @JsonProperty("plateNo")
|
|
|
|
|
+ private String plateNo;
|
|
|
|
|
+ @JsonProperty("VIN")
|
|
|
|
|
+ private String vin;
|
|
|
|
|
+ @JsonProperty("chgOwnerFlag")
|
|
|
|
|
+ private String chgOwnerFlag;
|
|
|
|
|
+ @JsonProperty("registerDate")
|
|
|
|
|
+ private String registerDate;
|
|
|
|
|
+ @JsonProperty("transferDate")
|
|
|
|
|
+ private String transferDate;
|
|
|
|
|
+ @JsonProperty("ecdemicVehicleFlag")
|
|
|
|
|
+ private Boolean ecdemicVehicleFlag;
|
|
|
|
|
+ @JsonProperty("issueDate")
|
|
|
|
|
+ private String issueDate;
|
|
|
|
|
+ @JsonProperty("plateColorCode")
|
|
|
|
|
+ private String plateColorCode;
|
|
|
|
|
+ @JsonProperty("carCheckStatus")
|
|
|
|
|
+ private String carCheckStatus;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class SimpleStadarCarDTO {
|
|
|
|
|
+ @JsonProperty("localModelCode")
|
|
|
|
|
+ private String localModelCode;
|
|
|
|
|
+ @JsonProperty("modelCode")
|
|
|
|
|
+ private String modelCode;
|
|
|
|
|
+ @JsonProperty("approvedLoad")
|
|
|
|
|
+ private String approvedLoad;
|
|
|
|
|
+ @JsonProperty("approvedPassengersCapacity")
|
|
|
|
|
+ private Integer approvedPassengersCapacity;
|
|
|
|
|
+ @JsonProperty("displacement")
|
|
|
|
|
+ private Double displacement;
|
|
|
|
|
+ @JsonProperty("purchasePrice")
|
|
|
|
|
+ private Integer purchasePrice;
|
|
|
|
|
+ @JsonProperty("energyTypes")
|
|
|
|
|
+ private String energyTypes;
|
|
|
|
|
+ @JsonProperty("brand")
|
|
|
|
|
+ private String brand;
|
|
|
|
|
+ @JsonProperty("brandCode")
|
|
|
|
|
+ private String brandCode;
|
|
|
|
|
+ @JsonProperty("series")
|
|
|
|
|
+ private String series;
|
|
|
|
|
+ @JsonProperty("seriesCode")
|
|
|
|
|
+ private String seriesCode;
|
|
|
|
|
+ @JsonProperty("power")
|
|
|
|
|
+ private Integer power;
|
|
|
|
|
+ @JsonProperty("unladenMass")
|
|
|
|
|
+ private Double unladenMass;
|
|
|
|
|
+ @JsonProperty("grossMass")
|
|
|
|
|
+ private Integer grossMass;
|
|
|
|
|
+ @JsonProperty("tractionMass")
|
|
|
|
|
+ private Integer tractionMass;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class ContractDTO {
|
|
|
|
|
+ @JsonProperty("contractMain")
|
|
|
|
|
+ private ContractMainDTO contractMain;
|
|
|
|
|
+ @JsonProperty("coverage")
|
|
|
|
|
+ private List<CoverageDTO> coverage;
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class ContractMainDTO {
|
|
|
|
|
+ @JsonProperty("expiryDate")
|
|
|
|
|
+ private String expiryDate;
|
|
|
|
|
+ @JsonProperty("riskCode")
|
|
|
|
|
+ private String riskCode;
|
|
|
|
|
+ @JsonProperty("validDate")
|
|
|
|
|
+ private String validDate;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class CoverageDTO {
|
|
|
|
|
+ @JsonProperty("unitAmount")
|
|
|
|
|
+ private Integer unitAmount;
|
|
|
|
|
+ @JsonProperty("quantity")
|
|
|
|
|
+ private Integer quantity;
|
|
|
|
|
+ @JsonProperty("amount")
|
|
|
|
|
+ private Integer amount;
|
|
|
|
|
+ @JsonProperty("relatedInd")
|
|
|
|
|
+ private String relatedInd;
|
|
|
|
|
+ @JsonProperty("kindCode")
|
|
|
|
|
+ private String kindCode;
|
|
|
|
|
+ @JsonProperty("kindName")
|
|
|
|
|
+ private String kindName;
|
|
|
|
|
+ @JsonProperty("deductibleRate")
|
|
|
|
|
+ private String deductibleRate;
|
|
|
|
|
+ @JsonProperty("deductible")
|
|
|
|
|
+ private String deductible;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @AllArgsConstructor
|
|
|
|
|
+ @NoArgsConstructor
|
|
|
|
|
+ @Data
|
|
|
|
|
+ public static class CustomerDTO {
|
|
|
|
|
+ // 名称
|
|
|
|
|
+ @JsonProperty("name")
|
|
|
|
|
+ private String name;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 证件类型
|
|
|
|
|
+ * 01 身份证
|
|
|
|
|
+ * 3 组织机构代码
|
|
|
|
|
+ * 4 统一社会信用代码
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("identifyType")
|
|
|
|
|
+ private String identifyType;
|
|
|
|
|
+ // 证件号码
|
|
|
|
|
+ @JsonProperty("identifyNumber")
|
|
|
|
|
+ private String identifyNumber;
|
|
|
|
|
+ // 地址
|
|
|
|
|
+ @JsonProperty("addr")
|
|
|
|
|
+ private String addr;
|
|
|
|
|
+ // 移动电话
|
|
|
|
|
+ @JsonProperty("mobile")
|
|
|
|
|
+ private String mobile;
|
|
|
|
|
+ // 电子保单接收邮箱
|
|
|
|
|
+ @JsonProperty("emailPolicy")
|
|
|
|
|
+ private String emailPolicy;
|
|
|
|
|
+ // 客户类型 1-个人,2-法人
|
|
|
|
|
+ @JsonProperty("type")
|
|
|
|
|
+ private String type;
|
|
|
|
|
+ // 客户角色
|
|
|
|
|
+ @JsonProperty("role")
|
|
|
|
|
+ private String role;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 发票种类
|
|
|
|
|
+ * 026 电子发票
|
|
|
|
|
+ * 007 普通发票
|
|
|
|
|
+ * 004 专用发票
|
|
|
|
|
+ */
|
|
|
|
|
+ @JsonProperty("invocieType")
|
|
|
|
|
+ private String invocieType;
|
|
|
|
|
+ // 投保人是否从事以下行业:银行、证券、期货、保险、律师、会计师、房地产、拍卖
|
|
|
|
|
+ @JsonProperty("jobRisk")
|
|
|
|
|
+ private String jobRisk;
|
|
|
|
|
+ // 证件有效起期
|
|
|
|
|
+ @JsonProperty("identifyValidDate")
|
|
|
|
|
+ private String identifyValidDate;
|
|
|
|
|
+ // identifyValidEndDate
|
|
|
|
|
+ @JsonProperty("identifyValidEndDate")
|
|
|
|
|
+ private String identifyValidEndDate;
|
|
|
|
|
|
|
|
|
|
+ public CustomerDTO(CustomerInfoVo customerInfoVo, String role) {
|
|
|
|
|
+ this.name = customerInfoVo.getName();
|
|
|
|
|
+ this.identifyType = "01";
|
|
|
|
|
+ this.identifyNumber = customerInfoVo.getIdentifyNumber();
|
|
|
|
|
+ this.addr = customerInfoVo.getAddr();
|
|
|
|
|
+ this.mobile = customerInfoVo.getMobile();
|
|
|
|
|
+ this.emailPolicy = customerInfoVo.getEmail();
|
|
|
|
|
+ this.type = "1";
|
|
|
|
|
+ this.role = role;
|
|
|
|
|
+ this.invocieType = "026";
|
|
|
|
|
+ this.jobRisk = "1";
|
|
|
|
|
+ this.identifyValidDate = customerInfoVo.getIdentifyValidDate();
|
|
|
|
|
+ this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|