Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
6419a025
Commit
6419a025
authored
Dec 25, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客户表,fna表单表字段修改
parent
e012b252
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1043 additions
and
822 deletions
+1043
-822
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
+3
-2
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaFormController.java
+1
-4
yd-csf-service/src/main/java/com/yd/csf/service/dto/BrokerData.java
+28
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CompanyBusinessData.java
+1
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerAddRequest.java
+189
-147
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerQueryRequest.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerUpdateRequest.java
+195
-128
yd-csf-service/src/main/java/com/yd/csf/service/dto/DependantData.java
+18
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/ExistingSecurity.java
+3
-3
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormAddRequest.java
+29
-23
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormUpdateRequest.java
+11
-42
yd-csf-service/src/main/java/com/yd/csf/service/dto/IncomeExpense.java
+2
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/OwnerProperties.java
+1
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/PremiumAffordability.java
+37
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Customer.java
+170
-64
yd-csf-service/src/main/java/com/yd/csf/service/model/FnaForm.java
+19
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CustomerServiceImpl.java
+28
-122
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaFormServiceImpl.java
+18
-50
yd-csf-service/src/main/java/com/yd/csf/service/vo/CustomerVO.java
+196
-135
yd-csf-service/src/main/java/com/yd/csf/service/vo/FnaFormVO.java
+13
-48
yd-csf-service/src/main/resources/mappers/CustomerMapper.xml
+73
-46
yd-csf-service/src/main/resources/mappers/FnaFormMapper.xml
+5
-2
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
View file @
6419a025
package
com
.
yd
.
csf
.
api
.
controller
;
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.result.Result
;
import
com.yd.csf.service.common.ErrorCode
;
import
com.yd.csf.service.common.ErrorCode
;
...
@@ -103,12 +104,12 @@ public class ApiCustomerController {
...
@@ -103,12 +104,12 @@ public class ApiCustomerController {
@Operation
(
summary
=
"根据 customerBizId 获取客户详情"
)
@Operation
(
summary
=
"根据 customerBizId 获取客户详情"
)
public
Result
<
CustomerVO
>
getCustomerVOByCustomerBizId
(
@RequestParam
(
"customerBizId"
)
String
customerBizId
,
HttpServletRequest
request
)
{
public
Result
<
CustomerVO
>
getCustomerVOByCustomerBizId
(
@RequestParam
(
"customerBizId"
)
String
customerBizId
,
HttpServletRequest
request
)
{
if
(
customerBizId
==
null
)
{
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
);
Customer
customer
=
customerService
.
getByCustomerBizId
(
customerBizId
);
if
(
customer
==
null
)
{
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
());
}
}
// 获取封装类
// 获取封装类
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiFnaFormController.java
View file @
6419a025
...
@@ -58,8 +58,6 @@ public class ApiFnaFormController {
...
@@ -58,8 +58,6 @@ public class ApiFnaFormController {
if
(
StringUtils
.
isBlank
(
saveType
))
{
if
(
StringUtils
.
isBlank
(
saveType
))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"保存方式必传"
);
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"保存方式必传"
);
}
}
// 校验
fnaFormService
.
validFnaFormAdd
(
fnaFormAddRequest
.
getPersonalData
(),
saveType
);
// 转换为数据库实体
// 转换为数据库实体
FnaForm
fnaForm
=
fnaFormService
.
getFnaForm
(
fnaFormAddRequest
);
FnaForm
fnaForm
=
fnaFormService
.
getFnaForm
(
fnaFormAddRequest
);
...
@@ -137,8 +135,7 @@ public class ApiFnaFormController {
...
@@ -137,8 +135,7 @@ public class ApiFnaFormController {
if
(
oldFna
==
null
)
{
if
(
oldFna
==
null
)
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
}
// 校验
fnaFormService
.
validFnaFormAdd
(
fnaUpdateRequest
.
getPersonalData
(),
saveType
);
// 转换为数据库实体
// 转换为数据库实体
FnaForm
fnaForm
=
fnaFormService
.
getFnaForm
(
fnaUpdateRequest
);
FnaForm
fnaForm
=
fnaFormService
.
getFnaForm
(
fnaUpdateRequest
);
BeanUtils
.
copyProperties
(
fnaForm
,
oldFna
,
"id"
,
"fnaFormBizId"
,
"userBizId"
,
"agentBizId"
,
"customerBizId"
,
"creatorId"
,
"updaterId"
);
BeanUtils
.
copyProperties
(
fnaForm
,
oldFna
,
"id"
,
"fnaFormBizId"
,
"userBizId"
,
"agentBizId"
,
"customerBizId"
,
"creatorId"
,
"updaterId"
);
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/BrokerData.java
0 → 100644
View file @
6419a025
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
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/CompanyBusinessData.java
View file @
6419a025
...
@@ -7,6 +7,7 @@ import lombok.Data;
...
@@ -7,6 +7,7 @@ import lombok.Data;
public
class
CompanyBusinessData
{
public
class
CompanyBusinessData
{
@Schema
(
description
=
"公司過去兩年平均純利 (HKD)"
)
@Schema
(
description
=
"公司過去兩年平均純利 (HKD)"
)
private
String
averageNetProfit
;
private
String
averageNetProfit
;
@Schema
(
description
=
"公司現時大約的總資產 (HKD)"
)
@Schema
(
description
=
"公司現時大約的總資產 (HKD)"
)
private
String
estimatedTotalAssets
;
private
String
estimatedTotalAssets
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerAddRequest.java
View file @
6419a025
...
@@ -11,291 +11,332 @@ import java.util.List;
...
@@ -11,291 +11,332 @@ import java.util.List;
/**
/**
* 创建customer请求
* 创建customer请求
*
*/
*/
@Data
@Data
public
class
CustomerAddRequest
implements
Serializable
{
public
class
CustomerAddRequest
implements
Serializable
{
/**
* 姓名-中文
*/
@Schema
(
description
=
"姓名-中文"
)
private
String
nameCn
;
/**
* 姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
*/
@Schema
(
description
=
"姓名-(拼音/英文,通过中文自动加载全部大写的拼音)"
)
private
String
namePyEn
;
/**
/**
*
自定义代码
*
证件类型(字典,下拉选择)
*/
*/
// private String customCode;
@Schema
(
description
=
"证件类型(字典,下拉选择)"
)
private
String
documentType
;
/**
/**
*
姓氏
*
证件号码
*/
*/
@Schema
(
description
=
"
姓氏
"
)
@Schema
(
description
=
"
证件号码
"
)
private
String
lastName
;
private
String
idNumber
;
/**
/**
*
名字
*
性别(字典,如果是身份证,自动获取性别和生日)
*/
*/
@Schema
(
description
=
"
名字
"
)
@Schema
(
description
=
"
性别(字典,如果是身份证,自动获取性别和生日)
"
)
private
String
firstName
;
private
String
gender
;
/**
/**
*
姓名
*
出生日期(生日,如果是身份证,自动获取性别和生日)
*/
*/
@Schema
(
description
=
"
姓名
"
)
@Schema
(
description
=
"
出生日期(生日,如果是身份证,自动获取性别和生日)
"
)
private
String
name
;
private
Date
birthday
;
/**
/**
*
姓氏拼音
*
年龄(通过生日自动获取年龄)
*/
*/
@Schema
(
description
=
"
姓氏拼音
"
)
@Schema
(
description
=
"
年龄(通过生日自动获取年龄)
"
)
private
String
lastNamePinyin
;
private
String
age
;
/**
/**
*
名字拼音
*
国籍(下拉选择)
*/
*/
@Schema
(
description
=
"
名字-英文"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
国籍(下拉选择)"
)
private
String
firstNamePinyin
;
private
String
nationality
;
/**
/**
*
拼音全称
*
出生地
*/
*/
@Schema
(
description
=
"
姓名拼音
"
)
@Schema
(
description
=
"
出生地
"
)
private
String
pinyin
;
private
String
birthplace
;
/**
/**
*
称谓
*
是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
*/
@Schema
(
description
=
"
称谓 字典值: csf_customer_title"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)"
)
private
String
title
;
private
String
isOtherCountry
;
/**
/**
*
性别
*
吸烟情况(字典)
*/
*/
@Schema
(
description
=
"
性别 字典值: sys_gender
"
)
@Schema
(
description
=
"
吸烟情况(字典)
"
)
private
Object
gender
;
private
String
smokingStatus
;
/**
/**
*
生日
*
婚姻情况(字典)
*/
*/
@Schema
(
description
=
"
生日
"
)
@Schema
(
description
=
"
婚姻情况(字典)
"
)
private
Date
birthday
;
private
String
maritalStatus
;
/**
/**
*
出生日期
*
教育程度(字典)
*/
*/
@Schema
(
description
=
"
客户出生日期
"
)
@Schema
(
description
=
"
教育程度(字典)
"
)
private
Date
birthdate
;
private
String
educationLevel
;
/**
/**
*
异常信息
*
是否退休(字典)
*/
*/
@Schema
(
description
=
"
客户异常信息
"
)
@Schema
(
description
=
"
是否退休(字典)
"
)
private
String
abnormal
;
private
String
isRetirement
;
/**
/**
*
年龄
*
退休年龄(如已退休,再显示)
*/
*/
@Schema
(
description
=
"
年龄"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
退休年龄(如已退休,再显示)"
)
private
String
a
ge
;
private
String
retirementA
ge
;
/**
/**
*
地区代码
*
身高(CM)
*/
*/
@Schema
(
description
=
"
地区代码
"
)
@Schema
(
description
=
"
身高(CM)
"
)
private
String
areaCode
;
private
String
height
;
/**
/**
*
电话号码
*
体重(KG)
*/
*/
@Schema
(
description
=
"
电话号码"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
体重(KG)"
)
private
String
phone
;
private
String
weight
;
/**
/**
*
电子邮箱
*
BMI指数(根据身高和体重自动计算)
*/
*/
@Schema
(
description
=
"
电子邮箱"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
BMI指数(根据身高和体重自动计算)"
)
private
String
email
;
private
String
bmi
;
/**
/**
*
是否吸烟
*
风险偏好(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
是否吸烟 字典值: sys_no_yes
"
)
@Schema
(
description
=
"
风险偏好(字典,下拉选择)
"
)
private
String
smok
e
;
private
String
riskAppetit
e
;
/**
/**
*
吸烟数量
*
受供养人数目(通过FNA带入)
*/
*/
@Schema
(
description
=
"
吸烟数量
"
)
@Schema
(
description
=
"
受供养人数目(通过FNA带入)
"
)
private
String
smokeQuantity
;
private
Integer
dependentsNum
;
/**
/**
* 行业
* 税务国家列表
*/
@Schema
(
description
=
"税务国家列表"
)
private
List
<
TaxCountry
>
taxList
;
/**
* 移动电话区号
*/
@Schema
(
description
=
"移动电话区号"
)
private
String
mobileCode
;
/**
* 移动电话
*/
@Schema
(
description
=
"移动电话"
)
private
String
mobile
;
/**
* 住宅电话区号
*/
@Schema
(
description
=
"住宅电话区号"
)
private
String
residenceMobileCode
;
/**
* 住宅电话
*/
@Schema
(
description
=
"住宅电话"
)
private
String
residenceMobile
;
/**
* 固定电话区号
*/
*/
@Schema
(
description
=
"
行业"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
固定电话区号"
)
private
String
companyTyp
e
;
private
String
landlineCod
e
;
/**
/**
* 固定电话
* 固定电话
*/
*/
@Schema
(
description
=
"固定电话"
)
@Schema
(
description
=
"固定电话"
)
private
String
fixedPho
ne
;
private
String
landli
ne
;
/**
/**
*
来源
*
邮箱
*/
*/
@Schema
(
description
=
"
客户来源
"
)
@Schema
(
description
=
"
邮箱
"
)
private
String
source
;
private
String
email
;
/**
/**
* 证件
类型
* 证件
地址
*/
*/
@Schema
(
description
=
"证件
类型 字典值: csf_id_type
"
)
@Schema
(
description
=
"证件
地址
"
)
private
String
idType
;
private
String
certificateAddress
;
/**
/**
*
证件号码
*
通讯地址
*/
*/
@Schema
(
description
=
"
证件号码
"
)
@Schema
(
description
=
"
通讯地址
"
)
private
String
idCard
;
private
String
mailingAddress
;
/**
/**
*
身份证地址
*
居住地址(住宅地址)
*/
*/
@Schema
(
description
=
"
身份证地址
"
)
@Schema
(
description
=
"
居住地址(住宅地址)
"
)
private
String
idCard
Address
;
private
String
residential
Address
;
/**
/**
*
护照
号
*
通讯地址邮政编
号
*/
*/
@Schema
(
description
=
"
护照
号"
)
@Schema
(
description
=
"
通讯地址邮政编
号"
)
private
String
passport
;
private
String
mailingAddressCode
;
/**
/**
*
往来港澳通行证号码
*
就业情况(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
往来港澳通行证号码
"
)
@Schema
(
description
=
"
就业情况(字典,下拉选择)
"
)
private
String
e
epCode
;
private
String
e
mploymentStatus
;
/**
/**
*
婚姻状况
*
公司/学校名称
*/
*/
@Schema
(
description
=
"
婚姻状况 字典值: csf_marriage"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
公司/学校名称"
)
private
Object
marriag
e
;
private
String
csNam
e
;
/**
/**
*
出生地
*
行业
*/
*/
@Schema
(
description
=
"
出生地
"
)
@Schema
(
description
=
"
行业
"
)
private
String
birthplace
;
private
String
industry
;
/**
/**
*
教育程度
*
现时每月收入(HKD)
*/
*/
@Schema
(
description
=
"
教育程度 字典值: csf_education"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
现时每月收入(HKD)"
)
private
Object
education
;
private
BigDecimal
currentMonthlyIncome
;
/**
/**
*
国籍 (国家/地区)
*
总工作年期
*/
*/
@Schema
(
description
=
"
国籍 (国家/地区)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
总工作年期"
)
private
String
country
;
private
BigDecimal
totalWorkingYears
;
/**
/**
*
国籍 (国家/地区) 名称
*
受雇于现职年期
*/
*/
@Schema
(
description
=
"
国籍 (国家/地区) 名称
"
)
@Schema
(
description
=
"
受雇于现职年期
"
)
private
String
countryNam
e
;
private
BigDecimal
currentTenur
e
;
// region 客户扩展信息
/**
* 职位
*/
@Schema
(
description
=
"职位"
)
private
String
position
;
/**
/**
*
客户类型
*
公司地址
*/
*/
@Schema
(
description
=
"
客户类型 字典值: csf_customer_type
"
)
@Schema
(
description
=
"
公司地址
"
)
private
Object
customerType
;
private
String
companyAddress
;
/**
/**
*
居住地区代码
*
公司电话区号
*/
*/
@Schema
(
description
=
"
居住地区代码
"
)
@Schema
(
description
=
"
公司电话区号
"
)
private
String
residenceArea
Code
;
private
String
companyMobile
Code
;
/**
/**
*
住宅
电话
*
公司
电话
*/
*/
@Schema
(
description
=
"
住宅
电话"
)
@Schema
(
description
=
"
公司
电话"
)
private
String
residenceTelephon
e
;
private
String
companyMobil
e
;
/**
/**
*
是否长期出国
*
公司地址邮政编号
*/
*/
@Schema
(
description
=
"
是否长期出国 字典值: sys_no_yes
"
)
@Schema
(
description
=
"
公司地址邮政编号
"
)
private
String
longtimeAbroad
;
private
String
companyAddressCode
;
/**
/**
*
地址
*
平均每月收入(HKD)
*/
*/
@Schema
(
description
=
"
地址列表
"
)
@Schema
(
description
=
"
平均每月收入(HKD)
"
)
private
List
<
AddressVO
>
addressList
;
private
BigDecimal
monthIncome
;
/**
/**
*
居住地址
*
平均每月支出(HKD)
*/
*/
// private AddressVO residenceAddress;
@Schema
(
description
=
"平均每月支出(HKD)"
)
//
private
BigDecimal
monthExpenditure
;
// /**
// * 住宅地址
// */
// private AddressVO residentialAddress;
//
// /**
// * 邮寄地址
// */
// private AddressVO mailingAddress;
//
// /**
// * 公司地址
// */
// private AddressVO companyAddress;
/**
/**
*
公司名称
*
总流动资产(HKD)
*/
*/
@Schema
(
description
=
"
公司名称
"
)
@Schema
(
description
=
"
总流动资产(HKD)
"
)
private
String
companyName
;
private
BigDecimal
totalCurrentAssets
;
/**
/**
*
公司地区代码
*
总负债额(HKD)
*/
*/
@Schema
(
description
=
"
公司地区代码
"
)
@Schema
(
description
=
"
总负债额(HKD)
"
)
private
String
companyAreaCode
;
private
BigDecimal
totalDebt
;
/**
/**
*
公司地址邮政编码
*
旅行(字典)
*/
*/
@Schema
(
description
=
"
公司地址邮政编码
"
)
@Schema
(
description
=
"
旅行(字典)
"
)
private
String
companyAddressPostcode
;
private
String
travel
;
/**
/**
*
公司电话
*
运动(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
公司电话
"
)
@Schema
(
description
=
"
运动(字典,下拉选择)
"
)
private
String
companyTelephon
e
;
private
String
exercis
e
;
/**
/**
*
职位
*
游戏(字典,下拉选择)
*/
*/
@Schema
(
description
=
"职位"
)
@Schema
(
description
=
"游戏(字典,下拉选择)"
)
private
String
position
;
private
String
game
;
/**
* 电影/戏剧(字典,下拉选择)
*/
@Schema
(
description
=
"电影/戏剧(字典,下拉选择)"
)
private
String
movieDrama
;
/**
/**
*
工作年限
*
美食(输入)
*/
*/
@Schema
(
description
=
"
工作年限
"
)
@Schema
(
description
=
"
美食(输入)
"
)
private
String
workYear
;
private
String
delicacy
;
/**
/**
*
薪资
*
地址列表(json串)
*/
*/
@Schema
(
description
=
"
薪资
"
)
@Schema
(
description
=
"
地址列表
"
)
private
BigDecimal
salary
;
private
List
<
AddressVO
>
addressList
;
// endregion
/**
* 通用备注
*/
@Schema
(
description
=
"通用备注"
)
private
String
remark
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerQueryRequest.java
View file @
6419a025
...
@@ -22,13 +22,13 @@ public class CustomerQueryRequest extends PageDto implements Serializable {
...
@@ -22,13 +22,13 @@ public class CustomerQueryRequest extends PageDto implements Serializable {
private
String
name
;
private
String
name
;
/**
/**
*
标题
*
手机号
*/
*/
@Schema
(
description
=
"手机号"
)
@Schema
(
description
=
"手机号"
)
private
String
phon
e
;
private
String
mobil
e
;
/**
/**
*
内容
*
邮箱
*/
*/
@Schema
(
description
=
"邮箱"
)
@Schema
(
description
=
"邮箱"
)
private
String
email
;
private
String
email
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/CustomerUpdateRequest.java
View file @
6419a025
...
@@ -11,11 +11,9 @@ import java.util.List;
...
@@ -11,11 +11,9 @@ import java.util.List;
/**
/**
* 更新customer请求
* 更新customer请求
*
*/
*/
@Data
@Data
public
class
CustomerUpdateRequest
implements
Serializable
{
public
class
CustomerUpdateRequest
implements
Serializable
{
/**
/**
* 客户主表业务唯一id
* 客户主表业务唯一id
*/
*/
...
@@ -23,260 +21,328 @@ public class CustomerUpdateRequest implements Serializable {
...
@@ -23,260 +21,328 @@ public class CustomerUpdateRequest implements Serializable {
private
String
customerBizId
;
private
String
customerBizId
;
/**
/**
* 姓
氏
* 姓
名-中文
*/
*/
@Schema
(
description
=
"姓
氏
"
)
@Schema
(
description
=
"姓
名-中文
"
)
private
String
lastName
;
private
String
nameCn
;
/**
/**
*
名字
*
姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
*/
*/
@Schema
(
description
=
"
名字
"
)
@Schema
(
description
=
"
姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
"
)
private
String
firstName
;
private
String
namePyEn
;
/**
/**
*
姓名
*
证件类型(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
姓名
"
)
@Schema
(
description
=
"
证件类型(字典,下拉选择)
"
)
private
String
nam
e
;
private
String
documentTyp
e
;
/**
/**
*
姓氏拼音
*
证件号码
*/
*/
@Schema
(
description
=
"
姓氏拼音
"
)
@Schema
(
description
=
"
证件号码
"
)
private
String
lastNamePinyin
;
private
String
idNumber
;
/**
/**
*
名字拼音
*
性别(字典,如果是身份证,自动获取性别和生日)
*/
*/
@Schema
(
description
=
"
名字-英文"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
性别(字典,如果是身份证,自动获取性别和生日)"
)
private
String
firstNamePinyin
;
private
String
gender
;
/**
/**
*
拼音全称
*
出生日期(生日,如果是身份证,自动获取性别和生日)
*/
*/
@Schema
(
description
=
"
姓名拼音
"
)
@Schema
(
description
=
"
出生日期(生日,如果是身份证,自动获取性别和生日)
"
)
private
String
pinyin
;
private
Date
birthday
;
/**
/**
*
称谓
*
年龄(通过生日自动获取年龄)
*/
*/
@Schema
(
description
=
"
称谓 字典值: csf_customer_title"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
年龄(通过生日自动获取年龄)"
)
private
String
titl
e
;
private
String
ag
e
;
/**
/**
*
性别
*
国籍(下拉选择)
*/
*/
@Schema
(
description
=
"
性别 字典值: sys_gender
"
)
@Schema
(
description
=
"
国籍(下拉选择)
"
)
private
Object
gender
;
private
String
nationality
;
/**
/**
*
生日
*
出生地
*/
*/
@Schema
(
description
=
"
生日
"
)
@Schema
(
description
=
"
出生地
"
)
private
Date
birthday
;
private
String
birthplace
;
/**
/**
*
出生日期
*
是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
*/
@Schema
(
description
=
"
客户出生日期
"
)
@Schema
(
description
=
"
是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
"
)
private
Date
birthdate
;
private
String
isOtherCountry
;
/**
/**
*
异常信息
*
税务国家列表
*/
*/
@Schema
(
description
=
"
客户异常信息
"
)
@Schema
(
description
=
"
税务国家列表
"
)
private
String
abnormal
;
private
List
<
TaxCountry
>
taxList
;
/**
/**
*
年龄
*
吸烟情况(字典)
*/
*/
@Schema
(
description
=
"
年龄"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
吸烟情况(字典)"
)
private
String
age
;
private
String
smokingStatus
;
/**
/**
*
地区代码
*
婚姻情况(字典)
*/
*/
@Schema
(
description
=
"
地区代码
"
)
@Schema
(
description
=
"
婚姻情况(字典)
"
)
private
String
areaCode
;
private
String
maritalStatus
;
/**
/**
*
电话号码
*
教育程度(字典)
*/
*/
@Schema
(
description
=
"
电话号码"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
教育程度(字典)"
)
private
String
phone
;
private
String
educationLevel
;
/**
/**
*
电子邮箱
*
是否退休(字典)
*/
*/
@Schema
(
description
=
"
电子邮箱"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
是否退休(字典)"
)
private
String
email
;
private
String
isRetirement
;
/**
/**
*
是否吸烟
*
退休年龄(如已退休,再显示)
*/
*/
@Schema
(
description
=
"
是否吸烟 字典值: sys_no_yes
"
)
@Schema
(
description
=
"
退休年龄(如已退休,再显示)
"
)
private
String
smok
e
;
private
String
retirementAg
e
;
/**
/**
*
吸烟数量
*
身高(CM)
*/
*/
@Schema
(
description
=
"
吸烟数量
"
)
@Schema
(
description
=
"
身高(CM)
"
)
private
String
smokeQuantity
;
private
String
height
;
/**
/**
*
行业
*
体重(KG)
*/
*/
@Schema
(
description
=
"
行业"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
体重(KG)"
)
private
String
companyType
;
private
String
weight
;
/**
/**
*
固定电话
*
BMI指数(根据身高和体重自动计算)
*/
*/
@Schema
(
description
=
"
固定电话
"
)
@Schema
(
description
=
"
BMI指数(根据身高和体重自动计算)
"
)
private
String
fixedPhone
;
private
String
bmi
;
/**
/**
*
来源
*
风险偏好(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
客户来源
"
)
@Schema
(
description
=
"
风险偏好(字典,下拉选择)
"
)
private
String
sourc
e
;
private
String
riskAppetit
e
;
/**
/**
*
证件类型
*
受供养人数目(通过FNA带入)
*/
*/
@Schema
(
description
=
"
证件类型 字典值: csf_id_type
"
)
@Schema
(
description
=
"
受供养人数目(通过FNA带入)
"
)
private
String
idType
;
private
Integer
dependentsNum
;
/**
/**
*
证件号码
*
移动电话区号
*/
*/
@Schema
(
description
=
"
证件号码
"
)
@Schema
(
description
=
"
移动电话区号
"
)
private
String
idCard
;
private
String
mobileCode
;
/**
/**
*
身份证地址
*
移动电话
*/
*/
@Schema
(
description
=
"
身份证地址
"
)
@Schema
(
description
=
"
移动电话
"
)
private
String
idCardAddress
;
private
String
mobile
;
/**
/**
*
护照
号
*
住宅电话区
号
*/
*/
@Schema
(
description
=
"
护照
号"
)
@Schema
(
description
=
"
住宅电话区
号"
)
private
String
passport
;
private
String
residenceMobileCode
;
/**
/**
*
往来港澳通行证号码
*
住宅电话
*/
*/
@Schema
(
description
=
"
往来港澳通行证号码
"
)
@Schema
(
description
=
"
住宅电话
"
)
private
String
eepCod
e
;
private
String
residenceMobil
e
;
/**
/**
*
婚姻状况
*
固定电话区号
*/
*/
@Schema
(
description
=
"
婚姻状况 字典值: csf_marriage"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
固定电话区号"
)
private
Object
marriag
e
;
private
String
landlineCod
e
;
/**
/**
*
出生地
*
固定电话
*/
*/
@Schema
(
description
=
"
出生地
"
)
@Schema
(
description
=
"
固定电话
"
)
private
String
birthplac
e
;
private
String
landlin
e
;
/**
/**
*
教育程度
*
邮箱
*/
*/
@Schema
(
description
=
"
教育程度 字典值: csf_education"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
邮箱"
)
private
Object
education
;
private
String
email
;
/**
/**
*
国籍 (国家/地区)
*
证件地址
*/
*/
@Schema
(
description
=
"
国籍 (国家/地区)"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@Schema
(
description
=
"
证件地址"
)
private
String
c
ountry
;
private
String
c
ertificateAddress
;
/**
/**
*
国籍 (国家/地区) 名称
*
通讯地址
*/
*/
@Schema
(
description
=
"
国籍 (国家/地区) 名称
"
)
@Schema
(
description
=
"
通讯地址
"
)
private
String
countryName
;
private
String
mailingAddress
;
// region 客户扩展信息
/**
* 居住地址(住宅地址)
*/
@Schema
(
description
=
"居住地址(住宅地址)"
)
private
String
residentialAddress
;
/**
/**
*
客户类型
*
通讯地址邮政编号
*/
*/
@Schema
(
description
=
"
客户类型 字典值: csf_customer_type
"
)
@Schema
(
description
=
"
通讯地址邮政编号
"
)
private
Object
customerTyp
e
;
private
String
mailingAddressCod
e
;
/**
/**
*
居住地区代码
*
就业情况(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
居住地区代码
"
)
@Schema
(
description
=
"
就业情况(字典,下拉选择)
"
)
private
String
residenceAreaCode
;
private
String
employmentStatus
;
/**
/**
*
住宅电话
*
公司/学校名称
*/
*/
@Schema
(
description
=
"
住宅电话
"
)
@Schema
(
description
=
"
公司/学校名称
"
)
private
String
residenceTelephon
e
;
private
String
csNam
e
;
/**
/**
*
是否长期出国
*
行业
*/
*/
@Schema
(
description
=
"
是否长期出国 字典值: sys_no_yes
"
)
@Schema
(
description
=
"
行业
"
)
private
String
longtimeAbroad
;
private
String
industry
;
/**
/**
*
地址
*
现时每月收入(HKD)
*/
*/
@Schema
(
description
=
"
地址列表
"
)
@Schema
(
description
=
"
现时每月收入(HKD)
"
)
private
List
<
AddressVO
>
addressList
;
private
BigDecimal
currentMonthlyIncome
;
/**
/**
*
公司名称
*
总工作年期
*/
*/
@Schema
(
description
=
"
公司名称
"
)
@Schema
(
description
=
"
总工作年期
"
)
private
String
companyName
;
private
BigDecimal
totalWorkingYears
;
/**
/**
*
公司地区代码
*
受雇于现职年期
*/
*/
@Schema
(
description
=
"
公司地区代码
"
)
@Schema
(
description
=
"
受雇于现职年期
"
)
private
String
companyAreaCod
e
;
private
BigDecimal
currentTenur
e
;
/**
/**
*
公司地址邮政编码
*
职位
*/
*/
@Schema
(
description
=
"公司地址邮政编码"
)
@Schema
(
description
=
"职位"
)
private
String
companyAddressPostcode
;
private
String
position
;
/**
* 公司地址
*/
@Schema
(
description
=
"公司地址"
)
private
String
companyAddress
;
/**
* 公司电话区号
*/
@Schema
(
description
=
"公司电话区号"
)
private
String
companyMobileCode
;
/**
/**
* 公司电话
* 公司电话
*/
*/
@Schema
(
description
=
"公司电话"
)
@Schema
(
description
=
"公司电话"
)
private
String
company
Telephon
e
;
private
String
company
Mobil
e
;
/**
/**
*
职位
*
公司地址邮政编号
*/
*/
@Schema
(
description
=
"职位"
)
@Schema
(
description
=
"公司地址邮政编号"
)
private
String
position
;
private
String
companyAddressCode
;
/**
* 平均每月收入(HKD)
*/
@Schema
(
description
=
"平均每月收入(HKD)"
)
private
BigDecimal
monthIncome
;
/**
/**
*
工作年限
*
平均每月支出(HKD)
*/
*/
@Schema
(
description
=
"
工作年限
"
)
@Schema
(
description
=
"
平均每月支出(HKD)
"
)
private
String
workYear
;
private
BigDecimal
monthExpenditure
;
/**
/**
*
薪资
*
总流动资产(HKD)
*/
*/
@Schema
(
description
=
"
薪资
"
)
@Schema
(
description
=
"
总流动资产(HKD)
"
)
private
BigDecimal
salary
;
private
BigDecimal
totalCurrentAssets
;
// endregion
/**
* 总负债额(HKD)
*/
@Schema
(
description
=
"总负债额(HKD)"
)
private
BigDecimal
totalDebt
;
/**
* 旅行(字典)
*/
@Schema
(
description
=
"旅行(字典)"
)
private
String
travel
;
/**
* 运动(字典,下拉选择)
*/
@Schema
(
description
=
"运动(字典,下拉选择)"
)
private
String
exercise
;
/**
* 游戏(字典,下拉选择)
*/
@Schema
(
description
=
"游戏(字典,下拉选择)"
)
private
String
game
;
/**
* 电影/戏剧(字典,下拉选择)
*/
@Schema
(
description
=
"电影/戏剧(字典,下拉选择)"
)
private
String
movieDrama
;
/**
* 美食(输入)
*/
@Schema
(
description
=
"美食(输入)"
)
private
String
delicacy
;
/**
* 地址列表(json串)
*/
@Schema
(
description
=
"地址列表"
)
private
List
<
AddressVO
>
addressList
;
/**
* 通用备注
*/
@Schema
(
description
=
"通用备注"
)
private
String
remark
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/DependantData.java
0 → 100644
View file @
6419a025
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
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/ExistingSecurity.java
View file @
6419a025
...
@@ -4,16 +4,16 @@ import io.swagger.v3.oas.annotations.media.Schema;
...
@@ -4,16 +4,16 @@ import io.swagger.v3.oas.annotations.media.Schema;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
@Schema
(
description
=
"
个人已有保障
"
)
@Schema
(
description
=
"
已生效仍在缴费期的保单情况
"
)
public
class
ExistingSecurity
{
public
class
ExistingSecurity
{
@Schema
(
description
=
"保险公司"
)
@Schema
(
description
=
"保险公司"
)
private
String
insurer
;
private
String
insurer
;
@Schema
(
description
=
"保障类型"
)
@Schema
(
description
=
"保障类型"
)
private
String
insuranceType
;
private
String
insuranceType
;
@Schema
(
description
=
"
保额
"
)
@Schema
(
description
=
"
年缴保费/保额(重疾险)
"
)
private
String
sumInsured
;
private
String
sumInsured
;
@Schema
(
description
=
"币种"
)
@Schema
(
description
=
"币种"
)
private
String
currency
;
private
String
currency
;
@Schema
(
description
=
"
保单签发
日期"
)
@Schema
(
description
=
"
投保
日期"
)
private
String
policyIssueDate
;
private
String
policyIssueDate
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormAddRequest.java
View file @
6419a025
...
@@ -8,7 +8,6 @@ import java.util.List;
...
@@ -8,7 +8,6 @@ import java.util.List;
/**
/**
* 创建Fna表单请求
* 创建Fna表单请求
*
*/
*/
@Data
@Data
public
class
FnaFormAddRequest
implements
Serializable
{
public
class
FnaFormAddRequest
implements
Serializable
{
...
@@ -25,23 +24,23 @@ public class FnaFormAddRequest implements Serializable {
...
@@ -25,23 +24,23 @@ public class FnaFormAddRequest implements Serializable {
@Schema
(
description
=
"客户唯一业务ID"
)
@Schema
(
description
=
"客户唯一业务ID"
)
private
String
customerBizId
;
private
String
customerBizId
;
/**
// @Schema(description = "个人资料")
* 个人资料
// private PersonalData personalData;
*/
@Schema
(
description
=
"个人资料"
)
private
PersonalData
personalData
;
/**
/**
*
税务国家
列表
*
介绍人
列表
*/
*/
@Schema
(
description
=
"
税务国家
列表"
)
@Schema
(
description
=
"
介绍人
列表"
)
private
List
<
TaxCountry
>
tax
List
;
private
List
<
BrokerData
>
broker
List
;
/**
/**
*
家庭状况
*
受供养人列表
*/
*/
@Schema
(
description
=
"家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)"
)
@Schema
(
description
=
"受供养人列表"
)
private
List
<
FamilyMember
>
familyMembers
;
private
List
<
DependantData
>
dependantList
;
// @Schema(description = "家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)")
// private List<FamilyMember> familyMembers;
/**
/**
* 保单持有人个人已有保障
* 保单持有人个人已有保障
...
@@ -51,31 +50,37 @@ public class FnaFormAddRequest implements Serializable {
...
@@ -51,31 +50,37 @@ public class FnaFormAddRequest implements Serializable {
/**
/**
* 受保人个人已有保障
* 受保人个人已有保障
*/
*/
private
List
<
ExistingSecurity
>
existingSecurityInsured
;
//
private List<ExistingSecurity> existingSecurityInsured;
/**
/**
* 收支情况
* 收支情况
*/
*/
@Schema
(
description
=
"收支情况"
)
//
@Schema(description = "收支情况")
private
IncomeExpense
incomeExpense
;
//
private IncomeExpense incomeExpense;
/**
/**
* 流动资产
* 流动资产
*/
*/
@Schema
(
description
=
"流动资产"
)
//
@Schema(description = "流动资产")
private
LiquidAssets
liquidAssets
;
//
private LiquidAssets liquidAssets;
/**
/**
*
自住用途之房地產
*
不动产信息
*/
*/
@Schema
(
description
=
"
自住用途之房地產
"
)
@Schema
(
description
=
"
不动产信息
"
)
private
List
<
OwnerProperties
>
primaryResidence
;
private
List
<
OwnerProperties
>
primaryResidence
;
/**
/**
* 保费负担能力评估
*/
@Schema
(
description
=
"保费负担能力评估"
)
private
PremiumAffordability
premiumAffordability
;
/**
* 投資房地產
* 投資房地產
*/
*/
@Schema
(
description
=
"投資房地產"
)
//
@Schema(description = "投資房地產")
private
List
<
InvestmentProperties
>
investment
;
//
private List<InvestmentProperties> investment;
/**
/**
* 公司业务资料
* 公司业务资料
...
@@ -86,8 +91,8 @@ public class FnaFormAddRequest implements Serializable {
...
@@ -86,8 +91,8 @@ public class FnaFormAddRequest implements Serializable {
/**
/**
* 其他问题
* 其他问题
*/
*/
@Schema
(
description
=
"Fna表单其他问题"
)
//
@Schema(description = "Fna表单其他问题")
private
FnaFormOther
other
;
//
private FnaFormOther other;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/FnaFormUpdateRequest.java
View file @
6419a025
...
@@ -8,7 +8,6 @@ import java.util.List;
...
@@ -8,7 +8,6 @@ import java.util.List;
/**
/**
* 更新Fna表单请求
* 更新Fna表单请求
*
*/
*/
@Data
@Data
public
class
FnaFormUpdateRequest
implements
Serializable
{
public
class
FnaFormUpdateRequest
implements
Serializable
{
...
@@ -31,22 +30,16 @@ public class FnaFormUpdateRequest implements Serializable {
...
@@ -31,22 +30,16 @@ public class FnaFormUpdateRequest implements Serializable {
private
String
customerBizId
;
private
String
customerBizId
;
/**
/**
*
个人资料
*
介绍人列表
*/
*/
@Schema
(
description
=
"个人资料"
)
@Schema
(
description
=
"介绍人列表"
)
private
PersonalData
personalData
;
private
List
<
BrokerData
>
brokerList
;
/**
* 税务国家列表
*/
@Schema
(
description
=
"税务国家列表"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
List
<
TaxCountry
>
taxList
;
/**
/**
*
家庭状况
*
受供养人列表
*/
*/
@Schema
(
description
=
"
家庭状况(父亲-father/母亲-mother/配偶-spouse/子女-children)
"
)
@Schema
(
description
=
"
受供养人列表
"
)
private
List
<
FamilyMember
>
familyMembers
;
private
List
<
DependantData
>
dependantList
;
/**
/**
* 保单持有人个人已有保障
* 保单持有人个人已有保障
...
@@ -54,33 +47,16 @@ public class FnaFormUpdateRequest implements Serializable {
...
@@ -54,33 +47,16 @@ public class FnaFormUpdateRequest implements Serializable {
private
List
<
ExistingSecurity
>
existingSecurityOwner
;
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
;
private
List
<
OwnerProperties
>
primaryResidence
;
/**
/**
*
投資房地產
*
保费负担能力评估
*/
*/
@Schema
(
description
=
"
投資房地產
"
)
@Schema
(
description
=
"
保费负担能力评估
"
)
private
List
<
InvestmentProperties
>
investment
;
private
String
premiumAffordability
;
/**
/**
* 公司业务资料
* 公司业务资料
...
@@ -88,11 +64,5 @@ public class FnaFormUpdateRequest implements Serializable {
...
@@ -88,11 +64,5 @@ public class FnaFormUpdateRequest implements Serializable {
@Schema
(
description
=
"公司业务资料"
)
@Schema
(
description
=
"公司业务资料"
)
private
CompanyBusinessData
companyBusinessData
;
private
CompanyBusinessData
companyBusinessData
;
/**
* 其他问题
*/
@Schema
(
description
=
"Fna表单其他问题"
)
private
FnaFormOther
other
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/dto/IncomeExpense.java
View file @
6419a025
...
@@ -8,12 +8,12 @@ public class IncomeExpense {
...
@@ -8,12 +8,12 @@ public class IncomeExpense {
/**
/**
* 平均月收入
* 平均月收入
*/
*/
@Schema
(
description
=
"在过去
24
个月里,你从所有所得的收入来源所得的平均每月收入为?(包括薪金、花红、佣金、其他薪酬红利、银行存款利息、债券利息及股息等"
)
@Schema
(
description
=
"在过去
12
个月里,你从所有所得的收入来源所得的平均每月收入为?(包括薪金、花红、佣金、其他薪酬红利、银行存款利息、债券利息及股息等"
)
private
String
monthlyIncome
;
private
String
monthlyIncome
;
/**
/**
* 平均月支出
* 平均月支出
*/
*/
@Schema
(
description
=
"过去
24
个月每月里,你每月的平均开支为?"
)
@Schema
(
description
=
"过去
12
个月每月里,你每月的平均开支为?"
)
private
String
monthlyExpense
;
private
String
monthlyExpense
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/OwnerProperties.java
View file @
6419a025
...
@@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
...
@@ -4,7 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import
lombok.Data
;
import
lombok.Data
;
@Data
@Data
@Schema
(
description
=
"
自住用途之房地產
"
)
@Schema
(
description
=
"
不动产信息
"
)
public
class
OwnerProperties
{
public
class
OwnerProperties
{
@Schema
(
description
=
"地址"
)
@Schema
(
description
=
"地址"
)
private
String
address
;
private
String
address
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PremiumAffordability.java
0 → 100644
View file @
6419a025
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
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Customer.java
View file @
6419a025
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -27,164 +28,269 @@ public class Customer implements Serializable {
...
@@ -27,164 +28,269 @@ public class Customer implements Serializable {
private
String
customerBizId
;
private
String
customerBizId
;
/**
/**
*
用户业务ID
*
姓名-中文
*/
*/
private
String
userBizId
;
private
String
nameCn
;
/**
/**
*
自定义代码
*
姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
*/
*/
private
String
customCode
;
private
String
namePyEn
;
/**
/**
*
姓氏
*
证件类型(字典,下拉选择)
*/
*/
private
String
lastNam
e
;
private
String
documentTyp
e
;
/**
/**
*
名字
*
证件号码
*/
*/
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
titl
e
;
private
String
birthplac
e
;
/**
/**
* 性别
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
private
String
isOtherCountry
;
/**
* 税务国家列表
*/
*/
private
Object
gender
;
private
Object
taxList
;
/**
/**
*
出生日期
*
吸烟情况(字典)
*/
*/
private
Date
birthdate
;
private
String
smokingStatus
;
/**
/**
*
异常信息
*
婚姻情况(字典)
*/
*/
private
String
abnormal
;
private
String
maritalStatus
;
/**
/**
*
年龄
*
教育程度(字典)
*/
*/
private
String
age
;
private
String
educationLevel
;
/**
/**
*
地区代码
*
是否退休(字典)
*/
*/
private
String
areaCode
;
private
String
isRetirement
;
/**
/**
*
电话号码
*
退休年龄(如已退休,再显示)
*/
*/
private
String
phon
e
;
private
String
retirementAg
e
;
/**
/**
*
电子邮箱
*
身高(CM)
*/
*/
private
String
email
;
private
String
height
;
/**
* 体重(KG)
*/
private
String
weight
;
/**
* BMI指数(根据身高和体重自动计算)
*/
private
String
bmi
;
/**
* 风险偏好(字典,下拉选择)
*/
private
String
riskAppetite
;
/**
* 受供养人数目(通过FNA带入)
*/
private
Integer
dependentsNum
;
/**
* 移动电话区号
*/
private
String
mobileCode
;
/**
/**
*
是否吸烟
*
移动电话
*/
*/
private
String
smok
e
;
private
String
mobil
e
;
/**
/**
*
吸烟数量
*
住宅电话区号
*/
*/
private
String
smokeQuantity
;
private
String
residenceMobileCode
;
/**
/**
*
公司类型
*
住宅电话
*/
*/
private
String
companyType
;
private
String
residenceMobile
;
/**
* 固定电话区号
*/
private
String
landlineCode
;
/**
/**
* 固定电话
* 固定电话
*/
*/
private
String
fixedPho
ne
;
private
String
landli
ne
;
/**
/**
*
来源
*
邮箱
*/
*/
private
String
source
;
private
String
email
;
/**
/**
* 证件
类型
* 证件
地址
*/
*/
private
String
idType
;
private
String
certificateAddress
;
/**
/**
*
证件号码
*
通讯地址
*/
*/
private
String
idCard
;
private
String
mailingAddress
;
/**
/**
*
身份证地址
*
居住地址(住宅地址)
*/
*/
private
String
idCard
Address
;
private
String
residential
Address
;
/**
/**
*
护照
号
*
通讯地址邮政编
号
*/
*/
private
String
passport
;
private
String
mailingAddressCode
;
/**
/**
*
EEP代码
*
就业情况(字典,下拉选择)
*/
*/
private
String
e
epCode
;
private
String
e
mploymentStatus
;
/**
/**
*
婚姻状况
*
公司/学校名称
*/
*/
private
Object
marriag
e
;
private
String
csNam
e
;
/**
/**
*
出生地
*
行业
*/
*/
private
String
birthplace
;
private
String
industry
;
/**
* 现时每月收入(HKD)
*/
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
countr
y
;
private
String
delicac
y
;
/**
/**
*
国家名称
*
地址列表(json串)
*/
*/
private
String
countryName
;
private
String
addressList
;
/**
/**
* 通用备注
* 通用备注
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/FnaForm.java
View file @
6419a025
...
@@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
...
@@ -6,6 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
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
;
import
lombok.Data
;
/**
/**
...
@@ -42,6 +46,16 @@ public class FnaForm implements Serializable {
...
@@ -42,6 +46,16 @@ public class FnaForm implements Serializable {
private
String
customerBizId
;
private
String
customerBizId
;
/**
/**
* 经纪人列表
*/
private
Object
brokerList
;
/**
* 受供养人列表
*/
private
Object
dependantList
;
/**
* 个人资料
* 个人资料
*/
*/
private
Object
personalData
;
private
Object
personalData
;
...
@@ -87,6 +101,11 @@ public class FnaForm implements Serializable {
...
@@ -87,6 +101,11 @@ public class FnaForm implements Serializable {
private
Object
investment
;
private
Object
investment
;
/**
/**
* 保费负担能力评估
*/
private
Object
premiumAffordability
;
/**
* 公司业务资料
* 公司业务资料
*/
*/
private
Object
companyBusinessData
;
private
Object
companyBusinessData
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CustomerServiceImpl.java
View file @
6419a025
...
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
...
@@ -24,12 +23,10 @@ import com.yd.csf.service.service.FnaService;
...
@@ -24,12 +23,10 @@ import com.yd.csf.service.service.FnaService;
import
com.yd.csf.service.utils.ValidateUtil
;
import
com.yd.csf.service.utils.ValidateUtil
;
import
com.yd.csf.service.vo.AddressVO
;
import
com.yd.csf.service.vo.AddressVO
;
import
com.yd.csf.service.vo.CustomerVO
;
import
com.yd.csf.service.vo.CustomerVO
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
...
@@ -47,45 +44,28 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
...
@@ -47,45 +44,28 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
private
final
static
Gson
GSON
=
new
Gson
();
private
final
static
Gson
GSON
=
new
Gson
();
@Resource
@Resource
private
CustomerExpandService
customerExpandService
;
@Resource
private
CustomerService
customerService
;
private
CustomerService
customerService
;
@Resource
@Resource
private
FnaService
fnaService
;
private
FnaService
fnaService
;
@Override
@Override
public
CustomerVO
getCustomerVO
(
Customer
customer
)
{
public
CustomerVO
getCustomerVO
(
Customer
customer
)
{
CustomerVO
customerVO
=
CustomerVO
.
objToVo
(
customer
);
return
CustomerVO
.
objToVo
(
customer
);
// 1. 关联查询扩展信息
CustomerExpand
customerExpand
=
customerExpandService
.
getByCustomerBizId
(
customer
.
getCustomerBizId
());
if
(
customerExpand
!=
null
)
{
BeanUtils
.
copyProperties
(
customerExpand
,
customerVO
);
if
(
ObjectUtils
.
isNotEmpty
(
customerExpand
.
getAddressList
()))
{
List
<
AddressVO
>
addressList
=
GSON
.
fromJson
((
String
)
customerExpand
.
getAddressList
(),
new
TypeToken
<
List
<
AddressVO
>>()
{
}.
getType
());
customerVO
.
setAddressList
(
addressList
);
}
}
return
customerVO
;
}
}
@Override
@Override
public
Wrapper
<
Customer
>
getQueryWrapper
(
CustomerQueryRequest
customerQueryRequest
)
{
public
Wrapper
<
Customer
>
getQueryWrapper
(
CustomerQueryRequest
customerQueryRequest
)
{
QueryWrapper
<
Customer
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
Customer
>
queryWrapper
=
new
QueryWrapper
<>();
String
name
=
customerQueryRequest
.
getName
();
String
name
=
customerQueryRequest
.
getName
();
String
phone
=
customerQueryRequest
.
getPhon
e
();
String
mobile
=
customerQueryRequest
.
getMobil
e
();
String
email
=
customerQueryRequest
.
getEmail
();
String
email
=
customerQueryRequest
.
getEmail
();
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
name
),
"name"
,
name
)
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
name
),
"name
_cn
"
,
name
)
.
or
().
like
(
StringUtils
.
isNotBlank
(
name
),
"
first_name_pinyi
n"
,
name
);
.
or
().
like
(
StringUtils
.
isNotBlank
(
name
),
"
name_py_e
n"
,
name
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
phone
),
"phone"
,
phon
e
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
mobile
),
"mobile"
,
mobil
e
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
email
),
"email"
,
email
);
queryWrapper
.
like
(
StringUtils
.
isNotBlank
(
email
),
"email"
,
email
);
return
queryWrapper
;
return
queryWrapper
;
...
@@ -113,33 +93,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
...
@@ -113,33 +93,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
// 对象列表 => 封装对象列表
// 对象列表 => 封装对象列表
List
<
CustomerVO
>
customerVOList
=
customerList
.
stream
().
map
(
CustomerVO:
:
objToVo
).
collect
(
Collectors
.
toList
());
List
<
CustomerVO
>
customerVOList
=
customerList
.
stream
().
map
(
CustomerVO:
:
objToVo
).
collect
(
Collectors
.
toList
());
// 1. 关联查询扩展信息
Set
<
String
>
customerBizIdSet
=
customerList
.
stream
().
map
(
Customer:
:
getCustomerBizId
).
collect
(
Collectors
.
toSet
());
QueryWrapper
<
CustomerExpand
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
in
(
"customer_biz_id"
,
customerBizIdSet
);
List
<
CustomerExpand
>
customerExpandList
=
customerExpandService
.
list
(
queryWrapper
);
Map
<
String
,
CustomerExpand
>
customerBizIdCustomerExpandListMap
=
customerExpandList
.
stream
()
.
collect
(
Collectors
.
toMap
(
CustomerExpand:
:
getCustomerBizId
,
customerExpand
->
customerExpand
));
// 填充信息
for
(
CustomerVO
customerVO
:
customerVOList
)
{
String
customerBizId
=
customerVO
.
getCustomerBizId
();
CustomerExpand
customerExpand
=
null
;
if
(
customerBizIdCustomerExpandListMap
.
containsKey
(
customerBizId
))
{
customerExpand
=
customerBizIdCustomerExpandListMap
.
get
(
customerBizId
);
}
if
(
customerExpand
!=
null
)
{
BeanUtils
.
copyProperties
(
customerExpand
,
customerVO
);
if
(
ObjectUtils
.
isNotEmpty
(
customerExpand
.
getAddressList
()))
{
List
<
AddressVO
>
addressList
=
GSON
.
fromJson
((
String
)
customerExpand
.
getAddressList
(),
new
TypeToken
<
List
<
AddressVO
>>()
{
}.
getType
());
customerVO
.
setAddressList
(
addressList
);
}
}
}
customerVOPage
.
setRecords
(
customerVOList
);
customerVOPage
.
setRecords
(
customerVOList
);
return
customerVOPage
;
return
customerVOPage
;
}
}
...
@@ -158,17 +111,18 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
...
@@ -158,17 +111,18 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
}
}
// 客户主表信息
// 客户主表信息
Customer
customer
=
new
Customer
();
Customer
customer
=
new
Customer
();
BeanUtils
.
copyProperties
(
customerAddRequest
,
customer
);
BeanUtils
.
copyProperties
(
customerAddRequest
,
customer
,
"addressList"
);
List
<
AddressVO
>
addressList
=
customerAddRequest
.
getAddressList
();
if
(
CollUtil
.
isNotEmpty
(
addressList
))
{
customer
.
setAddressList
(
GSON
.
toJson
(
addressList
));
}
// 税务国家列表
if
(
CollUtil
.
isNotEmpty
(
customerAddRequest
.
getTaxList
()))
{
customer
.
setTaxList
(
GSON
.
toJson
(
customerAddRequest
.
getTaxList
()));
}
// 校验客户主表信息
// 校验客户主表信息
validCustomer
(
customer
);
validCustomer
(
customer
);
// 客户扩展表信息
CustomerExpand
customerExpand
=
customerService
.
getCustomerExpand
(
customerAddRequest
);
// 获取 userBizId
// SecurityUtil.getLoginUser();
// customer.setUserBizId("");
// 客户主表业务唯一id
// 客户主表业务唯一id
customer
.
setCustomerBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
()));
customer
.
setCustomerBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_CUSTOMER
.
getCode
()));
boolean
result
=
customerService
.
save
(
customer
);
boolean
result
=
customerService
.
save
(
customer
);
...
@@ -176,23 +130,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
...
@@ -176,23 +130,6 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
throw
new
BusinessException
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
throw
new
BusinessException
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
}
}
// 客户扩展表信息,非空时,写入数据库
if
(!
ValidateUtil
.
isAllFieldsNull
(
customerAddRequest
))
{
// 主表业务唯一id
customerExpand
.
setCustomerBizId
(
customer
.
getCustomerBizId
());
// 客户扩展表业务唯一id
customerExpand
.
setCustomerExpandBizId
(
RandomStringGenerator
.
generateBizId16
(
"customer_expand"
));
// 写入数据库
boolean
resultExpand
=
customerExpandService
.
save
(
customerExpand
);
if
(!
resultExpand
)
{
throw
new
BusinessException
(
ErrorCode
.
OPERATION_ERROR
.
getCode
(),
ErrorCode
.
OPERATION_ERROR
.
getMessage
());
}
// 更新客户主表
Customer
updateCustomer
=
new
Customer
();
updateCustomer
.
setId
(
customer
.
getId
());
updateCustomer
.
setCustomerExpandBizId
(
customerExpand
.
getCustomerBizId
());
customerService
.
updateById
(
updateCustomer
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"customerBizId"
,
customer
.
getCustomerBizId
());
map
.
put
(
"customerBizId"
,
customer
.
getCustomerBizId
());
return
map
;
return
map
;
...
@@ -200,40 +137,23 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
...
@@ -200,40 +137,23 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
@Override
@Override
public
void
validCustomer
(
Customer
customer
)
{
public
void
validCustomer
(
Customer
customer
)
{
String
firstNamePinyin
=
customer
.
getFirstNamePinyin
();
if
(
StringUtils
.
isBlank
(
customer
.
getNamePyEn
()))
{
if
(
StringUtils
.
isBlank
(
firstNamePinyin
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"名字-英文不能为空"
);
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"名字-英文不能为空"
);
}
}
String
phone
=
customer
.
getPhone
();
if
(
StringUtils
.
isBlank
(
customer
.
getMobile
()))
{
if
(
StringUtils
.
isBlank
(
phone
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"客户手机号不能为空"
);
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"客户手机号不能为空"
);
}
}
String
title
=
customer
.
getTitle
();
if
(
StringUtils
.
isBlank
(
customer
.
getAge
()))
{
if
(
StringUtils
.
isBlank
(
title
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"称谓不能为空"
);
}
String
age
=
customer
.
getAge
();
if
(
StringUtils
.
isBlank
(
age
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"年龄不能为空"
);
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"年龄不能为空"
);
}
}
Object
marriage
=
customer
.
getMarriage
();
if
(
StringUtils
.
isBlank
(
customer
.
getNationality
()))
{
if
(
marriage
==
null
)
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"婚姻状况不能为空"
);
}
String
country
=
customer
.
getCountry
();
if
(
StringUtils
.
isBlank
(
country
))
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"国籍不能为空"
);
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"国籍不能为空"
);
}
}
Object
education
=
customer
.
getEducation
();
if
(
education
==
null
)
{
throw
new
BusinessException
(
ErrorCode
.
PARAMS_ERROR
.
getCode
(),
"教育程度不能为空"
);
}
}
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateCustomer
(
CustomerUpdateRequest
customerUpdateRequest
)
{
public
Boolean
updateCustomer
(
CustomerUpdateRequest
customerUpdateRequest
)
{
// 判断是否存在
// 判断是否存在
String
customerBizId
=
customerUpdateRequest
.
getCustomerBizId
();
String
customerBizId
=
customerUpdateRequest
.
getCustomerBizId
();
Customer
oldCustomer
=
customerService
.
getByCustomerBizId
(
customerBizId
);
Customer
oldCustomer
=
customerService
.
getByCustomerBizId
(
customerBizId
);
...
@@ -242,35 +162,21 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
...
@@ -242,35 +162,21 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer>
}
}
BeanUtils
.
copyProperties
(
customerUpdateRequest
,
oldCustomer
,
"customerBizId"
);
BeanUtils
.
copyProperties
(
customerUpdateRequest
,
oldCustomer
,
"customerBizId"
);
// 税务国家列表
if
(
CollUtil
.
isNotEmpty
(
customerUpdateRequest
.
getTaxList
()))
{
oldCustomer
.
setTaxList
(
GSON
.
toJson
(
customerUpdateRequest
.
getTaxList
()));
}
// 地址列表
if
(
CollUtil
.
isNotEmpty
(
customerUpdateRequest
.
getAddressList
()))
{
oldCustomer
.
setAddressList
(
GSON
.
toJson
(
customerUpdateRequest
.
getAddressList
()));
}
// 数据校验
// 数据校验
customerService
.
validCustomer
(
oldCustomer
);
customerService
.
validCustomer
(
oldCustomer
);
// 更新主表
// 更新主表
boolean
result
=
customerService
.
updateById
(
oldCustomer
);
boolean
result
=
customerService
.
updateById
(
oldCustomer
);
if
(
StringUtils
.
isNotBlank
(
customerUpdateRequest
.
get
FirstNamePinyi
n
()))
{
if
(
StringUtils
.
isNotBlank
(
customerUpdateRequest
.
get
NamePyE
n
()))
{
fnaService
.
updateCustomerNameByCustomerBizId
(
customerUpdateRequest
.
get
FirstNamePinyi
n
(),
customerBizId
);
fnaService
.
updateCustomerNameByCustomerBizId
(
customerUpdateRequest
.
get
NamePyE
n
(),
customerBizId
);
}
}
// 获取扩展表信息
CustomerExpand
customerExpand
=
customerExpandService
.
getByCustomerBizId
(
customerBizId
);
String
addressListJSON
=
null
;
if
(!
CollectionUtils
.
isEmpty
(
customerUpdateRequest
.
getAddressList
()))
{
addressListJSON
=
GSON
.
toJson
(
customerUpdateRequest
.
getAddressList
());
}
if
(
customerExpand
!=
null
)
{
// 更新扩展表
BeanUtils
.
copyProperties
(
customerUpdateRequest
,
customerExpand
,
"customerBizId, customerExpandBizId"
);
customerExpand
.
setAddressList
(
addressListJSON
);
customerExpandService
.
updateById
(
customerExpand
);
}
else
{
// 扩展表不存在,创建扩展表
CustomerExpand
newCustomerExpand
=
new
CustomerExpand
();
BeanUtils
.
copyProperties
(
customerUpdateRequest
,
newCustomerExpand
,
"customerBizId"
);
newCustomerExpand
.
setAddressList
(
addressListJSON
);
newCustomerExpand
.
setCustomerExpandBizId
(
RandomStringGenerator
.
generateBizId16
(
"customer_expand"
));
newCustomerExpand
.
setCustomerBizId
(
customerBizId
);
customerExpandService
.
save
(
newCustomerExpand
);
}
return
true
;
return
true
;
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaFormServiceImpl.java
View file @
6419a025
...
@@ -105,55 +105,33 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
...
@@ -105,55 +105,33 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
// 对象转封装类
// 对象转封装类
FnaFormVO
fnaFormVO
=
FnaFormVO
.
objToVo
(
fnaForm
);
FnaFormVO
fnaFormVO
=
FnaFormVO
.
objToVo
(
fnaForm
);
Object
personalData
=
fnaForm
.
getPersonalData
();
if
(
fnaForm
.
getBrokerList
()
!=
null
)
{
if
(
personalData
!=
null
)
{
fnaFormVO
.
setBrokerList
(
GSON
.
fromJson
(
fnaForm
.
getBrokerList
().
toString
(),
new
TypeToken
<
List
<
BrokerData
>>()
{
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
>>()
{
}.
getType
()));
}.
getType
()));
}
}
Object
familyMembers
=
fnaForm
.
getFamilyMembers
();
if
(
fnaForm
.
getDependantList
()
!=
null
)
{
if
(
familyMembers
!=
null
)
{
fnaFormVO
.
setDependantList
(
GSON
.
fromJson
(
fnaForm
.
getDependantList
().
toString
(),
new
TypeToken
<
List
<
DependantData
>>()
{
fnaFormVO
.
setFamilyMembers
(
GSON
.
fromJson
(
familyMembers
.
toString
(),
new
TypeToken
<
List
<
FamilyMember
>>()
{
}.
getType
()));
}.
getType
()));
}
}
Object
existingSecurityOwner
=
fnaForm
.
getExistingSecurityOwner
();
Object
existingSecurityOwner
=
fnaForm
.
getExistingSecurityOwner
();
if
(
existingSecurityOwner
!=
null
)
{
if
(
existingSecurityOwner
!=
null
)
{
fnaFormVO
.
setExistingSecurityOwner
(
GSON
.
fromJson
(
existingSecurityOwner
.
toString
(),
new
TypeToken
<
List
<
ExistingSecurity
>>()
{
fnaFormVO
.
setExistingSecurityOwner
(
GSON
.
fromJson
(
existingSecurityOwner
.
toString
(),
new
TypeToken
<
List
<
ExistingSecurity
>>()
{
}.
getType
()));
}.
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
();
Object
primaryResidence
=
fnaForm
.
getPrimaryResidence
();
if
(
primaryResidence
!=
null
)
{
if
(
primaryResidence
!=
null
)
{
fnaFormVO
.
setPrimaryResidence
(
GSON
.
fromJson
(
primaryResidence
.
toString
(),
new
TypeToken
<
List
<
OwnerProperties
>>()
{
fnaFormVO
.
setPrimaryResidence
(
GSON
.
fromJson
(
primaryResidence
.
toString
(),
new
TypeToken
<
List
<
OwnerProperties
>>()
{
}.
getType
()));
}.
getType
()));
}
}
Object
investment
=
fnaForm
.
getInvestment
();
if
(
investment
!=
null
)
{
if
(
fnaForm
.
getPremiumAffordability
()
!=
null
)
{
fnaFormVO
.
setInvestment
(
GSON
.
fromJson
(
investment
.
toString
(),
new
TypeToken
<
List
<
InvestmentProperties
>>()
{
fnaFormVO
.
setPremiumAffordability
(
GSON
.
fromJson
(
fnaForm
.
getPremiumAffordability
().
toString
(),
PremiumAffordability
.
class
));
}.
getType
()));
}
Object
monthlyIncome
=
fnaForm
.
getCompanyBusinessData
();
if
(
monthlyIncome
!=
null
)
{
fnaFormVO
.
setCompanyBusinessData
(
GSON
.
fromJson
(
monthlyIncome
.
toString
(),
CompanyBusinessData
.
class
));
}
}
Object
other
=
fnaForm
.
getOther
();
if
(
other
!=
null
)
{
if
(
fnaForm
.
getCompanyBusinessData
()
!=
null
)
{
fnaFormVO
.
set
Other
(
GSON
.
fromJson
(
other
.
toString
(),
FnaFormOther
.
class
));
fnaFormVO
.
set
CompanyBusinessData
(
GSON
.
fromJson
(
fnaForm
.
getCompanyBusinessData
().
toString
(),
CompanyBusinessData
.
class
));
}
}
return
fnaFormVO
;
return
fnaFormVO
;
...
@@ -212,17 +190,12 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
...
@@ -212,17 +190,12 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
FnaForm
fnaForm
=
new
FnaForm
();
FnaForm
fnaForm
=
new
FnaForm
();
fnaForm
.
setCustomerBizId
(
fnaFormAddRequest
.
getCustomerBizId
());
fnaForm
.
setCustomerBizId
(
fnaFormAddRequest
.
getCustomerBizId
());
fnaForm
.
setPersonalData
(
GSON
.
toJson
(
fnaFormAddRequest
.
getPersonalData
()));
fnaForm
.
setBrokerList
(
GSON
.
toJson
(
fnaFormAddRequest
.
getBrokerList
()));
fnaForm
.
setTaxList
(
GSON
.
toJson
(
fnaFormAddRequest
.
getTaxList
()));
fnaForm
.
setDependantList
(
GSON
.
toJson
(
fnaFormAddRequest
.
getDependantList
()));
fnaForm
.
setFamilyMembers
(
GSON
.
toJson
(
fnaFormAddRequest
.
getFamilyMembers
()));
fnaForm
.
setExistingSecurityOwner
(
GSON
.
toJson
(
fnaFormAddRequest
.
getExistingSecurityOwner
()));
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
.
setPrimaryResidence
(
GSON
.
toJson
(
fnaFormAddRequest
.
getPrimaryResidence
()));
fnaForm
.
set
Investment
(
GSON
.
toJson
(
fnaFormAddRequest
.
getInvestment
()));
fnaForm
.
set
PremiumAffordability
(
GSON
.
toJson
(
fnaFormAddRequest
.
getPremiumAffordability
()));
fnaForm
.
setCompanyBusinessData
(
GSON
.
toJson
(
fnaFormAddRequest
.
getCompanyBusinessData
()));
fnaForm
.
setCompanyBusinessData
(
GSON
.
toJson
(
fnaFormAddRequest
.
getCompanyBusinessData
()));
fnaForm
.
setOther
(
GSON
.
toJson
(
fnaFormAddRequest
.
getOther
()));
return
fnaForm
;
return
fnaForm
;
}
}
...
@@ -232,17 +205,12 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
...
@@ -232,17 +205,12 @@ public class FnaFormServiceImpl extends ServiceImpl<FnaFormMapper, FnaForm> impl
FnaForm
fnaForm
=
new
FnaForm
();
FnaForm
fnaForm
=
new
FnaForm
();
BeanUtils
.
copyProperties
(
fnaFormUpdateRequest
,
fnaForm
);
BeanUtils
.
copyProperties
(
fnaFormUpdateRequest
,
fnaForm
);
fnaForm
.
setPersonalData
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getPersonalData
()));
fnaForm
.
setBrokerList
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getBrokerList
()));
fnaForm
.
setTaxList
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getTaxList
()));
fnaForm
.
setDependantList
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getDependantList
()));
fnaForm
.
setFamilyMembers
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getFamilyMembers
()));
fnaForm
.
setExistingSecurityOwner
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getExistingSecurityOwner
()));
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
.
setPrimaryResidence
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getPrimaryResidence
()));
fnaForm
.
set
Investment
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getInvestment
()));
fnaForm
.
set
PremiumAffordability
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getPremiumAffordability
()));
fnaForm
.
setCompanyBusinessData
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getCompanyBusinessData
()));
fnaForm
.
setCompanyBusinessData
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getCompanyBusinessData
()));
fnaForm
.
setOther
(
GSON
.
toJson
(
fnaFormUpdateRequest
.
getOther
()));
return
fnaForm
;
return
fnaForm
;
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/CustomerVO.java
View file @
6419a025
package
com
.
yd
.
csf
.
service
.
vo
;
package
com
.
yd
.
csf
.
service
.
vo
;
import
com.google.gson.reflect.TypeToken
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.utils.GSONUtil
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
java.io.Serializable
;
import
java.io.Serializable
;
...
@@ -12,15 +15,14 @@ import java.util.List;
...
@@ -12,15 +15,14 @@ import java.util.List;
/**
/**
* customer视图
* customer视图
*
*/
*/
@Data
@Data
public
class
CustomerVO
implements
Serializable
{
public
class
CustomerVO
implements
Serializable
{
/**
/**
* id
*
customer
id
*/
*/
@Schema
(
description
=
"id"
)
@Schema
(
description
=
"
customer
id"
)
private
Long
id
;
private
Long
id
;
/**
/**
...
@@ -30,268 +32,322 @@ public class CustomerVO implements Serializable {
...
@@ -30,268 +32,322 @@ public class CustomerVO implements Serializable {
private
String
customerBizId
;
private
String
customerBizId
;
/**
/**
*
自定义代码
*
姓名-中文
*/
*/
@Schema
(
description
=
"
客户自定义代码
"
)
@Schema
(
description
=
"
姓名-中文
"
)
private
String
customCode
;
private
String
nameCn
;
/**
/**
* 姓
氏
* 姓
名-(拼音/英文,通过中文自动加载全部大写的拼音)
*/
*/
@Schema
(
description
=
"
客户姓氏
"
)
@Schema
(
description
=
"
姓名-(拼音/英文,通过中文自动加载全部大写的拼音)
"
)
private
String
lastName
;
private
String
namePyEn
;
/**
/**
*
名字
*
证件类型(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
客户名字
"
)
@Schema
(
description
=
"
证件类型(字典,下拉选择)
"
)
private
String
firstNam
e
;
private
String
documentTyp
e
;
/**
/**
*
姓名
*
证件号码
*/
*/
@Schema
(
description
=
"
客户姓名
"
)
@Schema
(
description
=
"
证件号码
"
)
private
String
name
;
private
String
idNumber
;
/**
/**
*
姓氏拼音
*
性别(字典,如果是身份证,自动获取性别和生日)
*/
*/
@Schema
(
description
=
"
客户姓氏拼音
"
)
@Schema
(
description
=
"
性别(字典,如果是身份证,自动获取性别和生日)
"
)
private
String
lastNamePinyin
;
private
String
gender
;
/**
/**
*
名字拼音
*
出生日期(生日,如果是身份证,自动获取性别和生日)
*/
*/
@Schema
(
description
=
"
客户名字拼音
"
)
@Schema
(
description
=
"
出生日期(生日,如果是身份证,自动获取性别和生日)
"
)
private
String
firstNamePinyin
;
private
Date
birthday
;
/**
/**
*
拼音全称
*
年龄(通过生日自动获取年龄)
*/
*/
@Schema
(
description
=
"
客户拼音全称
"
)
@Schema
(
description
=
"
年龄(通过生日自动获取年龄)
"
)
private
String
pinyin
;
private
String
age
;
/**
/**
*
称谓
*
国籍(下拉选择)
*/
*/
@Schema
(
description
=
"
客户称谓
"
)
@Schema
(
description
=
"
国籍(下拉选择)
"
)
private
String
title
;
private
String
nationality
;
/**
/**
*
性别
*
出生地
*/
*/
@Schema
(
description
=
"
性别
"
)
@Schema
(
description
=
"
出生地
"
)
private
Object
gender
;
private
String
birthplace
;
/**
/**
*
出生日期
*
是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
*/
@Schema
(
description
=
"
出生日期
"
)
@Schema
(
description
=
"
是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
"
)
private
Date
birthdate
;
private
String
isOtherCountry
;
/**
/**
*
异常信息
*
吸烟情况(字典)
*/
*/
@Schema
(
description
=
"
异常信息
"
)
@Schema
(
description
=
"
吸烟情况(字典)
"
)
private
String
abnormal
;
private
String
smokingStatus
;
/**
/**
*
年龄
*
婚姻情况(字典)
*/
*/
@Schema
(
description
=
"
年龄
"
)
@Schema
(
description
=
"
婚姻情况(字典)
"
)
private
String
age
;
private
String
maritalStatus
;
/**
/**
*
地区代码
*
教育程度(字典)
*/
*/
@Schema
(
description
=
"
地区代码
"
)
@Schema
(
description
=
"
教育程度(字典)
"
)
private
String
areaCode
;
private
String
educationLevel
;
/**
/**
*
电话号码
*
是否退休(字典)
*/
*/
@Schema
(
description
=
"
客户电话号码
"
)
@Schema
(
description
=
"
是否退休(字典)
"
)
private
String
phone
;
private
String
isRetirement
;
/**
/**
*
电子邮箱
*
退休年龄(如已退休,再显示)
*/
*/
@Schema
(
description
=
"
客户电子邮箱
"
)
@Schema
(
description
=
"
退休年龄(如已退休,再显示)
"
)
private
String
email
;
private
String
retirementAge
;
/**
/**
*
是否吸烟
*
身高(CM)
*/
*/
@Schema
(
description
=
"
是否吸烟 'NS'-不吸烟 'S'-吸烟
"
)
@Schema
(
description
=
"
身高(CM)
"
)
private
String
smoke
;
private
String
height
;
/**
/**
*
吸烟数量
*
体重(KG)
*/
*/
@Schema
(
description
=
"
吸烟数量
"
)
@Schema
(
description
=
"
体重(KG)
"
)
private
String
smokeQuantity
;
private
String
weight
;
/**
/**
*
公司类型
*
BMI指数(根据身高和体重自动计算)
*/
*/
@Schema
(
description
=
"
公司类型
"
)
@Schema
(
description
=
"
BMI指数(根据身高和体重自动计算)
"
)
private
String
companyType
;
private
String
bmi
;
/**
/**
*
来源
*
风险偏好(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
客户来源
"
)
@Schema
(
description
=
"
风险偏好(字典,下拉选择)
"
)
private
String
sourc
e
;
private
String
riskAppetit
e
;
/**
/**
*
证件类型
*
受供养人数目(通过FNA带入)
*/
*/
@Schema
(
description
=
"
证件类型
"
)
@Schema
(
description
=
"
受供养人数目(通过FNA带入)
"
)
private
String
idType
;
private
Integer
dependentsNum
;
/**
/**
*
证件号码
*
移动电话区号
*/
*/
@Schema
(
description
=
"
证件号码
"
)
@Schema
(
description
=
"
移动电话区号
"
)
private
String
idCard
;
private
String
mobileCode
;
/**
/**
*
身份证地址
*
移动电话
*/
*/
@Schema
(
description
=
"
身份证地址
"
)
@Schema
(
description
=
"
移动电话
"
)
private
String
idCardAddress
;
private
String
mobile
;
/**
/**
*
护照
号
*
住宅电话区
号
*/
*/
@Schema
(
description
=
"
护照
号"
)
@Schema
(
description
=
"
住宅电话区
号"
)
private
String
passport
;
private
String
residenceMobileCode
;
/**
/**
*
往来港澳通行证号码
*
住宅电话
*/
*/
@Schema
(
description
=
"
往来港澳通行证号码
"
)
@Schema
(
description
=
"
住宅电话
"
)
private
String
eepCod
e
;
private
String
residenceMobil
e
;
/**
/**
*
婚姻状况
*
固定电话区号
*/
*/
@Schema
(
description
=
"
婚姻状况
"
)
@Schema
(
description
=
"
固定电话区号
"
)
private
Object
marriag
e
;
private
String
landlineCod
e
;
/**
/**
*
出生地
*
固定电话
*/
*/
@Schema
(
description
=
"
出生地
"
)
@Schema
(
description
=
"
固定电话
"
)
private
String
birthplac
e
;
private
String
landlin
e
;
/**
/**
*
教育程度
*
邮箱
*/
*/
@Schema
(
description
=
"
教育程度
"
)
@Schema
(
description
=
"
邮箱
"
)
private
Object
education
;
private
String
email
;
/**
/**
*
签单用户扩展唯一业务ID
*
证件地址
*/
*/
@Schema
(
description
=
"
客户扩展信息ID
"
)
@Schema
(
description
=
"
证件地址
"
)
private
String
c
ustomerExpandBizId
;
private
String
c
ertificateAddress
;
/**
/**
*
国家
*
通讯地址
*/
*/
@Schema
(
description
=
"
国家
"
)
@Schema
(
description
=
"
通讯地址
"
)
private
String
country
;
private
String
mailingAddress
;
/**
/**
*
国家名称
*
居住地址(住宅地址)
*/
*/
@Schema
(
description
=
"
国家名称
"
)
@Schema
(
description
=
"
居住地址(住宅地址)
"
)
private
String
countryName
;
private
String
residentialAddress
;
/**
/**
*
创建时间
*
通讯地址邮政编号
*/
*/
@Schema
(
description
=
"
创建时间
"
)
@Schema
(
description
=
"
通讯地址邮政编号
"
)
private
Date
createTim
e
;
private
String
mailingAddressCod
e
;
/**
/**
*
固定电话
*
就业情况(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
固定电话
"
)
@Schema
(
description
=
"
就业情况(字典,下拉选择)
"
)
private
String
fixedPhone
;
private
String
employmentStatus
;
/**
/**
*
客户类型
*
公司/学校名称
*/
*/
@Schema
(
description
=
"
客户类型 字典值: csf_customer_type
"
)
@Schema
(
description
=
"
公司/学校名称
"
)
private
String
c
ustomerTyp
e
;
private
String
c
sNam
e
;
/**
/**
*
居住地区代码
*
行业
*/
*/
@Schema
(
description
=
"
居住地区代码
"
)
@Schema
(
description
=
"
行业
"
)
private
String
residenceAreaCode
;
private
String
industry
;
/**
/**
*
住宅电话
*
现时每月收入(HKD)
*/
*/
@Schema
(
description
=
"
住宅电话
"
)
@Schema
(
description
=
"
现时每月收入(HKD)
"
)
private
String
residenceTelephon
e
;
private
BigDecimal
currentMonthlyIncom
e
;
/**
/**
*
是否长期出国
*
总工作年期
*/
*/
@Schema
(
description
=
"
是否长期出国 字典值: sys_no_yes
"
)
@Schema
(
description
=
"
总工作年期
"
)
private
String
longtimeAbroad
;
private
BigDecimal
totalWorkingYears
;
/**
/**
*
地址
*
受雇于现职年期
*/
*/
@Schema
(
description
=
"
地址列表
"
)
@Schema
(
description
=
"
受雇于现职年期
"
)
private
List
<
AddressVO
>
addressList
;
private
BigDecimal
currentTenure
;
/**
/**
*
公司名称
*
职位
*/
*/
@Schema
(
description
=
"
公司名称
"
)
@Schema
(
description
=
"
职位
"
)
private
String
companyName
;
private
String
position
;
/**
/**
* 公司地
区代码
* 公司地
址
*/
*/
@Schema
(
description
=
"公司地
区代码
"
)
@Schema
(
description
=
"公司地
址
"
)
private
String
companyA
reaCode
;
private
String
companyA
ddress
;
/**
/**
* 公司
地址邮政编码
* 公司
电话区号
*/
*/
@Schema
(
description
=
"公司
地址邮政编码
"
)
@Schema
(
description
=
"公司
电话区号
"
)
private
String
company
AddressPostc
ode
;
private
String
company
MobileC
ode
;
/**
/**
* 公司电话
* 公司电话
*/
*/
@Schema
(
description
=
"公司电话"
)
@Schema
(
description
=
"公司电话"
)
private
String
company
Telephon
e
;
private
String
company
Mobil
e
;
/**
/**
*
职位
*
公司地址邮政编号
*/
*/
@Schema
(
description
=
"职位"
)
@Schema
(
description
=
"公司地址邮政编号"
)
private
String
position
;
private
String
companyAddressCode
;
/**
* 平均每月收入(HKD)
*/
@Schema
(
description
=
"平均每月收入(HKD)"
)
private
BigDecimal
monthIncome
;
/**
* 平均每月支出(HKD)
*/
@Schema
(
description
=
"平均每月支出(HKD)"
)
private
BigDecimal
monthExpenditure
;
/**
* 总流动资产(HKD)
*/
@Schema
(
description
=
"总流动资产(HKD)"
)
private
BigDecimal
totalCurrentAssets
;
/**
* 总负债额(HKD)
*/
@Schema
(
description
=
"总负债额(HKD)"
)
private
BigDecimal
totalDebt
;
/**
* 旅行(字典)
*/
@Schema
(
description
=
"旅行(字典)"
)
private
String
travel
;
/**
/**
*
工作年限
*
运动(字典,下拉选择)
*/
*/
@Schema
(
description
=
"
工作年限
"
)
@Schema
(
description
=
"
运动(字典,下拉选择)
"
)
private
String
workYear
;
private
String
exercise
;
/**
/**
*
薪资
*
游戏(字典,下拉选择)
*/
*/
@Schema
(
description
=
"薪资"
)
@Schema
(
description
=
"游戏(字典,下拉选择)"
)
private
BigDecimal
salary
;
private
String
game
;
/**
* 电影/戏剧(字典,下拉选择)
*/
@Schema
(
description
=
"电影/戏剧(字典,下拉选择)"
)
private
String
movieDrama
;
/**
* 美食(输入)
*/
@Schema
(
description
=
"美食(输入)"
)
private
String
delicacy
;
/**
* 地址列表(json串)
*/
@Schema
(
description
=
"地址列表"
)
private
List
<
AddressVO
>
addressList
;
/**
* 通用备注
*/
@Schema
(
description
=
"通用备注"
)
private
String
remark
;
/**
/**
* 封装类转对象
* 封装类转对象
...
@@ -321,6 +377,11 @@ public class CustomerVO implements Serializable {
...
@@ -321,6 +377,11 @@ public class CustomerVO implements Serializable {
}
}
CustomerVO
customerVO
=
new
CustomerVO
();
CustomerVO
customerVO
=
new
CustomerVO
();
BeanUtils
.
copyProperties
(
customer
,
customerVO
);
BeanUtils
.
copyProperties
(
customer
,
customerVO
);
if
(
ObjectUtils
.
isNotEmpty
(
customer
.
getAddressList
()))
{
List
<
AddressVO
>
addressList
=
GSONUtil
.
fromJson
((
String
)
customer
.
getAddressList
(),
new
TypeToken
<
List
<
AddressVO
>>()
{
}.
getType
());
customerVO
.
setAddressList
(
addressList
);
}
return
customerVO
;
return
customerVO
;
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/vo/FnaFormVO.java
View file @
6419a025
package
com
.
yd
.
csf
.
service
.
vo
;
package
com
.
yd
.
csf
.
service
.
vo
;
import
cn.hutool.json.JSONUtil
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.FnaForm
;
import
com.yd.csf.service.model.FnaForm
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
...
@@ -9,12 +7,10 @@ import lombok.Data;
...
@@ -9,12 +7,10 @@ import lombok.Data;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
/**
/**
* Fna表单视图
* Fna表单视图
*
*/
*/
@Data
@Data
public
class
FnaFormVO
implements
Serializable
{
public
class
FnaFormVO
implements
Serializable
{
...
@@ -25,12 +21,11 @@ public class FnaFormVO implements Serializable {
...
@@ -25,12 +21,11 @@ public class FnaFormVO implements Serializable {
private
Long
id
;
private
Long
id
;
/**
/**
* fna
唯一
业务ID
* fna
Form
业务ID
*/
*/
@Schema
(
description
=
"fna
唯一
业务ID"
)
@Schema
(
description
=
"fna
Form
业务ID"
)
private
String
fnaFormBizId
;
private
String
fnaFormBizId
;
/**
/**
* 客户唯一业务ID
* 客户唯一业务ID
*/
*/
...
@@ -38,22 +33,16 @@ public class FnaFormVO implements Serializable {
...
@@ -38,22 +33,16 @@ public class FnaFormVO implements Serializable {
private
String
customerBizId
;
private
String
customerBizId
;
/**
/**
* 个人资料
* 介绍人列表
*/
@Schema
(
description
=
"个人资料"
)
private
PersonalData
personalData
;
/**
* 税务国家列表
*/
*/
@Schema
(
description
=
"
税务国家
列表"
)
@Schema
(
description
=
"
介绍人
列表"
)
private
List
<
TaxCountry
>
tax
List
;
private
List
<
BrokerData
>
broker
List
;
/**
/**
*
家庭状况
*
受供养人列表
*/
*/
@Schema
(
description
=
"
家庭状况
"
)
@Schema
(
description
=
"
受供养人列表
"
)
private
List
<
FamilyMember
>
familyMembers
;
private
List
<
DependantData
>
dependantList
;
/**
/**
* 保单持有人个人已有保障
* 保单持有人个人已有保障
...
@@ -62,34 +51,16 @@ public class FnaFormVO implements Serializable {
...
@@ -62,34 +51,16 @@ public class FnaFormVO implements Serializable {
private
List
<
ExistingSecurity
>
existingSecurityOwner
;
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
;
private
List
<
OwnerProperties
>
primaryResidence
;
/**
/**
*
投資房地產
*
保费负担能力评估
*/
*/
@Schema
(
description
=
"
投資房地產
"
)
@Schema
(
description
=
"
保费负担能力评估
"
)
private
List
<
InvestmentProperties
>
investment
;
private
PremiumAffordability
premiumAffordability
;
/**
/**
* 公司业务资料
* 公司业务资料
...
@@ -98,12 +69,6 @@ public class FnaFormVO implements Serializable {
...
@@ -98,12 +69,6 @@ public class FnaFormVO implements Serializable {
private
CompanyBusinessData
companyBusinessData
;
private
CompanyBusinessData
companyBusinessData
;
/**
/**
* 其他问题
*/
@Schema
(
description
=
"Fna表单其他问题"
)
private
FnaFormOther
other
;
/**
* 封装类转对象
* 封装类转对象
*
*
* @param fnaFormVO
* @param fnaFormVO
...
...
yd-csf-service/src/main/resources/mappers/CustomerMapper.xml
View file @
6419a025
...
@@ -5,54 +5,81 @@
...
@@ -5,54 +5,81 @@
<mapper
namespace=
"com.yd.csf.service.dao.CustomerMapper"
>
<mapper
namespace=
"com.yd.csf.service.dao.CustomerMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yd.csf.service.model.Customer"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yd.csf.service.model.Customer"
>
<id
property=
"id"
column=
"id"
/>
<id
property=
"id"
column=
"id"
/>
<result
property=
"customerBizId"
column=
"customer_biz_id"
/>
<result
property=
"customerBizId"
column=
"customer_biz_id"
/>
<result
property=
"customCode"
column=
"custom_code"
/>
<result
property=
"nameCn"
column=
"name_cn"
/>
<result
property=
"lastName"
column=
"last_name"
/>
<result
property=
"namePyEn"
column=
"name_py_en"
/>
<result
property=
"firstName"
column=
"first_name"
/>
<result
property=
"documentType"
column=
"document_type"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"idNumber"
column=
"id_number"
/>
<result
property=
"lastNamePinyin"
column=
"last_name_pinyin"
/>
<result
property=
"gender"
column=
"gender"
/>
<result
property=
"firstNamePinyin"
column=
"first_name_pinyin"
/>
<result
property=
"birthday"
column=
"birthday"
/>
<result
property=
"pinyin"
column=
"pinyin"
/>
<result
property=
"age"
column=
"age"
/>
<result
property=
"title"
column=
"title"
/>
<result
property=
"nationality"
column=
"nationality"
/>
<result
property=
"gender"
column=
"gender"
/>
<result
property=
"birthplace"
column=
"birthplace"
/>
<result
property=
"birthdate"
column=
"birthdate"
/>
<result
property=
"isOtherCountry"
column=
"is_other_country"
/>
<result
property=
"abnormal"
column=
"abnormal"
/>
<result
property=
"taxList"
column=
"tax_list"
/>
<result
property=
"age"
column=
"age"
/>
<result
property=
"smokingStatus"
column=
"smoking_status"
/>
<result
property=
"areaCode"
column=
"area_code"
/>
<result
property=
"maritalStatus"
column=
"marital_status"
/>
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"educationLevel"
column=
"education_level"
/>
<result
property=
"email"
column=
"email"
/>
<result
property=
"isRetirement"
column=
"is_retirement"
/>
<result
property=
"smoke"
column=
"smoke"
/>
<result
property=
"retirementAge"
column=
"retirement_age"
/>
<result
property=
"smokeQuantity"
column=
"smoke_quantity"
/>
<result
property=
"height"
column=
"height"
/>
<result
property=
"companyType"
column=
"company_type"
/>
<result
property=
"weight"
column=
"weight"
/>
<result
property=
"fixedPhone"
column=
"fixed_phone"
/>
<result
property=
"bmi"
column=
"bmi"
/>
<result
property=
"source"
column=
"source"
/>
<result
property=
"riskAppetite"
column=
"risk_appetite"
/>
<result
property=
"idType"
column=
"id_type"
/>
<result
property=
"dependentsNum"
column=
"dependents_num"
/>
<result
property=
"idCard"
column=
"id_card"
/>
<result
property=
"mobileCode"
column=
"mobile_code"
/>
<result
property=
"idCardAddress"
column=
"id_card_address"
/>
<result
property=
"mobile"
column=
"mobile"
/>
<result
property=
"passport"
column=
"passport"
/>
<result
property=
"residenceMobileCode"
column=
"residence_mobile_code"
/>
<result
property=
"eepCode"
column=
"eep_code"
/>
<result
property=
"residenceMobile"
column=
"residence_mobile"
/>
<result
property=
"marriage"
column=
"marriage"
/>
<result
property=
"landlineCode"
column=
"landline_code"
/>
<result
property=
"birthplace"
column=
"birthplace"
/>
<result
property=
"landline"
column=
"landline"
/>
<result
property=
"education"
column=
"education"
/>
<result
property=
"email"
column=
"email"
/>
<result
property=
"customerExpandBizId"
column=
"customer_expand_biz_id"
/>
<result
property=
"certificateAddress"
column=
"certificate_address"
/>
<result
property=
"country"
column=
"country"
/>
<result
property=
"mailingAddress"
column=
"mailing_address"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"residentialAddress"
column=
"residential_address"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"mailingAddressCode"
column=
"mailing_address_code"
/>
<result
property=
"creatorId"
column=
"creator_id"
/>
<result
property=
"employmentStatus"
column=
"employment_status"
/>
<result
property=
"updaterId"
column=
"updater_id"
/>
<result
property=
"csName"
column=
"cs_name"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"industry"
column=
"industry"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<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"
/>
<result
property=
"updaterId"
column=
"updater_id"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id,customer_biz_id,custom_code,last_name,first_name,name,
id,customer_biz_id,name_cn,name_py_en,document_type,id_number,
last_name_pinyin,first_name_pinyin,pinyin,title,gender,
gender,birthday,age,nationality,birthplace,
birthdate,abnormal,age,area_code,
is_other_country,tax_list,smoking_status,marital_status,education_level,is_retirement,
phone,email,smoke,smoke_quantity,company_type,fixed_phone,
retirement_age,height,weight,bmi,risk_appetite,
source,id_type,id_card,id_card_address,passport,eep_code,
dependents_num,mobile_code,mobile,residence_mobile_code,residence_mobile,
marriage,birthplace,education,customer_expand_biz_id,country,
landline_code,landline,email,certificate_address,mailing_address,
remark,is_deleted,creator_id,updater_id,create_time,
residential_address,mailing_address_code,employment_status,cs_name,industry,
update_time
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>
</sql>
</mapper>
</mapper>
yd-csf-service/src/main/resources/mappers/FnaFormMapper.xml
View file @
6419a025
...
@@ -10,6 +10,8 @@
...
@@ -10,6 +10,8 @@
<result
property=
"userBizId"
column=
"user_biz_id"
/>
<result
property=
"userBizId"
column=
"user_biz_id"
/>
<result
property=
"agentBizId"
column=
"agent_biz_id"
/>
<result
property=
"agentBizId"
column=
"agent_biz_id"
/>
<result
property=
"customerBizId"
column=
"customer_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=
"personalData"
column=
"personal_data"
/>
<result
property=
"taxList"
column=
"tax_list"
/>
<result
property=
"taxList"
column=
"tax_list"
/>
<result
property=
"familyMembers"
column=
"family_members"
/>
<result
property=
"familyMembers"
column=
"family_members"
/>
...
@@ -19,6 +21,7 @@
...
@@ -19,6 +21,7 @@
<result
property=
"liquidAssets"
column=
"liquid_assets"
/>
<result
property=
"liquidAssets"
column=
"liquid_assets"
/>
<result
property=
"primaryResidence"
column=
"primary_residence"
/>
<result
property=
"primaryResidence"
column=
"primary_residence"
/>
<result
property=
"investment"
column=
"investment"
/>
<result
property=
"investment"
column=
"investment"
/>
<result
property=
"premiumAffordability"
column=
"premium_affordability"
/>
<result
property=
"companyBusinessData"
column=
"company_business_data"
/>
<result
property=
"companyBusinessData"
column=
"company_business_data"
/>
<result
property=
"other"
column=
"other"
/>
<result
property=
"other"
column=
"other"
/>
<result
property=
"fnaFormStatus"
column=
"fna_form_status"
/>
<result
property=
"fnaFormStatus"
column=
"fna_form_status"
/>
...
@@ -31,9 +34,9 @@
...
@@ -31,9 +34,9 @@
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<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,
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,
remark,is_deleted,creator_id,updater_id,create_time,
update_time
update_time
</sql>
</sql>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment