提交 c459834b authored 作者: hzh's avatar hzh

代码优化

上级 a64ac313
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
<module>ruoyi-common-allPay</module> <module>ruoyi-common-allPay</module>
<module>ruoyi-common-mall</module> <module>ruoyi-common-mall</module>
<module>ruoyi-common-yudao-mybatis</module> <module>ruoyi-common-yudao-mybatis</module>
<module>ruoyi-common-51weishi</module>
</modules> </modules>
<artifactId>ruoyi-common</artifactId> <artifactId>ruoyi-common</artifactId>
......
package org.dromara.common.weishi.constant;
import lombok.AllArgsConstructor;
/**
* @author wenhe
*/
@AllArgsConstructor
public enum IDType {
I("身份证", "I"),
E("信用代码", "E"),
P("护照", "P"),
C("中国护照", "C"),
F("外国护照", "F"),
H("港澳通行证", "H"),
M("港澳居民证", "M"),
T("台湾通行证", "T"),
W("台湾居民证", "W"),
J("军官证", "J"),
B("出生证", "B"),
Y("永居证", "Y"),
O("其他", "O");
private final String key;
private final String value;
}
package org.dromara.common.weishi.constant;
import lombok.AllArgsConstructor;
/**
* @author wenhe
*/
@AllArgsConstructor
public enum PersonType {
B("都支持", "B"),
E("企业", "E"),
P("个人", "P");
private final String key;
private final String value;
}
package org.dromara.common.weishi.constant;
import lombok.AllArgsConstructor;
/**
* @author wenhe
*/
@AllArgsConstructor
public enum Sex {
M("男", "M"),
F("男", "F"),
U("未知", "U");
private final String key;
private final String value;
}
package org.dromara.common.weishi.enums.auth;
import org.dromara.common.weishi.enums.ApiEnum;
/**
* 认证接口
*
* @author wenhe
*/
public enum AuthApiEnum implements ApiEnum {
/**
* 获取AccessToken接口
*/
AUTHORIZE("/api/v1/account/authorize", "获取AccessToken接口"),
/**
* 刷新AccessToken接口
*/
REFRESH("/api/v1/account/refresh", "刷新AccessToken接口");
/**
* 接口URL
*/
private final String url;
/**
* 接口描述
*/
private final String desc;
AuthApiEnum(String url, String desc) {
this.url = url;
this.desc = desc;
}
/**
* 获取枚举URL
*
* @return 枚举编码
*/
@Override
public String getUrl() {
return url;
}
/**
* 获取详细的描述信息
*
* @return 描述信息
*/
@Override
public String getDesc() {
return desc;
}
@Override
public String toString() {
return url;
}
}
package org.dromara.common.weishi.enums.insure;
import org.dromara.common.weishi.enums.ApiEnum;
/**
* 保单接口
*
* @author wenhe
*/
public enum InsureApiEnum implements ApiEnum {
/**
* 承保接口
*/
APPLY("/api/v1/insure/apply", "承保接口"),
/**
* 核保接口(请求参数同承保接口)
*/
PROPOSAL("/api/v1/insure/proposal", "核保接口(请求参数同承保接口)只是验证客户是否可以投保(包括旅游卫士和保司验证),并不会生成保单,但是部分保司并不支持核保操作"),
/**
* 签单接口
*/
ISSUE("/api/v1/insure/issue/{OrderNum}", "签单接口"),
/**
* 订单撤单接口
*/
CANCEL("/api/v1/order/insure/{orderNum}", "订单撤单接口"),
/**
* 保单撤单接口
*/
INSURE_CANCEL("/api/v1/insure/withdraw/policy/{policyNum}", "保单撤单接口"),
/**
* 根据订单号下载保单
*/
INSURE_DOWNLOAD("/api/v1/insure/download/order/{num}", "根据订单号下载保单"),
/**
* 获取投/被保险人申明接口
*/
AVOW_LIST("/api/v1/insurer/1/avow/list", "获取投/被保险人申明接口"),
;
/**
* 接口URL
*/
private final String url;
/**
* 接口描述
*/
private final String desc;
InsureApiEnum(String url, String desc) {
this.url = url;
this.desc = desc;
}
/**
* 获取枚举URL
*
* @return 枚举编码
*/
@Override
public String getUrl() {
return url;
}
/**
* 获取详细的描述信息
*
* @return 描述信息
*/
@Override
public String getDesc() {
return desc;
}
@Override
public String toString() {
return url;
}
}
package org.dromara.common.weishi.enums.product;
import org.dromara.common.weishi.enums.ApiEnum;
/**
* 产品接口
*
* @author wenhe
*/
public enum ProductApiEnum implements ApiEnum {
/**
* 产品列表接口
*/
PRODUCT_LIST("/api/v1/insure/products", "产品列表接口"),
/**
* 产品详情接口
*/
PRODUCT_DETAIL("/api/v1/insure/product/{productId}/view", "产品详情接口"),
/**
* 获取保险公司相关文档接口
*/
ANNEX("/api/v1/product/{id}/annex/{annexTp}", "获取保险公司相关文档接口"),;
/**
* 接口URL
*/
private final String url;
/**
* 接口描述
*/
private final String desc;
ProductApiEnum(String url, String desc) {
this.url = url;
this.desc = desc;
}
/**
* 获取枚举URL
*
* @return 枚举编码
*/
@Override
public String getUrl() {
return url;
}
/**
* 获取详细的描述信息
*
* @return 描述信息
*/
@Override
public String getDesc() {
return desc;
}
@Override
public String toString() {
return url;
}
}
package org.dromara.common.weishi.model.req;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApplyRequest {
/**
* 流水号,幂等且唯一不能重复
*/
private String BatchNum;
/**
* 产品计划代码,需联系客户经理提供
*/
private String ProductNum;
/**
* 保单生效时间,格式为YYYY-MM-DD HH:MM:SS
*/
private String BeginDate;
/**
* 保单终止时间,格式为YYYY-MM-DD HH:MM:SS
*/
private String EndDate;
/**
* 旅行目的地
*/
private String TourDest;
/**
* 旅行团编号/航班号
*/
private String TourNum;
/**
* 标准保费合计,是Units中所有标准保费的总和
*/
private BigDecimal StdPremium;
/**
* 实收保费合计,是Units中所有实收保费的总和
*/
private BigDecimal ActPremium;
/**
* 投保单元列表,每个投保必须包含一个以上投保单元,一次投保多个被保险人且要求单人保单时此字段为多个元素,否则为单个元素
*/
private List<InsureUnit> Units;
/**
* 投保可选参数
*/
private Options Options;
/**
* 支付参数,在余额不足时需要此参数
*/
private PaymentOptions PaymentOptions;
/**
* 发票信息,需要开票时填写
*/
private Taxpayer Taxpayer;
@Data
public static class InsureUnit {
/**
* 投保人信息,若未指定投保人,默认选取第一个成年人作为投保人
*/
private PolicyHolder PolicyHolder;
/**
* 被保人列表
*/
private List<Insurant> Insureds;
}
@Data
public static class PolicyHolder {
/**
* 投保人姓名/名称
*/
private String Name;
/**
* 投保人性别
*/
private String Gender;
/**
* 证件类型,参考字段枚举
*/
private String IDTp;
/**
* 证件代码
*/
private String IDNum;
/**
* 出生日期
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
}
@Data
public static class Insurant {
/**
* 被保险人姓名
*/
private String Name;
/**
* 性别,M代表男,F代表女,U代表未知
*/
private String Gender;
/**
* 证件类型,参考字段枚举
*/
private String IDTp;
/**
* 证件号码
*/
private String IDNum;
/**
* 出生日期
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
/**
* 与投保人关系,参考字段枚举
*/
private String RelationTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
}
@Data
public static class PaymentOptions {
/**
* 支付通道类型,固定传11
*/
private String PaymentTp;
/**
* 支付场景类型,固定传1
*/
private String SceneTp;
}
@Data
public static class Taxpayer {
/**
* 企业名称
*/
private String TaxpayerName;
/**
* 信用代码
*/
private String TaxpayerNum;
/**
* 企业开户银行
*/
private String TaxpayerBank;
/**
* 银行账户
*/
private String TaxpayerAccount;
/**
* 税务登记电话
*/
private String TaxpayerTelephone;
/**
* 税务登记地址
*/
private String TaxpayerAddr;
}
@Data
public static class Options {
/**
* 是否指定投保人
*/
private Boolean FixedHolder;
/**
* 投保人类型,P代表个人,E代表企业
*/
private String HolderTp;
/**
* 是否为单人保单
*/
private Boolean PersonalPol;
/**
* 是否合并保单文件
*/
private Boolean Merged;
/**
* 部分失败时是否自动保存到草稿箱
*/
private Boolean AutoDraft;
/**
* 是否显示投保关系
*/
private Boolean ShowRel;
}
}
package org.dromara.common.weishi.model.req;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AuthRequest {
/**
* 用户名
*/
private String username;
/**
* 密码
*/
private String password;
}
package org.dromara.common.weishi.model.req;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProposalRequest {
/**
* 流水号,幂等性字段,唯一不能重复
*/
private String BatchNum;
/**
* 产品计划代码,联系客户经理提供
*/
private String ProductNum;
/**
* 保单生效时间,格式:YYYY-MM-DD HH:MM:SS
*/
private String BeginDate;
/**
* 保单终止时间,格式:YYYY-MM-DD HH:MM:SS
*/
private String EndDate;
/**
* 旅行目的地
*/
private String TourDest;
/**
* 旅行团编号/航班号
*/
private String TourNum;
/**
* 标准保费合计,Units中所有标准保费合计
*/
private BigDecimal StdPremium;
/**
* 实收保费合计,Units中所有实收保费合计
*/
private BigDecimal ActPremium;
/**
* 投保单元列表,每个投保必须有一个以上投保单元
*/
private List<InsureUnit> Units;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class InsureUnit {
/**
* 投保人信息,未指定投保人时默认选取第一个成年人作为投保人
*/
private PolicyHolder PolicyHolder;
/**
* 被保人列表
*/
private List<Insurant> Insureds;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class PolicyHolder {
/**
* 投保人姓名/名称
*/
private String Name;
/**
* 投保人性别
*/
private String Gender;
/**
* 证件类型:I-身份证,P-护照,J-军官证,K-通行证,T-台湾通行证,G-港澳通行证,O-其他,E-统一信用代码
*/
private String IDTp;
/**
* 证件代码
*/
private String IDNum;
/**
* 出生日期,格式:yyyy-MM-dd
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Insurant {
/**
* 被保险人姓名
*/
private String Name;
/**
* 性别:M-男,F-女,U-未知
*/
private String Gender;
/**
* 证件类型:I-身份证,P-护照,J-军官证,K-通行证,T-台湾通行证,G-港澳通行证,O-其他,E-统一信用代码
*/
private String IDTp;
/**
* 证件号码
*/
private String IDNum;
/**
* 出生日期,格式:yyyy-MM-dd
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
/**
* 与投保人关系
*/
private String RelationTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
}
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 用于表示保险公司相关资源路径信息的实体类
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AnnexResponse {
/**
* 保险公司相关文件在云端的路径,当前指向一个PDF文件,可能是保险条款或其他重要文档
*/
private String CloudPath;
/**
* 包含多个页面链接的列表,这些链接当前均指向图片文件,可能是保险相关的宣传图、说明图等
*/
private List<String> Pages;
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ApplyResponse {
/**
* 流水号
*/
private String BatchNum;
/**
* 产品代码
*/
private String ProductNum;
/**
* 保单生效时间
*/
private String BeginDate;
/**
* 保单终止时间
*/
private String EndDate;
/**
* 旅行团编号
*/
private String TourNum;
/**
* 旅行目的地
*/
private String TourDest;
/**
* 发票大类,p - 个人,E - 企业,U - 未知
*/
private String InvoiceKind;
/**
* 开具发票的类型
*/
private String InvoiceTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 投保单元列表
*/
private List<Unit> Units;
/**
* 投保数据格式,P:图片, D - 数据
*/
private String DataTp;
/**
* 订单号
*/
private String OrderNum;
/**
* 计划ID
*/
private int PlanID;
/**
* 返回代码,0:成功,其他:失败
*/
private int ResultTp;
/**
* 返回内容
*/
private String ResultMsg;
/**
* 保单下载链接
*/
private String PolicyUrl;
/**
* 订单下载链接
*/
private String OrderUrl;
@Data
public static class Unit {
/**
* 投保人信息,投保人年龄必须大于18周岁
*/
private PolicyHolder PolicyHolder;
/**
* 被保人列表
*/
private List<Insured> Insureds;
/**
* 标准保费,Insureds下总被保险人数*标准单价
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 保单号,投保时返回
*/
private String PolicyNum;
/**
* 返回代码,0:成功,其他:失败
*/
private int ResultTp;
/**
* 返回消息
*/
private String ResultMsg;
}
@Data
public static class PolicyHolder {
/**
* 投保人姓名/名称
*/
private String Name;
/**
* 投保人性别
*/
private String Gender;
/**
* 证件类型,参考字段枚举
*/
private String IDTp;
/**
* 证件代码
*/
private String IDNum;
/**
* 出生日期
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
}
@Data
public static class Insured {
/**
* 被保险人姓名
*/
private String Name;
/**
* 性别,M男/F女/U未知
*/
private String Gender;
/**
* 证件类型,参考字段枚举
*/
private String IDTp;
/**
* 证件号码
*/
private String IDNum;
/**
* 出生日期
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
/**
* 与投保人关系,参考字段枚举
*/
private String RelationTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 被保险人ID
*/
private int InsuredID;
}
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AuthResponse {
/**
* 访问token
*/
private String access_token;
/**
* 超时时间
*/
private int expires_in;
/**
* 令牌类型
*/
private String token_type;
/**
* 刷新token
*/
private String refresh_token;
/**
* 用户id
*/
private int user_id;
/**
* 用户名
*/
private String user_name;
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author wenhe
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AvowListResponse {
/**
* 唯一标识 ID
*/
private int ID;
/**
* 保险相关的声明文本
*/
private String AvowText;
/**
* 表示是否加粗,false 表示不加粗
*/
private boolean Bold;
/**
* 表示是否有颜色相关设置,false 表示无特殊颜色设置
*/
private boolean Color;
/**
* 排序字段,用于指定顺序
*/
private int OrderBy;
/**
* 保险公司 ID
*/
private int InsurerID;
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* @author wenhe
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IssueResponse {
/**
* 渠道类型,默认是B
*/
private String ChannelTp;
/**
* 流水号
*/
private String BatchNum;
/**
* 产品代码
*/
private String ProductNum;
/**
* 保单生效时间,格式:yyyy-MM-dd HH:mm:ss
*/
private String BeginDate;
/**
* 保单终止时间,格式:yyyy-MM-dd HH:mm:ss
*/
private String EndDate;
/**
* 旅行团编号
*/
private String TourNum;
/**
* 旅行目的地
*/
private String TourDest;
/**
* 开具发票的类型
*/
private String InvoiceTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 投保单元列表
*/
private List<Unit> Units;
/**
* 投保数据格式
*/
private String DataTp;
/**
* 订单号
*/
private String OrderNum;
/**
* 返回代码,0表示成功
*/
private int ResultNum;
/**
* 付款链接,余额不足时返回
*/
private String PaymentUrl;
/**
* 付款单号
*/
private String PaymentNum;
/**
* 付款金额
*/
private BigDecimal PaymentAmt;
/**
* 返回代码
*/
private String ResultTp;
/**
* 提示文本
*/
private String ResultMsg;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Unit {
/**
* 投保人信息,年龄必须大于18周岁
*/
private PolicyHolder PolicyHolder;
/**
* 被保人列表
*/
private List<Insured> Insureds;
/**
* 标准保费,Insureds下总被保险人数*标准单价
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 标准退款金额
*/
private BigDecimal StdRefund;
/**
* 实际退款金额
*/
private BigDecimal ActRefund;
/**
* 保单号,成功时返回
*/
private String PolicyNum;
/**
* 返回代码,0表示成功
*/
private String ResultTp;
/**
* 提示文本
*/
private String ResultMsg;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class PolicyHolder {
/**
* 投保人姓名/名称
*/
private String Name;
/**
* 投保人性别
*/
private String Gender;
/**
* 证件类型:I-身份证,P-护照,J-军官证,K-通行证,T-台湾通行证,G-港澳通行证,O-其他,E-统一信用代码
*/
private String IDTp;
/**
* 证件代码
*/
private String IDNum;
/**
* 出生日期,格式:yyyy-MM-dd
*/
private String Birthday;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Insured {
/**
* 被保险人姓名
*/
private String Name;
/**
* 性别:M-男,F-女,U-未知
*/
private String Gender;
/**
* 证件类型:I-身份证,P-护照,J-军官证,K-通行证,T-台湾通行证,G-港澳通行证,O-其他,E-统一信用代码
*/
private String IDTp;
/**
* 证件号码
*/
private String IDNum;
/**
* 出生日期,格式:yyyy-MM-dd
*/
private String Birthday;
/**
* 与投保人关系
*/
private String RelationTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 标准退款金额
*/
private BigDecimal StdRefund;
/**
* 实际退款金额
*/
private BigDecimal ActRefund;
}
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductResponse {
/**
* 产品ID
*/
private int ProductID;
/**
* 产品名称
*/
private String ProductName;
/**
* 产品编码
*/
private String ProductNum;
/**
* 保险公司
*/
private String InsureAbbr;
/**
* 保险公司ID,用于唯一标识保险公司
*/
private Integer InsurerID;
/**
* 产品子类,D-境内旅游, O-出境旅游, W-境内出境, V-签证保险, A-航意航延, T-其他类型
*/
private String ProductSub;
/**
* 区间描述
*/
private String PeriodText;
/**
* 承保区域
*/
private String InsureArea;
/**
* 承保年龄
*/
private String InsureAge;
/**
* 保单条款Pdf的链接
*/
private String ClauseUrl;
/**
* 计划列表
*/
private List<Plan> Plans;
/**
* 包括的计划列表
*/
private List<Integer> IncludePlans;
/**
* 保障内容显示表头
*/
private List<List<HeadRow>> HeadRows;
/**
* 保障内容
*/
private List<List<ViewRow>> ViewRows;
/**
* 费率表年龄视图
*/
private List<AgeView> AgeViews;
/**
* QrBase64字段(根据你的数据结构中此字段无更多说明,按原样定义)
*/
private String QrBase64;
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Plan {
/**
* 计划ID
*/
private Integer PlanID;
/**
* 计划名称
*/
private String PlanName;
/**
* 计划编码
*/
private String PlanNum;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class HeadRow {
/**
* 文本内容
*/
private String text;
/**
* 跨行数,可为空
*/
private Integer rowspan;
/**
* 跨列数,可为空
*/
private Integer colspan;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class ViewRow {
/**
* 保障内容/金额
*/
private String text;
/**
* 跨列数,可为空
*/
private Integer colspan;
/**
* 描述
*/
private String desc;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class AgeView {
/**
* 费率表年龄文本
*/
private String text;
/**
* 跨列数,可为空
*/
private Integer colspan;
/**
* 费率集合
*/
private List<List<AgeViewRow>> rows;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class AgeViewRow {
/**
* 期间描述
*/
private String text;
/**
* 跨列数,可为空
*/
private Integer colspan;
}
}
package org.dromara.common.weishi.model.res;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 保险产品列表响应数据的实体类,用于封装保险产品相关信息的响应结果。
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductsResponse {
/**
* 保险公司ID,用于唯一标识保险公司
*/
private Integer InsurerID;
/**
* 保险公司简称,方便展示和识别保险公司
*/
private String InsurerAbbr;
/**
* 产品ID,用于唯一标识保险产品
*/
private Integer ProductID;
/**
* 产品名称,描述保险产品的具体名称
*/
private String ProductName;
/**
* 承保区域,说明该保险产品的保障覆盖区域
*/
private String InsureArea;
/**
* 保费描述,展示保险产品保费的相关信息,如价格范围
*/
private String PremText;
/**
* 区间描述,说明保险产品保障期限的区间信息
*/
private String PeriodText;
/**
* 保司信息披露文件链接,可用于获取保险公司的详细信息披露文件
*/
private String DisclosureUrl;
/**
* 保司信息披露图片集合,包含保险公司信息披露的相关图片链接列表
*/
private List<String> DisclosurePages;
/**
* 客户告知书链接,指向客户告知书的文件链接
*/
private String NotificationUrl;
/**
* 客户告知书图片集合,包含客户告知书的相关图片链接列表
*/
private List<String> NotificationPages;
/**
* 支持的证件类型列表,表明购买该保险产品时可使用的证件类型
*/
private List<String> SupportIdTp;
/**
* 保险计划列表,包含该保险产品下的多个具体保险计划
*/
private List<Plan> Plans;
/**
* 产品标签集合,可用于对保险产品进行分类或标记,目前可忽略此字段
*/
private List<Integer> Tags;
/**
* 保险计划的内部类,包含保险计划的详细配置信息。
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Plan {
/**
* 产品ID,关联所属的保险产品
*/
private Integer ProductID;
/**
* 产品名称,所属保险产品的名称
*/
private String ProductName;
/**
* 计划ID,用于唯一标识该保险计划
*/
private Integer PlanID;
/**
* 计划代码,是保险计划的编码,方便内部管理和识别
*/
private String PlanNum;
/**
* 计划名称,描述保险计划的具体名称
*/
private String PlanName;
/**
* 允许的投保人类型,B表示都支持,E表示企业,P表示个人等
*/
private String HolderTp;
/**
* 产品数据类型,D表示数据,P表示图片,B表示都支持
*/
private String DataTp;
/**
* 费率类型,Q表示额定,T表示表定
*/
private String RatioTp;
/**
* 提前投保天数,即需要提前多少天进行投保操作
*/
private Integer Prepend;
/**
* 提前投保天数的最小值,用于限制提前投保的最早时间
*/
private Integer PrependMin;
/**
* 当天生效时间延迟时间,单位为分钟,即投保后延迟多久生效
*/
private Integer Minutes;
/**
* 当天生效时间延迟时间的最小值,用于限制生效时间延迟的最短时间
*/
private Integer MinutesMin;
/**
* 是否支持移动端适配,表明该保险计划在移动端的使用适配情况
*/
private Boolean MobileAdapt;
/**
* 最小被保险人人数,规定该保险计划最少可保障的被保险人数量
*/
private Integer InsuredMin;
/**
* 最大被保险人人数,规定该保险计划最多可保障的被保险人数量
*/
private Integer InsuredMax;
/**
* 产品支持时间选择,表明是否支持选择具体的保障时间
*/
private Boolean TimeSupport;
/**
* 是否支持受益人设置,说明该保险计划是否允许指定受益人
*/
private Boolean BeneSupport;
/**
* 产品是否与职业相关,表明职业因素是否会影响保险计划的相关条款
*/
private Boolean OccupWith;
/**
* 支持最大的职业等级,用于限制可参保的职业等级上限
*/
private Double MaxOccup;
/**
* 产品是否与社保相关,说明社保因素是否会对保险计划产生影响
*/
private Boolean SocialWith;
/**
* 产品是否需要健康告知,表明购买保险时是否需要提供健康状况信息
*/
private Boolean HealthWith;
/**
* 是否固定期间,说明保险计划的保障期限是否固定
*/
private Boolean PeriodFixed;
/**
* 期间单位,Y表示年,M表示月,D表示日,用于确定保障期限的时间单位
*/
private String PeriodUnit;
/**
* 最小保障期间,规定该保险计划的最短保障期限
*/
private Integer PeriodMin;
/**
* 最大保障期间,规定该保险计划的最长保障期限
*/
private Integer PeriodMax;
/**
* 默认周期,当未选择其他保障期限时的默认保障周期
*/
private Integer PeriodDefault;
/**
* 是否固定选项,用于描述保险计划的选项是否固定不可更改
*/
private Boolean OptionFixed;
/**
* 费率,用于计算保险费用的比率
*/
private Double Ratio;
/**
* 最小年龄,规定该保险计划可参保的最小年龄
*/
private Integer AgeMin;
/**
* 最小年龄单位,D表示天,Y表示年龄,用于确定最小年龄的计算单位
*/
private String AgeMinUnit;
/**
* 最大年龄,规定该保险计划可参保的最大年龄
*/
private Integer AgeMax;
/**
* 最大年龄单位,D表示天,Y表示年龄,用于确定最大年龄的计算单位
*/
private String AgeMaxUnit;
/**
* 条款Url,指向保险计划条款的文件链接,可用于查看详细条款
*/
private String ClauseUrl;
/**
* 折扣模式,S表示标准折扣,A表示实收折扣
*/
private String DiscountTp;
/**
* 产品折扣,用于计算实际保费时的折扣比例
*/
private Double Discount;
/**
* 费率表,包含不同保障期限、年龄等条件下的保费信息列表
*/
private List<Row> Rows;
/**
* 普通发票是否要求投保人,表明开具普通发票时对投保人的要求情况
*/
private Boolean OrdinaryHolder;
/**
* 是否提供增值税专用发票,说明该保险计划是否可开具增值税专用发票
*/
private Boolean SpecialAvaiable;
/**
* 是否是收藏计划,用于标识该保险计划是否被用户收藏
*/
private Boolean IsFavorite;
/**
* 标签列表,可用于对保险计划进行分类或标记,目前可忽略此字段
*/
private List<String> Tags;
}
/**
* 费率表项的内部类,包含特定条件下的保费信息。
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public static class Row {
/**
* 最小区间,在费率表中对应的保障期限的最小范围
*/
private Integer PeriodMin;
/**
* 最大区间,在费率表中对应的保障期限的最大范围
*/
private Integer PeriodMax;
/**
* 最小年龄,在该费率条件下可参保的最小年龄
*/
private Integer AgeMin;
/**
* 最小年龄单位,D表示天,Y表示年龄,用于确定最小年龄的计算单位
*/
private String AgeMinUnit;
/**
* 最大年龄,在该费率条件下可参保的最大年龄
*/
private Integer AgeMax;
/**
* 最大年龄单位,D表示天,Y表示年龄,用于确定最大年龄的计算单位
*/
private String AgeMaxUnit;
/**
* 保费金额,在该保障期限和年龄条件下对应的保险费用
*/
private Double Premium;
/**
* 是否包含社保,表明该保费计算是否包含社保因素
*/
private Boolean SocialIns;
/**
* 职业等级,在该费率条件下对应的职业等级,用于评估职业风险
*/
private Double OccupRank;
}
}
package org.dromara.common.weishi.model.res;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ProposalResponse {
/**
* 流水号
*/
private String BatchNum;
/**
* 产品代码
*/
private String ProductNum;
/**
* 保单生效时间
*/
private String BeginDate;
/**
* 保单终止时间
*/
private String EndDate;
/**
* 旅行团编号
*/
private String TourNum;
/**
* 旅行目的地
*/
private String TourDest;
/**
* 发票大类,p-个人,E-企业,U-未知
*/
private String InvoiceKind;
/**
* 开具发票的类型
*/
private String InvoiceTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 投保单元列表
*/
private List<Unit> Units;
/**
* 投保数据格式,P-图片, D-数据
*/
private String DataTp;
/**
* 订单号,后续签单,下载,撤单需要用
*/
private String OrderNum;
/**
* 计划ID
*/
private int PlanID;
/**
* 返回代码,0:成功,其他:失败
*/
private int ResultTp;
/**
* 返回内容
*/
private String ResultMsg;
@Data
public static class Unit {
/**
* 投保人信息,投保人年龄必须大于18周岁
*/
private PolicyHolder PolicyHolder;
/**
* 被保人列表
*/
private List<Insured> Insureds;
/**
* 标准保费,Insureds下总被保险人数*标准单价
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 核保单号,投保时返回
*/
private String PolicyNum;
/**
* 返回代码,0:成功,其他:失败
*/
private int ResultTp;
/**
* 返回消息
*/
private String ResultMsg;
}
@Data
public static class PolicyHolder {
/**
* 投保人姓名/名称
*/
private String Name;
/**
* 投保人性别
*/
private String Gender;
/**
* 证件类型,参考字段枚举
*/
private String IDTp;
/**
* 证件代码
*/
private String IDNum;
/**
* 出生日期
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
}
@Data
public static class Insured {
/**
* 被保险人姓名
*/
private String Name;
/**
* 性别,M男/F女/U未知
*/
private String Gender;
/**
* 证件类型,参考字段枚举
*/
private String IDTp;
/**
* 证件号码
*/
private String IDNum;
/**
* 出生日期
*/
private String Birthday;
/**
* 手机号码
*/
private String Mobile;
/**
* 与投保人关系,参考字段枚举
*/
private String RelationTp;
/**
* 标准保费
*/
private BigDecimal StdPremium;
/**
* 实收保费
*/
private BigDecimal ActPremium;
/**
* 被保险人ID
*/
private int InsuredID;
}
}
package org.dromara.common.weishi.model.res;
import lombok.Data;
/**
* @author wenhe
*/
@Data
public class TokenRefreshResponse {
/**
* 访问token
*/
private String access_token;
/**
* 超时时间,单位为秒
*/
private int expires_in;
/**
* 令牌类型
*/
private String token_type;
/**
* 刷新token
*/
private String refresh_token;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论