Commit 6419a025 by jianan

客户表,fna表单表字段修改

parent e012b252
package com.yd.csf.api.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.csf.service.common.ErrorCode;
......@@ -103,12 +104,12 @@ public class ApiCustomerController {
@Operation(summary = "根据 customerBizId 获取客户详情")
public Result<CustomerVO> getCustomerVOByCustomerBizId(@RequestParam("customerBizId") String customerBizId, HttpServletRequest request) {
if (customerBizId == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "customerBizId 不能为空");
}
// 查询数据库
Customer customer = customerService.getByCustomerBizId(customerBizId);
if (customer == null) {
return Result.fail(ErrorCode.NOT_FOUND_ERROR.getCode(), ErrorCode.NOT_FOUND_ERROR.getMessage());
return Result.fail(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
// 获取封装类
......
......@@ -58,8 +58,6 @@ public class ApiFnaFormController {
if (StringUtils.isBlank(saveType)) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "保存方式必传");
}
// 校验
fnaFormService.validFnaFormAdd(fnaFormAddRequest.getPersonalData(), saveType);
// 转换为数据库实体
FnaForm fnaForm = fnaFormService.getFnaForm(fnaFormAddRequest);
......@@ -137,8 +135,7 @@ public class ApiFnaFormController {
if (oldFna == null) {
return Result.fail(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
// 校验
fnaFormService.validFnaFormAdd(fnaUpdateRequest.getPersonalData(), saveType);
// 转换为数据库实体
FnaForm fnaForm = fnaFormService.getFnaForm(fnaUpdateRequest);
BeanUtils.copyProperties(fnaForm, oldFna, "id", "fnaFormBizId", "userBizId", "agentBizId", "customerBizId", "creatorId", "updaterId");
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class BrokerData {
@Schema(description = "介绍人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
private String brokerName;
@Schema(description = "介绍人性别", requiredMode = Schema.RequiredMode.REQUIRED)
private String brokerGender;
@Schema(description = "介绍人内部编号")
private String brokerNumber;
@Schema(description = "转介人所属团队", requiredMode = Schema.RequiredMode.REQUIRED)
private String brokerTeam;
@Schema(description = "转介人所属团队业务ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String brokerTeamBizId;
@Schema(description = "分配比例")
private String brokerRatio;
@Schema(description = "备注")
private String remark;
}
......@@ -7,6 +7,7 @@ import lombok.Data;
public class CompanyBusinessData {
@Schema(description = "公司過去兩年平均純利 (HKD)")
private String averageNetProfit;
@Schema(description = "公司現時大約的總資產 (HKD)")
private String estimatedTotalAssets;
......
......@@ -22,13 +22,13 @@ public class CustomerQueryRequest extends PageDto implements Serializable {
private String name;
/**
* 标题
* 手机号
*/
@Schema(description = "手机号")
private String phone;
private String mobile;
/**
* 内容
* 邮箱
*/
@Schema(description = "邮箱")
private String email;
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "受供养人信息")
public class DependantData {
@Schema(description = "受供养人姓名", requiredMode = Schema.RequiredMode.REQUIRED)
private String dependantName;
@Schema(description = "与投保人的关系", requiredMode = Schema.RequiredMode.REQUIRED)
private String policyholderRel;
@Schema(description = "受供养人年龄", requiredMode = Schema.RequiredMode.REQUIRED)
private Integer dependantAge;
}
......@@ -4,16 +4,16 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "个人已有保障")
@Schema(description = "已生效仍在缴费期的保单情况")
public class ExistingSecurity {
@Schema(description = "保险公司")
private String insurer;
@Schema(description = "保障类型")
private String insuranceType;
@Schema(description = "保额")
@Schema(description = "年缴保费/保额(重疾险)")
private String sumInsured;
@Schema(description = "币种")
private String currency;
@Schema(description = "保单签发日期")
@Schema(description = "投保日期")
private String policyIssueDate;
}
......@@ -8,7 +8,6 @@ import java.util.List;
/**
* 创建Fna表单请求
*
*/
@Data
public class FnaFormAddRequest implements Serializable {
......@@ -25,23 +24,23 @@ public class FnaFormAddRequest implements Serializable {
@Schema(description = "客户唯一业务ID")
private String customerBizId;
/**
* 个人资料
*/
@Schema(description = "个人资料")
private PersonalData personalData;
// @Schema(description = "个人资料")
// private PersonalData personalData;
/**
* 税务国家列表
* 介绍人列表
*/
@Schema(description = "税务国家列表")
private List<TaxCountry> taxList;
@Schema(description = "介绍人列表")
private List<BrokerData> brokerList;
/**
* 家庭状况
* 受供养人列表
*/
@Schema(description = "家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)")
private List<FamilyMember> familyMembers;
@Schema(description = "受供养人列表")
private List<DependantData> dependantList;
// @Schema(description = "家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)")
// private List<FamilyMember> familyMembers;
/**
* 保单持有人个人已有保障
......@@ -51,31 +50,37 @@ public class FnaFormAddRequest implements Serializable {
/**
* 受保人个人已有保障
*/
private List<ExistingSecurity> existingSecurityInsured;
// private List<ExistingSecurity> existingSecurityInsured;
/**
* 收支情况
*/
@Schema(description = "收支情况")
private IncomeExpense incomeExpense;
// @Schema(description = "收支情况")
// private IncomeExpense incomeExpense;
/**
* 流动资产
*/
@Schema(description = "流动资产")
private LiquidAssets liquidAssets;
// @Schema(description = "流动资产")
// private LiquidAssets liquidAssets;
/**
* 自住用途之房地產
* 不动产信息
*/
@Schema(description = "自住用途之房地產")
@Schema(description = "不动产信息")
private List<OwnerProperties> primaryResidence;
/**
* 保费负担能力评估
*/
@Schema(description = "保费负担能力评估")
private PremiumAffordability premiumAffordability;
/**
* 投資房地產
*/
@Schema(description = "投資房地產")
private List<InvestmentProperties> investment;
// @Schema(description = "投資房地產")
// private List<InvestmentProperties> investment;
/**
* 公司业务资料
......@@ -86,8 +91,8 @@ public class FnaFormAddRequest implements Serializable {
/**
* 其他问题
*/
@Schema(description = "Fna表单其他问题")
private FnaFormOther other;
// @Schema(description = "Fna表单其他问题")
// private FnaFormOther other;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -8,7 +8,6 @@ import java.util.List;
/**
* 更新Fna表单请求
*
*/
@Data
public class FnaFormUpdateRequest implements Serializable {
......@@ -31,22 +30,16 @@ public class FnaFormUpdateRequest implements Serializable {
private String customerBizId;
/**
* 个人资料
* 介绍人列表
*/
@Schema(description = "个人资料")
private PersonalData personalData;
@Schema(description = "介绍人列表")
private List<BrokerData> brokerList;
/**
* 税务国家列表
* 受供养人列表
*/
@Schema(description = "税务国家列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<TaxCountry> taxList;
/**
* 家庭状况
*/
@Schema(description = "家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)")
private List<FamilyMember> familyMembers;
@Schema(description = "受供养人列表")
private List<DependantData> dependantList;
/**
* 保单持有人个人已有保障
......@@ -54,33 +47,16 @@ public class FnaFormUpdateRequest implements Serializable {
private List<ExistingSecurity> existingSecurityOwner;
/**
* 受保人个人已有保障
*/
private List<ExistingSecurity> existingSecurityInsured;
/**
* 收支情况
* 不动产信息
*/
@Schema(description = "收支情况")
private IncomeExpense incomeExpense;
/**
* 流动资产
*/
@Schema(description = "流动资产")
private LiquidAssets liquidAssets;
/**
* 自住用途之房地產
*/
@Schema(description = "自住用途之房地產")
@Schema(description = "不动产信息")
private List<OwnerProperties> primaryResidence;
/**
* 投資房地產
* 保费负担能力评估
*/
@Schema(description = "投資房地產")
private List<InvestmentProperties> investment;
@Schema(description = "保费负担能力评估")
private String premiumAffordability;
/**
* 公司业务资料
......@@ -88,11 +64,5 @@ public class FnaFormUpdateRequest implements Serializable {
@Schema(description = "公司业务资料")
private CompanyBusinessData companyBusinessData;
/**
* 其他问题
*/
@Schema(description = "Fna表单其他问题")
private FnaFormOther other;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -8,12 +8,12 @@ public class IncomeExpense {
/**
* 平均月收入
*/
@Schema(description = "在过去24个月里,你从所有所得的收入来源所得的平均每月收入为?(包括薪金、花红、佣金、其他薪酬红利、银行存款利息、债券利息及股息等")
@Schema(description = "在过去12个月里,你从所有所得的收入来源所得的平均每月收入为?(包括薪金、花红、佣金、其他薪酬红利、银行存款利息、债券利息及股息等")
private String monthlyIncome;
/**
* 平均月支出
*/
@Schema(description = "过去24个月每月里,你每月的平均开支为?")
@Schema(description = "过去12个月每月里,你每月的平均开支为?")
private String monthlyExpense;
}
......@@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "自住用途之房地產")
@Schema(description = "不动产信息")
public class OwnerProperties {
@Schema(description = "地址")
private String address;
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "保费负担能力")
public class PremiumAffordability {
/**
* 平均月收入
*/
@Schema(description = "在过去12个月里,你从所有所得的收入来源所得的平均每月收入为?(包括薪金、花红、佣金、其他薪酬红利、银行存款利息、债券利息及股息等")
private String monthlyIncome;
/**
* 平均月支出
*/
@Schema(description = "过去12个月每月里,你每月的平均开支为?")
private String monthlyExpense;
/**
* 累积流动资产
*/
@Schema(description = "您现时的累积流动资产约有多少?")
private String liquidAssets;
/**
* 流动资产种类
*/
@Schema(description = "流动资产种类,多选逗号隔开 字典值:csf_liquid_asset_type")
private String liquidAssetType;
/**
* 其他流动资产的说明
*/
@Schema(description = "其他流动资产的说明")
private String otherLiquidAsset;
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
......@@ -27,164 +28,269 @@ public class Customer implements Serializable {
private String customerBizId;
/**
* 用户业务ID
* 姓名-中文
*/
private String userBizId;
private String nameCn;
/**
* 自定义代码
* 姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
*/
private String customCode;
private String namePyEn;
/**
* 姓氏
* 证件类型(字典,下拉选择)
*/
private String lastName;
private String documentType;
/**
* 名字
* 证件号码
*/
private String firstName;
private String idNumber;
/**
* 姓名
* 性别(字典,如果是身份证,自动获取性别和生日)
*/
private String name;
private String gender;
/**
* 姓氏拼音
* 出生日期(生日,如果是身份证,自动获取性别和生日)
*/
private String lastNamePinyin;
private Date birthday;
/**
* 名字-英文
* 年龄(通过生日自动获取年龄)
*/
private String firstNamePinyin;
private String age;
/**
* 拼音全称
* 国籍(下拉选择)
*/
private String pinyin;
private String nationality;
/**
* 称谓
* 出生地
*/
private String title;
private String birthplace;
/**
* 性别
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
private Object gender;
private String isOtherCountry;
/**
* 出生日期
* 税务国家列表
*/
private Date birthdate;
private Object taxList;
/**
* 异常信息
* 吸烟情况(字典)
*/
private String abnormal;
private String smokingStatus;
/**
* 年龄
* 婚姻情况(字典)
*/
private String age;
private String maritalStatus;
/**
* 地区代码
* 教育程度(字典)
*/
private String areaCode;
private String educationLevel;
/**
* 电话号码
* 是否退休(字典)
*/
private String phone;
private String isRetirement;
/**
* 电子邮箱
* 退休年龄(如已退休,再显示)
*/
private String email;
private String retirementAge;
/**
* 是否吸烟
* 身高(CM)
*/
private String smoke;
private String height;
/**
* 吸烟数量
* 体重(KG)
*/
private String smokeQuantity;
private String weight;
/**
* 公司类型
* BMI指数(根据身高和体重自动计算)
*/
private String companyType;
private String bmi;
/**
* 风险偏好(字典,下拉选择)
*/
private String riskAppetite;
/**
* 受供养人数目(通过FNA带入)
*/
private Integer dependentsNum;
/**
* 移动电话区号
*/
private String mobileCode;
/**
* 移动电话
*/
private String mobile;
/**
* 住宅电话区号
*/
private String residenceMobileCode;
/**
* 住宅电话
*/
private String residenceMobile;
/**
* 固定电话区号
*/
private String landlineCode;
/**
* 固定电话
*/
private String fixedPhone;
private String landline;
/**
* 邮箱
*/
private String email;
/**
* 来源
* 证件地址
*/
private String source;
private String certificateAddress;
/**
* 证件类型
* 通讯地址
*/
private String idType;
private String mailingAddress;
/**
* 证件号码
* 居住地址(住宅地址)
*/
private String idCard;
private String residentialAddress;
/**
* 身份证地址
* 通讯地址邮政编号
*/
private String idCardAddress;
private String mailingAddressCode;
/**
* 护照号
* 就业情况(字典,下拉选择)
*/
private String passport;
private String employmentStatus;
/**
* EEP代码
* 公司/学校名称
*/
private String eepCode;
private String csName;
/**
* 婚姻状况
* 行业
*/
private Object marriage;
private String industry;
/**
* 出生地
* 现时每月收入(HKD)
*/
private String birthplace;
private BigDecimal currentMonthlyIncome;
/**
* 总工作年期
*/
private BigDecimal totalWorkingYears;
/**
* 受雇于现职年期
*/
private BigDecimal currentTenure;
/**
* 职位
*/
private String position;
/**
* 公司地址
*/
private String companyAddress;
/**
* 公司电话区号
*/
private String companyMobileCode;
/**
* 公司电话
*/
private String companyMobile;
/**
* 公司地址邮政编号
*/
private String companyAddressCode;
/**
* 平均每月收入(HKD)
*/
private BigDecimal monthIncome;
/**
* 平均每月支出(HKD)
*/
private BigDecimal monthExpenditure;
/**
* 总流动资产(HKD)
*/
private BigDecimal totalCurrentAssets;
/**
* 总负债额(HKD)
*/
private BigDecimal totalDebt;
/**
* 旅行(字典)
*/
private String travel;
/**
* 运动(字典,下拉选择)
*/
private String exercise;
/**
* 教育程度
* 游戏(字典,下拉选择)
*/
private Object education;
private String game;
/**
* 签单用户扩展唯一业务ID
* 电影/戏剧(字典,下拉选择)
*/
private String customerExpandBizId;
private String movieDrama;
/**
* 国家
* 美食(输入)
*/
private String country;
private String delicacy;
/**
* 国家名称
* 地址列表(json串)
*/
private String countryName;
private String addressList;
/**
* 通用备注
......
......@@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.yd.csf.service.dto.DependantData;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
......@@ -42,6 +46,16 @@ public class FnaForm implements Serializable {
private String customerBizId;
/**
* 经纪人列表
*/
private Object brokerList;
/**
* 受供养人列表
*/
private Object dependantList;
/**
* 个人资料
*/
private Object personalData;
......@@ -87,6 +101,11 @@ public class FnaForm implements Serializable {
private Object investment;
/**
* 保费负担能力评估
*/
private Object premiumAffordability;
/**
* 公司业务资料
*/
private Object companyBusinessData;
......
......@@ -105,55 +105,33 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
// 对象转封装类
FnaFormVO fnaFormVO = FnaFormVO.objToVo(fnaForm);
Object personalData = fnaForm.getPersonalData();
if (personalData != null) {
fnaFormVO.setPersonalData(GSON.fromJson(personalData.toString(), PersonalData.class));
}
Object taxList = fnaForm.getTaxList();
if (taxList != null) {
fnaFormVO.setTaxList(GSON.fromJson(taxList.toString(), new TypeToken<List<TaxCountry>>() {
if (fnaForm.getBrokerList() != null) {
fnaFormVO.setBrokerList(GSON.fromJson(fnaForm.getBrokerList().toString(), new TypeToken<List<BrokerData>>() {
}.getType()));
}
Object familyMembers = fnaForm.getFamilyMembers();
if (familyMembers != null) {
fnaFormVO.setFamilyMembers(GSON.fromJson(familyMembers.toString(), new TypeToken<List<FamilyMember>>() {
if (fnaForm.getDependantList() != null) {
fnaFormVO.setDependantList(GSON.fromJson(fnaForm.getDependantList().toString(), new TypeToken<List<DependantData>>() {
}.getType()));
}
Object existingSecurityOwner = fnaForm.getExistingSecurityOwner();
if (existingSecurityOwner != null) {
fnaFormVO.setExistingSecurityOwner(GSON.fromJson(existingSecurityOwner.toString(), new TypeToken<List<ExistingSecurity>>() {
}.getType()));
}
Object existingSecurityInsured = fnaForm.getExistingSecurityInsured();
if (existingSecurityInsured != null) {
fnaFormVO.setExistingSecurityInsured(GSON.fromJson(existingSecurityInsured.toString(), new TypeToken<List<ExistingSecurity>>() {
}.getType()));
}
Object incomeExpense = fnaForm.getIncomeExpense();
if (incomeExpense != null) {
fnaFormVO.setIncomeExpense(GSON.fromJson(incomeExpense.toString(), IncomeExpense.class));
}
Object liquidAssets = fnaForm.getLiquidAssets();
if (liquidAssets != null) {
fnaFormVO.setLiquidAssets(GSON.fromJson(liquidAssets.toString(), LiquidAssets.class));
}
Object primaryResidence = fnaForm.getPrimaryResidence();
if (primaryResidence != null) {
fnaFormVO.setPrimaryResidence(GSON.fromJson(primaryResidence.toString(), new TypeToken<List<OwnerProperties>>() {
}.getType()));
}
Object investment = fnaForm.getInvestment();
if (investment != null) {
fnaFormVO.setInvestment(GSON.fromJson(investment.toString(), new TypeToken<List<InvestmentProperties>>() {
}.getType()));
}
Object monthlyIncome = fnaForm.getCompanyBusinessData();
if (monthlyIncome != null) {
fnaFormVO.setCompanyBusinessData(GSON.fromJson(monthlyIncome.toString(), CompanyBusinessData.class));
if (fnaForm.getPremiumAffordability() != null) {
fnaFormVO.setPremiumAffordability(GSON.fromJson(fnaForm.getPremiumAffordability().toString(), PremiumAffordability.class));
}
Object other = fnaForm.getOther();
if (other != null) {
fnaFormVO.setOther(GSON.fromJson(other.toString(), FnaFormOther.class));
if (fnaForm.getCompanyBusinessData() != null) {
fnaFormVO.setCompanyBusinessData(GSON.fromJson(fnaForm.getCompanyBusinessData().toString(), CompanyBusinessData.class));
}
return fnaFormVO;
......@@ -212,17 +190,12 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
FnaForm fnaForm = new FnaForm();
fnaForm.setCustomerBizId(fnaFormAddRequest.getCustomerBizId());
fnaForm.setPersonalData(GSON.toJson(fnaFormAddRequest.getPersonalData()));
fnaForm.setTaxList(GSON.toJson(fnaFormAddRequest.getTaxList()));
fnaForm.setFamilyMembers(GSON.toJson(fnaFormAddRequest.getFamilyMembers()));
fnaForm.setBrokerList(GSON.toJson(fnaFormAddRequest.getBrokerList()));
fnaForm.setDependantList(GSON.toJson(fnaFormAddRequest.getDependantList()));
fnaForm.setExistingSecurityOwner(GSON.toJson(fnaFormAddRequest.getExistingSecurityOwner()));
fnaForm.setExistingSecurityInsured(GSON.toJson(fnaFormAddRequest.getExistingSecurityInsured()));
fnaForm.setIncomeExpense(GSON.toJson(fnaFormAddRequest.getIncomeExpense()));
fnaForm.setLiquidAssets(GSON.toJson(fnaFormAddRequest.getLiquidAssets()));
fnaForm.setPrimaryResidence(GSON.toJson(fnaFormAddRequest.getPrimaryResidence()));
fnaForm.setInvestment(GSON.toJson(fnaFormAddRequest.getInvestment()));
fnaForm.setPremiumAffordability(GSON.toJson(fnaFormAddRequest.getPremiumAffordability()));
fnaForm.setCompanyBusinessData(GSON.toJson(fnaFormAddRequest.getCompanyBusinessData()));
fnaForm.setOther(GSON.toJson(fnaFormAddRequest.getOther()));
return fnaForm;
}
......@@ -232,17 +205,12 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
FnaForm fnaForm = new FnaForm();
BeanUtils.copyProperties(fnaFormUpdateRequest, fnaForm);
fnaForm.setPersonalData(GSON.toJson(fnaFormUpdateRequest.getPersonalData()));
fnaForm.setTaxList(GSON.toJson(fnaFormUpdateRequest.getTaxList()));
fnaForm.setFamilyMembers(GSON.toJson(fnaFormUpdateRequest.getFamilyMembers()));
fnaForm.setBrokerList(GSON.toJson(fnaFormUpdateRequest.getBrokerList()));
fnaForm.setDependantList(GSON.toJson(fnaFormUpdateRequest.getDependantList()));
fnaForm.setExistingSecurityOwner(GSON.toJson(fnaFormUpdateRequest.getExistingSecurityOwner()));
fnaForm.setExistingSecurityInsured(GSON.toJson(fnaFormUpdateRequest.getExistingSecurityInsured()));
fnaForm.setIncomeExpense(GSON.toJson(fnaFormUpdateRequest.getIncomeExpense()));
fnaForm.setLiquidAssets(GSON.toJson(fnaFormUpdateRequest.getLiquidAssets()));
fnaForm.setPrimaryResidence(GSON.toJson(fnaFormUpdateRequest.getPrimaryResidence()));
fnaForm.setInvestment(GSON.toJson(fnaFormUpdateRequest.getInvestment()));
fnaForm.setPremiumAffordability(GSON.toJson(fnaFormUpdateRequest.getPremiumAffordability()));
fnaForm.setCompanyBusinessData(GSON.toJson(fnaFormUpdateRequest.getCompanyBusinessData()));
fnaForm.setOther(GSON.toJson(fnaFormUpdateRequest.getOther()));
return fnaForm;
}
......
package com.yd.csf.service.vo;
import cn.hutool.json.JSONUtil;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.FnaForm;
import io.swagger.v3.oas.annotations.media.Schema;
......@@ -9,12 +7,10 @@ import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* Fna表单视图
*
*/
@Data
public class FnaFormVO implements Serializable {
......@@ -25,12 +21,11 @@ public class FnaFormVO implements Serializable {
private Long id;
/**
* fna唯一业务ID
* fnaForm 业务ID
*/
@Schema(description = "fna唯一业务ID")
@Schema(description = "fnaForm 业务ID")
private String fnaFormBizId;
/**
* 客户唯一业务ID
*/
......@@ -38,22 +33,16 @@ public class FnaFormVO implements Serializable {
private String customerBizId;
/**
* 个人资料
* 介绍人列表
*/
@Schema(description = "个人资料")
private PersonalData personalData;
@Schema(description = "介绍人列表")
private List<BrokerData> brokerList;
/**
* 税务国家列表
* 受供养人列表
*/
@Schema(description = "税务国家列表")
private List<TaxCountry> taxList;
/**
* 家庭状况
*/
@Schema(description = "家庭状况")
private List<FamilyMember> familyMembers;
@Schema(description = "受供养人列表")
private List<DependantData> dependantList;
/**
* 保单持有人个人已有保障
......@@ -62,34 +51,16 @@ public class FnaFormVO implements Serializable {
private List<ExistingSecurity> existingSecurityOwner;
/**
* 受保人个人已有保障
*/
@Schema(description = "受保人个人已有保障")
private List<ExistingSecurity> existingSecurityInsured;
/**
* 收支情况
* 不动产信息
*/
@Schema(description = "收支情况")
private IncomeExpense incomeExpense;
/**
* 流动资产
*/
@Schema(description = "流动资产")
private LiquidAssets liquidAssets;
/**
* 自住用途之房地產
*/
@Schema(description = "自住用途之房地產")
@Schema(description = "不动产信息")
private List<OwnerProperties> primaryResidence;
/**
* 投資房地產
* 保费负担能力评估
*/
@Schema(description = "投資房地產")
private List<InvestmentProperties> investment;
@Schema(description = "保费负担能力评估")
private PremiumAffordability premiumAffordability;
/**
* 公司业务资料
......@@ -98,12 +69,6 @@ public class FnaFormVO implements Serializable {
private CompanyBusinessData companyBusinessData;
/**
* 其他问题
*/
@Schema(description = "Fna表单其他问题")
private FnaFormOther other;
/**
* 封装类转对象
*
* @param fnaFormVO
......
......@@ -7,36 +7,59 @@
<resultMap id="BaseResultMap" type="com.yd.csf.service.model.Customer">
<id property="id" column="id" />
<result property="customerBizId" column="customer_biz_id" />
<result property="customCode" column="custom_code" />
<result property="lastName" column="last_name" />
<result property="firstName" column="first_name" />
<result property="name" column="name" />
<result property="lastNamePinyin" column="last_name_pinyin" />
<result property="firstNamePinyin" column="first_name_pinyin" />
<result property="pinyin" column="pinyin" />
<result property="title" column="title" />
<result property="nameCn" column="name_cn" />
<result property="namePyEn" column="name_py_en" />
<result property="documentType" column="document_type" />
<result property="idNumber" column="id_number" />
<result property="gender" column="gender" />
<result property="birthdate" column="birthdate" />
<result property="abnormal" column="abnormal" />
<result property="birthday" column="birthday" />
<result property="age" column="age" />
<result property="areaCode" column="area_code" />
<result property="phone" column="phone" />
<result property="email" column="email" />
<result property="smoke" column="smoke" />
<result property="smokeQuantity" column="smoke_quantity" />
<result property="companyType" column="company_type" />
<result property="fixedPhone" column="fixed_phone" />
<result property="source" column="source" />
<result property="idType" column="id_type" />
<result property="idCard" column="id_card" />
<result property="idCardAddress" column="id_card_address" />
<result property="passport" column="passport" />
<result property="eepCode" column="eep_code" />
<result property="marriage" column="marriage" />
<result property="nationality" column="nationality" />
<result property="birthplace" column="birthplace" />
<result property="education" column="education" />
<result property="customerExpandBizId" column="customer_expand_biz_id" />
<result property="country" column="country" />
<result property="isOtherCountry" column="is_other_country" />
<result property="taxList" column="tax_list" />
<result property="smokingStatus" column="smoking_status" />
<result property="maritalStatus" column="marital_status" />
<result property="educationLevel" column="education_level" />
<result property="isRetirement" column="is_retirement" />
<result property="retirementAge" column="retirement_age" />
<result property="height" column="height" />
<result property="weight" column="weight" />
<result property="bmi" column="bmi" />
<result property="riskAppetite" column="risk_appetite" />
<result property="dependentsNum" column="dependents_num" />
<result property="mobileCode" column="mobile_code" />
<result property="mobile" column="mobile" />
<result property="residenceMobileCode" column="residence_mobile_code" />
<result property="residenceMobile" column="residence_mobile" />
<result property="landlineCode" column="landline_code" />
<result property="landline" column="landline" />
<result property="email" column="email" />
<result property="certificateAddress" column="certificate_address" />
<result property="mailingAddress" column="mailing_address" />
<result property="residentialAddress" column="residential_address" />
<result property="mailingAddressCode" column="mailing_address_code" />
<result property="employmentStatus" column="employment_status" />
<result property="csName" column="cs_name" />
<result property="industry" column="industry" />
<result property="currentMonthlyIncome" column="current_monthly_income" />
<result property="totalWorkingYears" column="total_working_years" />
<result property="currentTenure" column="current_tenure" />
<result property="position" column="position" />
<result property="companyAddress" column="company_address" />
<result property="companyMobileCode" column="company_mobile_code" />
<result property="companyMobile" column="company_mobile" />
<result property="companyAddressCode" column="company_address_code" />
<result property="monthIncome" column="month_income" />
<result property="monthExpenditure" column="month_expenditure" />
<result property="totalCurrentAssets" column="total_current_assets" />
<result property="totalDebt" column="total_debt" />
<result property="travel" column="travel" />
<result property="exercise" column="exercise" />
<result property="game" column="game" />
<result property="movieDrama" column="movie_drama" />
<result property="delicacy" column="delicacy" />
<result property="addressList" column="address_list" />
<result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" />
<result property="creatorId" column="creator_id" />
......@@ -46,13 +69,17 @@
</resultMap>
<sql id="Base_Column_List">
id,customer_biz_id,custom_code,last_name,first_name,name,
last_name_pinyin,first_name_pinyin,pinyin,title,gender,
birthdate,abnormal,age,area_code,
phone,email,smoke,smoke_quantity,company_type,fixed_phone,
source,id_type,id_card,id_card_address,passport,eep_code,
marriage,birthplace,education,customer_expand_biz_id,country,
remark,is_deleted,creator_id,updater_id,create_time,
update_time
id,customer_biz_id,name_cn,name_py_en,document_type,id_number,
gender,birthday,age,nationality,birthplace,
is_other_country,tax_list,smoking_status,marital_status,education_level,is_retirement,
retirement_age,height,weight,bmi,risk_appetite,
dependents_num,mobile_code,mobile,residence_mobile_code,residence_mobile,
landline_code,landline,email,certificate_address,mailing_address,
residential_address,mailing_address_code,employment_status,cs_name,industry,
current_monthly_income,total_working_years,current_tenure,position,company_address,
company_mobile_code,company_mobile,company_address_code,month_income,month_expenditure,
total_current_assets,total_debt,travel,exercise,game,
movie_drama,delicacy,address_list,remark,is_deleted,
creator_id,updater_id,create_time,update_time
</sql>
</mapper>
......@@ -10,6 +10,8 @@
<result property="userBizId" column="user_biz_id" />
<result property="agentBizId" column="agent_biz_id" />
<result property="customerBizId" column="customer_biz_id" />
<result property="brokerList" column="broker_list" />
<result property="dependantList" column="dependant_list" />
<result property="personalData" column="personal_data" />
<result property="taxList" column="tax_list" />
<result property="familyMembers" column="family_members" />
......@@ -19,6 +21,7 @@
<result property="liquidAssets" column="liquid_assets" />
<result property="primaryResidence" column="primary_residence" />
<result property="investment" column="investment" />
<result property="premiumAffordability" column="premium_affordability" />
<result property="companyBusinessData" column="company_business_data" />
<result property="other" column="other" />
<result property="fnaFormStatus" column="fna_form_status" />
......@@ -31,9 +34,9 @@
</resultMap>
<sql id="Base_Column_List">
id,fna_form_biz_id,user_biz_id,agent_biz_id,customer_biz_id,personal_data,tax_list,
id,fna_form_biz_id,user_biz_id,agent_biz_id,customer_biz_id,broker_list,dependant_list,personal_data,tax_list,
family_members,existing_security_owner,existing_security_insured,income_expense,liquid_assets,
primary_residence,investment,company_business_data,other,fna_form_status,
primary_residence,investment,premium_affordability,company_business_data,other,fna_form_status,
remark,is_deleted,creator_id,updater_id,create_time,
update_time
</sql>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment