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
0c0237f2
Commit
0c0237f2
authored
Nov 03, 2025
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新单跟进17
parent
e6b5ac3a
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
854 additions
and
35 deletions
+854
-35
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyAdditionalController.java
+139
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyController.java
+27
-12
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
+7
-2
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyAdditionalAddRequest.java
+90
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyAdditionalQueryRequest.java
+18
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyAdditionalUpdateRequest.java
+17
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyInsurantUpdateRequest.java
+426
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyPolicyholderUpdateRequest.java
+6
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Policy.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyAdditionalService.java
+9
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyInsurantService.java
+8
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyPolicyholderService.java
+8
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyService.java
+0
-3
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyAdditionalServiceImpl.java
+52
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyInsurantServiceImpl.java
+20
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyPolicyholderServiceImpl.java
+20
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
+0
-17
yd-csf-service/src/main/resources/mappers/PolicyMapper.xml
+2
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyAdditionalController.java
0 → 100644
View file @
0c0237f2
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.result.Result
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.model.PolicyAdditional
;
import
com.yd.csf.service.service.*
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
/**
* policy_additional接口
*
* @author jianan
* @since 2025-09-20
*/
@RestController
@RequestMapping
(
"/policy_additional"
)
@Tag
(
name
=
"保单附加险接口"
)
public
class
ApiPolicyAdditionalController
{
@Resource
private
PolicyAdditionalService
policyAdditionalService
;
/**
* 创建保单附加险
*
* @param policyAdditionalAddRequest
* @param request
* @return
*/
@Operation
(
summary
=
"创建保单附加险"
)
@PostMapping
(
"/add"
)
public
Result
<
Map
<
String
,
Object
>>
addPolicyAdditional
(
@RequestBody
PolicyAdditionalAddRequest
policyAdditionalAddRequest
,
HttpServletRequest
request
)
{
if
(
policyAdditionalAddRequest
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
policyAdditionalService
.
addPolicyAdditional
(
policyAdditionalAddRequest
));
}
/**
* 删除保单附加险
*
* @param policyAdditionalBizId
* @param request
* @return
*/
@DeleteMapping
(
"/delete"
)
@Operation
(
summary
=
"删除保单附加险"
)
public
Result
<
Boolean
>
deletePolicyAdditional
(
@RequestParam
(
"policyAdditionalBizId"
)
String
policyAdditionalBizId
,
HttpServletRequest
request
)
{
if
(
policyAdditionalBizId
==
null
||
StringUtils
.
isBlank
(
policyAdditionalBizId
))
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyAdditionalBizId不能为空"
);
}
// User user = userService.getLoginUser(request);
// long id = deleteRequest.getId();
// 判断是否存在
PolicyAdditional
policyAdditional
=
policyAdditionalService
.
getByBizId
(
policyAdditionalBizId
);
if
(
policyAdditional
==
null
)
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
// 仅本人或管理员可删除
// if (!oldFna.getUserId().equals(user.getId()) && !userService.isAdmin(request)) {
// throw new BusinessException(ErrorCode.NO_AUTH_ERROR);
// }
// 操作数据库
return
Result
.
success
(
policyAdditionalService
.
removeById
(
policyAdditional
.
getId
()));
}
/**
* 更新保单附加险(产品计划)
*
* @param policyUpdateRequest
* @return
*/
@PostMapping
(
"/update"
)
@Operation
(
summary
=
"更新保单附加险信息"
)
public
Result
<
Boolean
>
updatePolicyAdditional
(
@RequestBody
PolicyAdditionalUpdateRequest
policyUpdateRequest
)
{
if
(
policyUpdateRequest
==
null
||
policyUpdateRequest
.
getPolicyAdditionalBizId
()
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
policyAdditionalService
.
updatePolicyAdditional
(
policyUpdateRequest
));
}
/**
* 根据 policyBizId 获取保单附加险(封装类)
*
* @param policyAdditionalBizId
* @return
*/
@GetMapping
(
"/get/vo"
)
@Operation
(
summary
=
"根据 policyBizId 获取保单附加险详情"
)
public
Result
<
PolicyAdditional
>
getPolicyByPolicyAdditionalBizId
(
@RequestParam
(
"policyAdditionalBizId"
)
String
policyAdditionalBizId
,
HttpServletRequest
request
)
{
if
(
policyAdditionalBizId
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
// 查询数据库
PolicyAdditional
policyAdditional
=
policyAdditionalService
.
getByBizId
(
policyAdditionalBizId
);
if
(
policyAdditional
==
null
)
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
// 获取封装类
return
Result
.
success
(
policyAdditional
);
}
/**
* 分页获取保单附加险列表
*
* @param PolicyQueryRequest
* @param request
* @return
*/
@PostMapping
(
"/list"
)
@Operation
(
summary
=
"分页获取保单附加险列表"
)
public
Result
<
Page
<
PolicyAdditional
>>
listPolicyByPage
(
@RequestBody
PolicyAdditionalQueryRequest
PolicyQueryRequest
,
HttpServletRequest
request
)
{
long
current
=
PolicyQueryRequest
.
getPageNo
();
long
size
=
PolicyQueryRequest
.
getPageSize
();
// 查询数据库
QueryWrapper
<
PolicyAdditional
>
queryWrapper
=
new
QueryWrapper
<
PolicyAdditional
>();
queryWrapper
.
eq
(
"policy_biz_id"
,
PolicyQueryRequest
.
getPolicyBizId
());
queryWrapper
.
orderByAsc
(
"id"
);
Page
<
PolicyAdditional
>
policyAdditionalPage
=
policyAdditionalService
.
page
(
new
Page
<>(
current
,
size
),
queryWrapper
);
// 获取封装类
return
Result
.
success
(
policyAdditionalPage
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyController.java
View file @
0c0237f2
...
...
@@ -4,15 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.result.Result
;
import
com.yd.csf.service.dto.CommissionExpectedQueryRequest
;
import
com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest
;
import
com.yd.csf.service.dto.PolicyQueryRequest
;
import
com.yd.csf.service.dao.PolicyMapper
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.dto.PolicyUpdateRequest
;
import
com.yd.csf.service.model.CommissionExpected
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.service.CommissionExpectedService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.service.*
;
import
com.yd.csf.service.vo.CommissionExpectedVO
;
import
com.yd.csf.service.vo.PolicyVO
;
import
io.swagger.v3.oas.annotations.Operation
;
...
...
@@ -37,7 +34,10 @@ public class ApiPolicyController {
private
PolicyService
policyService
;
@Resource
private
CommissionExpectedService
commissionExpectedService
;
@Resource
private
PolicyPolicyholderService
policyPolicyholderService
;
@Resource
private
PolicyInsurantService
policyInsurantService
;
/**
* 创建保单
...
...
@@ -101,16 +101,31 @@ public class ApiPolicyController {
/**
* 更新投保人信息
*
* @param policyUpdateRequest
* @param policy
Policyholder
UpdateRequest
* @return
*/
@PostMapping
(
"/update_policyholder"
)
@Operation
(
summary
=
"更新保单投保人信息"
)
public
Result
<
Boolean
>
updatePolicyholder
(
@RequestBody
PolicyPolicyholderUpdateRequest
policyUpdateRequest
)
{
if
(
policyUpdateRequest
==
null
||
policyUpdateRequest
.
getPolicyPolicyholderBizId
()
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyPolicyholderBizId不能为空"
);
public
Result
<
Boolean
>
updatePolicyholder
(
@RequestBody
PolicyPolicyholderUpdateRequest
policyPolicyholderUpdateRequest
)
{
if
(
policyPolicyholderUpdateRequest
==
null
||
policyPolicyholderUpdateRequest
.
getPolicyPolicyholderBizId
()
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
return
Result
.
success
(
policyPolicyholderService
.
update
(
policyPolicyholderUpdateRequest
));
}
/**
* 更新受保人信息
*
* @param policyInsurantUpdateRequest
* @return
*/
@PostMapping
(
"/update_policy_insurant"
)
@Operation
(
summary
=
"更新保单受保人信息"
)
public
Result
<
Boolean
>
updatePolicyInsurant
(
@RequestBody
PolicyInsurantUpdateRequest
policyInsurantUpdateRequest
)
{
if
(
policyInsurantUpdateRequest
==
null
||
policyInsurantUpdateRequest
.
getPolicyInsurantBizId
()
==
null
)
{
return
Result
.
fail
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyInsurantBizId不能为空"
);
}
return
Result
.
success
(
policy
Service
.
updatePolicyholder
(
policy
UpdateRequest
));
return
Result
.
success
(
policy
InsurantService
.
update
(
policyInsurant
UpdateRequest
));
}
/**
...
...
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
View file @
0c0237f2
...
...
@@ -416,10 +416,13 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
=
null
;
List
<
ApiProductPlanAdditionalInfoDto
>
apiProductPlanAdditionalInfoDtoList
=
new
ArrayList
<>();
ApiInsurantInfoDto
apiInsurantInfoDto
=
null
;
String
policyTransfer
=
null
;
if
(!
Objects
.
isNull
(
response
)
&&
!
Objects
.
isNull
(
response
.
getApiProductPlanInfoDto
())
&&
!
Objects
.
isNull
(
response
.
getApiProductPlanInfoDto
().
getApiProductPlanMainInfoDto
()))
{
apiProductPlanMainInfoDto
=
response
.
getApiProductPlanInfoDto
().
getApiProductPlanMainInfoDto
();
//转保声明选项(字典)
policyTransfer
=
response
.
getApiAppointmentInfoDto
().
getPolicyTransfer
();
// 产品计划附加险列表
apiProductPlanAdditionalInfoDtoList
=
response
.
getApiProductPlanInfoDto
().
getApiProductPlanAdditionalInfoDtoList
();
}
...
...
@@ -485,7 +488,7 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
policyFollowService
.
saveOrUpdate
(
follow
);
// 同步保存保单(产品计划)
savePolicy
(
follow
,
apiProductPlanMainInfoDto
,
policyBizId
);
savePolicy
(
follow
,
apiProductPlanMainInfoDto
,
policyBizId
,
policyTransfer
);
// 同步保存保单产品计划附加险
savePolicyAdditional
(
apiProductPlanAdditionalInfoDtoList
,
policyBizId
);
// 同步保存保单投保人
...
...
@@ -563,7 +566,7 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
return
policyPolicyholderService
.
saveOrUpdate
(
policyPolicyholder
);
}
private
boolean
savePolicy
(
PolicyFollow
policyFollow
,
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
,
String
policyBizId
)
{
private
boolean
savePolicy
(
PolicyFollow
policyFollow
,
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
,
String
policyBizId
,
String
policyTransfer
)
{
// 同步保存保单(产品计划)
Policy
policy
=
new
Policy
();
BeanUtils
.
copyProperties
(
policyFollow
,
policy
);
...
...
@@ -573,6 +576,8 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
policy
.
setPolicyBizId
(
policyBizId
);
policy
.
setPlanBizId
(
apiProductPlanMainInfoDto
.
getPlanBizId
());
policy
.
setStatus
(
PolicyStatusEnum
.
INFORCE
.
getItemValue
());
//转保声明选项(字典)
policy
.
setPolicyTransfer
(
policyTransfer
);
policy
.
setCreateTime
(
new
Date
());
policy
.
setUpdateTime
(
new
Date
());
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyAdditionalAddRequest.java
0 → 100644
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
@Data
public
class
PolicyAdditionalAddRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 新单跟进业务ID
*/
@Schema
(
description
=
"新单跟进业务ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyBizId
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 产品计划信息表唯一业务ID
*/
@Schema
(
description
=
"产品计划信息表唯一业务ID"
)
private
String
planBizId
;
/**
* 保险附加产品唯一业务ID(中台保险附加产品业务id,冗余)
*/
@Schema
(
description
=
"保险附加产品唯一业务ID(中台保险附加产品业务id,冗余)"
)
private
String
additionalProductBizId
;
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
@Schema
(
description
=
"保险附加产品名称(中台保险附加产品名称,冗余)"
)
private
String
addProductName
;
/**
* 货币(字典)
*/
@Schema
(
description
=
"货币(字典)"
)
private
String
currency
;
/**
* 保费
*/
@Schema
(
description
=
"保费"
)
private
BigDecimal
premium
;
/**
* 保额
*/
@Schema
(
description
=
"保额"
)
private
BigDecimal
sumInsured
;
/**
* 保障地区(字典)
*/
@Schema
(
description
=
"保障地区(字典)"
)
private
String
guaranteeRegion
;
/**
* 等级(字典)
*/
@Schema
(
description
=
"等级(字典)"
)
private
String
level
;
/**
* 自付额(字典)
*/
@Schema
(
description
=
"自付额(字典)"
)
private
String
deductibles
;
/**
* 附加保障(json串)
*/
@Schema
(
description
=
"附加保障(json串)"
)
private
String
additionalSafeguards
;
/**
* 备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyAdditionalQueryRequest.java
0 → 100644
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.common.dto.PageDto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
PolicyAdditionalQueryRequest
extends
PageDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 保单业务ID
*/
@Schema
(
description
=
"保单业务ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyBizId
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyAdditionalUpdateRequest.java
0 → 100644
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
PolicyAdditionalUpdateRequest
extends
PolicyAdditionalAddRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 保单附加险业务ID
*/
@Schema
(
description
=
"保单附加险业务ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyAdditionalBizId
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyInsurantUpdateRequest.java
0 → 100644
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
dto
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Data
public
class
PolicyInsurantUpdateRequest
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 保单受保人BizId
*/
@Schema
(
description
=
"保单受保人BizId"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
private
String
policyInsurantBizId
;
/**
* 保单号
*/
@Schema
(
description
=
"保单号"
)
private
String
policyNo
;
/**
* 客户类型(字典)
*/
@Schema
(
description
=
"客户类型(字典)"
)
private
String
customerType
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
@Schema
(
description
=
"关联客户信息表唯一业务ID(冗余字段)"
)
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
@Schema
(
description
=
"关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)"
)
private
String
customerNo
;
/**
* 与投保人关系(字典)
*/
@Schema
(
description
=
"与投保人关系(字典)"
)
private
String
policyholderRel
;
/**
* 受保人姓名
*/
@Schema
(
description
=
"受保人姓名"
)
private
String
name
;
/**
* 名字-英文
*/
@Schema
(
description
=
"名字-英文"
)
private
String
nameEn
;
/**
* 性别(字典)
*/
@Schema
(
description
=
"性别(字典)"
)
private
String
gender
;
/**
* 证件类型(字典)
*/
@Schema
(
description
=
"证件类型(字典)"
)
private
String
documentType
;
/**
* 证件号码
*/
@Schema
(
description
=
"证件号码"
)
private
String
idNumber
;
/**
* 出生日期
*/
@Schema
(
description
=
"出生日期"
)
private
Date
birthday
;
/**
* 年龄
*/
@Schema
(
description
=
"年龄"
)
private
String
age
;
/**
* 居住地址
*/
@Schema
(
description
=
"居住地址"
)
private
String
residentialAddress
;
/**
* 通讯地址
*/
@Schema
(
description
=
"通讯地址"
)
private
String
mailingAddress
;
/**
* 移动电话区号
*/
@Schema
(
description
=
"移动电话区号"
)
private
String
mobileCode
;
/**
* 移动电话
*/
@Schema
(
description
=
"移动电话"
)
private
String
mobile
;
/**
* 邮箱
*/
@Schema
(
description
=
"邮箱"
)
private
String
email
;
/**
* 公司名称
*/
@Schema
(
description
=
"公司名称"
)
private
String
companyName
;
/**
* 公司地址
*/
@Schema
(
description
=
"公司地址"
)
private
String
companyAddress
;
/**
* 行业
*/
@Schema
(
description
=
"行业"
)
private
String
industry
;
/**
* 职位
*/
@Schema
(
description
=
"职位"
)
private
String
position
;
/**
* 风险偏好(字典)
*/
@Schema
(
description
=
"风险偏好(字典)"
)
private
String
riskAppetite
;
/**
* 是否VIP: 0-否, 1-是(字典)
*/
@Schema
(
description
=
"是否VIP: 0-否, 1-是(字典)"
)
private
Integer
isVip
;
/**
* vip备注
*/
@Schema
(
description
=
"vip备注"
)
private
String
vipRemark
;
/**
* 称谓(字典)
*/
@Schema
(
description
=
"称谓(字典)"
)
private
String
appellation
;
/**
* 是否区分吸烟(字典)
*/
@Schema
(
description
=
"是否区分吸烟(字典)"
)
private
String
smokingAllowed
;
/**
* 出生地(省市)
*/
@Schema
(
description
=
"出生地(省市)"
)
private
String
birthplace
;
/**
* 国籍
*/
@Schema
(
description
=
"国籍"
)
private
String
nationality
;
/**
* 护照号码
*/
@Schema
(
description
=
"护照号码"
)
private
String
passportNo
;
/**
* 通行证号码
*/
@Schema
(
description
=
"通行证号码"
)
private
String
passNo
;
/**
* 身高
*/
@Schema
(
description
=
"身高"
)
private
String
height
;
/**
* 体重
*/
@Schema
(
description
=
"体重"
)
private
String
weight
;
/**
* BMI
*/
@Schema
(
description
=
"BMI"
)
private
String
bmi
;
/**
* 受雇于现职年期
*/
@Schema
(
description
=
"受雇于现职年期"
)
private
BigDecimal
currentTenure
;
/**
* 总负债额
*/
@Schema
(
description
=
"总负债额"
)
private
BigDecimal
totalDebt
;
/**
* 受供养人数目
*/
@Schema
(
description
=
"受供养人数目"
)
private
Integer
dependentsNum
;
/**
* 婚姻状况(字典)
*/
@Schema
(
description
=
"婚姻状况(字典)"
)
private
String
maritalStatus
;
/**
* 教育程度(字典)
*/
@Schema
(
description
=
"教育程度(字典)"
)
private
String
educationLevel
;
/**
* 总工作年期
*/
@Schema
(
description
=
"总工作年期"
)
private
BigDecimal
totalWorkingYears
;
/**
* 现时每月收入
*/
@Schema
(
description
=
"现时每月收入"
)
private
BigDecimal
currentMonthlyIncome
;
/**
* 公司电话区号
*/
@Schema
(
description
=
"公司电话区号"
)
private
String
companyMobileCode
;
/**
* 公司电话
*/
@Schema
(
description
=
"公司电话"
)
private
String
companyMobile
;
/**
* 固定电话区号
*/
@Schema
(
description
=
"固定电话区号"
)
private
String
landlineCode
;
/**
* 固定电话
*/
@Schema
(
description
=
"固定电话"
)
private
String
landline
;
/**
* 其他电话
*/
@Schema
(
description
=
"其他电话"
)
private
String
otherMobile
;
/**
* 过往一年是否所属国家以外地区居住超过182日: 0-否, 1-是(字典)
*/
@Schema
(
description
=
"过往一年是否所属国家以外地区居住超过182日: 0-否, 1-是(字典)"
)
private
Integer
isExceed
;
/**
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
@Schema
(
description
=
"是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)"
)
private
Integer
isOtherCountry
;
/**
* 是否接受推广信息: 0-否, 1-是(字典)
*/
@Schema
(
description
=
"是否接受推广信息: 0-否, 1-是(字典)"
)
private
Integer
isPromotion
;
/**
* 旅行(字典)
*/
@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
=
"地址列表(json串)"
)
private
String
addressList
;
/**
* 备注
*/
@Schema
(
description
=
"备注"
)
private
String
remark
;
/**
* 吸烟量(支/天)
*/
@Schema
(
description
=
"吸烟量(支/天)"
)
private
String
smokingVolume
;
/**
* 货币(字典)
*/
@Schema
(
description
=
"货币(字典)"
)
private
String
currency
;
/**
* 公司名称(英文)
*/
@Schema
(
description
=
"公司名称(英文)"
)
private
String
companyNameEn
;
/**
* 公司商业登记号码
*/
@Schema
(
description
=
"公司商业登记号码"
)
private
String
companyBusinessNo
;
/**
* 公司注册日期
*/
@Schema
(
description
=
"公司注册日期"
)
private
Date
companyRegisterTime
;
/**
* 公司注册地区(字典)
*/
@Schema
(
description
=
"公司注册地区(字典)"
)
private
String
companyRegisterRegion
;
/**
* 公司邮箱
*/
@Schema
(
description
=
"公司邮箱"
)
private
String
companyEmail
;
/**
* 公司登记地址
*/
@Schema
(
description
=
"公司登记地址"
)
private
String
companyEnterAddress
;
/**
* 授权代表姓名中文-名字
*/
@Schema
(
description
=
"授权代表姓名中文-名字"
)
private
String
authNameCn
;
/**
* 授权代表姓名英文-名字
*/
@Schema
(
description
=
"授权代表姓名英文-名字"
)
private
String
authNameEn
;
/**
* 授权代表职称
*/
@Schema
(
description
=
"授权代表职称"
)
private
String
authProfessional
;
/**
* 授权代表电话区号
*/
@Schema
(
description
=
"授权代表电话区号"
)
private
String
authMobileCode
;
/**
* 授权代表电话
*/
@Schema
(
description
=
"授权代表电话"
)
private
String
authMobile
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyPolicyholderUpdateRequest.java
View file @
0c0237f2
...
...
@@ -438,6 +438,12 @@ public class PolicyPolicyholderUpdateRequest implements Serializable {
@Schema
(
description
=
"授权代表电话"
)
private
String
authMobile
;
/**
* 转保声明选项(字典)
*/
@Schema
(
description
=
"转保声明选项(字典)"
)
private
String
policyTransfer
;
/**
* 备注
*/
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Policy.java
View file @
0c0237f2
...
...
@@ -183,6 +183,11 @@ public class Policy implements Serializable {
private
String
reconciliationCompanyBizId
;
/**
* 转保声明选项(字典)
*/
private
String
policyTransfer
;
/**
* 通用备注
*/
private
String
remark
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyAdditionalService.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.dto.PolicyAdditionalAddRequest
;
import
com.yd.csf.service.dto.PolicyAdditionalUpdateRequest
;
import
com.yd.csf.service.model.PolicyAdditional
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.Map
;
/**
* @author Zhang Jianan
* @description 针对表【policy_additional(保单附加险信息表)】的数据库操作Service
...
...
@@ -10,4 +14,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
PolicyAdditionalService
extends
IService
<
PolicyAdditional
>
{
Map
<
String
,
Object
>
addPolicyAdditional
(
PolicyAdditionalAddRequest
policyAdditionalAddRequest
);
PolicyAdditional
getByBizId
(
String
policyAdditionalBizId
);
Boolean
updatePolicyAdditional
(
PolicyAdditionalUpdateRequest
policyUpdateRequest
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyInsurantService.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.dto.PolicyInsurantUpdateRequest
;
import
com.yd.csf.service.model.PolicyInsurant
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
...
@@ -9,5 +10,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @createDate 2025-10-31 13:29:18
*/
public
interface
PolicyInsurantService
extends
IService
<
PolicyInsurant
>
{
/**
* 更新受保人信息
*
* @param policyInsurantUpdateRequest
* @return
*/
boolean
update
(
PolicyInsurantUpdateRequest
policyInsurantUpdateRequest
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyPolicyholderService.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest
;
import
com.yd.csf.service.model.PolicyPolicyholder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
...
@@ -9,5 +10,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @createDate 2025-10-31 11:43:10
*/
public
interface
PolicyPolicyholderService
extends
IService
<
PolicyPolicyholder
>
{
/**
* 更新保单投保人信息
*
* @param policyPolicyholderUpdateRequest
* @return
*/
boolean
update
(
PolicyPolicyholderUpdateRequest
policyPolicyholderUpdateRequest
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyService.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest
;
import
com.yd.csf.service.dto.PolicyQueryRequest
;
import
com.yd.csf.service.dto.PolicyUpdateRequest
;
import
com.yd.csf.service.model.Policy
;
...
...
@@ -23,5 +21,4 @@ public interface PolicyService extends IService<Policy> {
Boolean
updatePolicy
(
PolicyUpdateRequest
policyUpdateRequest
);
Boolean
updatePolicyholder
(
PolicyPolicyholderUpdateRequest
policyUpdateRequest
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyAdditionalServiceImpl.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.service.dto.PolicyAdditionalAddRequest
;
import
com.yd.csf.service.dto.PolicyAdditionalUpdateRequest
;
import
com.yd.csf.service.model.PolicyAdditional
;
import
com.yd.csf.service.service.PolicyAdditionalService
;
import
com.yd.csf.service.dao.PolicyAdditionalMapper
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Map
;
/**
* @author Zhang Jianan
* @description 针对表【policy_additional(保单附加险信息表)】的数据库操作Service实现
...
...
@@ -15,6 +26,47 @@ import org.springframework.stereotype.Service;
public
class
PolicyAdditionalServiceImpl
extends
ServiceImpl
<
PolicyAdditionalMapper
,
PolicyAdditional
>
implements
PolicyAdditionalService
{
@Override
public
Map
<
String
,
Object
>
addPolicyAdditional
(
PolicyAdditionalAddRequest
policyAdditionalAddRequest
)
{
// 校验请求参数
if
(
policyAdditionalAddRequest
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
// 转换为实体类
PolicyAdditional
policyAdditional
=
new
PolicyAdditional
();
BeanUtils
.
copyProperties
(
policyAdditionalAddRequest
,
policyAdditional
);
policyAdditional
.
setAdditionalProductBizId
(
RandomStringGenerator
.
generateBizId16
(
"policy_additional"
));
Date
now
=
new
Date
();
policyAdditional
.
setCreateTime
(
now
);
policyAdditional
.
setUpdateTime
(
now
);
// 保存到数据库
this
.
saveOrUpdate
(
policyAdditional
);
// 返回结果
return
Collections
.
singletonMap
(
"policyAdditionalBizId"
,
policyAdditional
.
getPolicyAdditionalBizId
());
}
@Override
public
PolicyAdditional
getByBizId
(
String
policyAdditionalBizId
)
{
return
this
.
getOne
(
new
QueryWrapper
<
PolicyAdditional
>().
eq
(
"policy_additional_biz_id"
,
policyAdditionalBizId
));
}
@Override
public
Boolean
updatePolicyAdditional
(
PolicyAdditionalUpdateRequest
policyUpdateRequest
)
{
// 校验请求参数
if
(
policyUpdateRequest
==
null
||
policyUpdateRequest
.
getPolicyAdditionalBizId
()
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
// 转换为实体类
PolicyAdditional
policyAdditional
=
new
PolicyAdditional
();
BeanUtils
.
copyProperties
(
policyUpdateRequest
,
policyAdditional
);
policyAdditional
.
setUpdateTime
(
new
Date
());
// 保存到数据库
return
this
.
updateById
(
policyAdditional
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyInsurantServiceImpl.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.csf.service.dto.PolicyInsurantUpdateRequest
;
import
com.yd.csf.service.model.PolicyInsurant
;
import
com.yd.csf.service.service.PolicyInsurantService
;
import
com.yd.csf.service.dao.PolicyInsurantMapper
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* @author Zhang Jianan
* @description 针对表【policy_insurant(保单受保人信息表)】的数据库操作Service实现
...
...
@@ -15,6 +22,19 @@ import org.springframework.stereotype.Service;
public
class
PolicyInsurantServiceImpl
extends
ServiceImpl
<
PolicyInsurantMapper
,
PolicyInsurant
>
implements
PolicyInsurantService
{
@Override
public
boolean
update
(
PolicyInsurantUpdateRequest
policyInsurantUpdateRequest
)
{
if
(
policyInsurantUpdateRequest
==
null
||
policyInsurantUpdateRequest
.
getPolicyInsurantBizId
()
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
PolicyInsurant
policyInsurant
=
this
.
getOne
(
new
QueryWrapper
<
PolicyInsurant
>().
eq
(
"policy_insurant_biz_id"
,
policyInsurantUpdateRequest
.
getPolicyInsurantBizId
()));
if
(
policyInsurant
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
BeanUtils
.
copyProperties
(
policyInsurantUpdateRequest
,
policyInsurant
,
"policyBizId"
,
"policyInsurantBizId"
,
"id"
);
policyInsurant
.
setUpdateTime
(
new
Date
());
return
this
.
updateById
(
policyInsurant
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyPolicyholderServiceImpl.java
View file @
0c0237f2
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest
;
import
com.yd.csf.service.model.PolicyPolicyholder
;
import
com.yd.csf.service.service.PolicyPolicyholderService
;
import
com.yd.csf.service.dao.PolicyPolicyholderMapper
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
/**
* @author Zhang Jianan
* @description 针对表【policy_policyholder(保单投保人信息表)】的数据库操作Service实现
...
...
@@ -15,6 +22,19 @@ import org.springframework.stereotype.Service;
public
class
PolicyPolicyholderServiceImpl
extends
ServiceImpl
<
PolicyPolicyholderMapper
,
PolicyPolicyholder
>
implements
PolicyPolicyholderService
{
@Override
public
boolean
update
(
PolicyPolicyholderUpdateRequest
policyPolicyholderUpdateRequest
)
{
if
(
policyPolicyholderUpdateRequest
==
null
||
policyPolicyholderUpdateRequest
.
getPolicyPolicyholderBizId
()
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
ResultCode
.
PARAMS_ERROR
.
getMessage
());
}
PolicyPolicyholder
policyPolicyholder
=
this
.
getOne
(
new
QueryWrapper
<
PolicyPolicyholder
>().
eq
(
"policy_policyholder_biz_id"
,
policyPolicyholderUpdateRequest
.
getPolicyPolicyholderBizId
()));
if
(
policyPolicyholder
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
BeanUtils
.
copyProperties
(
policyPolicyholderUpdateRequest
,
policyPolicyholder
,
"policyBizId"
,
"policyPolicyholderBizId"
,
"id"
);
policyPolicyholder
.
setUpdateTime
(
new
Date
());
return
this
.
updateById
(
policyPolicyholder
);
}
}
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
View file @
0c0237f2
...
...
@@ -6,11 +6,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest
;
import
com.yd.csf.service.dto.PolicyQueryRequest
;
import
com.yd.csf.service.dto.PolicyUpdateRequest
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.PolicyPolicyholder
;
import
com.yd.csf.service.service.PolicyPolicyholderService
;
import
com.yd.csf.service.service.PolicyService
;
import
com.yd.csf.service.dao.PolicyMapper
;
...
...
@@ -97,21 +95,6 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
return
this
.
updateById
(
policy
);
}
@Override
public
Boolean
updatePolicyholder
(
PolicyPolicyholderUpdateRequest
policyUpdateRequest
)
{
String
policyPolicyholderBizId
=
policyUpdateRequest
.
getPolicyPolicyholderBizId
();
if
(
StringUtils
.
isBlank
(
policyPolicyholderBizId
))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyPolicyholderBizId不能为空"
);
}
PolicyPolicyholder
policyPolicyholder
=
policyPolicyholderService
.
getOne
(
new
QueryWrapper
<
PolicyPolicyholder
>().
eq
(
"policy_policyholder_biz_id"
,
policyPolicyholderBizId
));
if
(
policyPolicyholder
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"保单投保人不存在"
);
}
BeanUtils
.
copyProperties
(
policyUpdateRequest
,
policyPolicyholder
,
"policyPolicyholderBizId"
,
"id"
);
policyPolicyholder
.
setUpdateTime
(
new
Date
());
policyPolicyholder
.
setUpdateTime
(
new
Date
());
return
policyPolicyholderService
.
updateById
(
policyPolicyholder
);
}
}
...
...
yd-csf-service/src/main/resources/mappers/PolicyMapper.xml
View file @
0c0237f2
...
...
@@ -38,6 +38,7 @@
<result
property=
"isJoin"
column=
"is_join"
/>
<result
property=
"reconciliationCompany"
column=
"reconciliation_company"
/>
<result
property=
"reconciliationCompanyBizId"
column=
"reconciliation_company_biz_id"
/>
<result
property=
"policyTransfer"
column=
"policy_transfer"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"creatorId"
column=
"creator_id"
/>
...
...
@@ -53,7 +54,7 @@
status,currency,initial_premium,sign_date,issue_date,
effective_date,renewal_date,is_prepaid,deductibles,prepaid_term,
initial_payment_method,renewal_payment_method,dividend_distribution_method,is_backtrack,is_join,
reconciliation_company,reconciliation_company_biz_id,remark,is_deleted,creator_id,
reconciliation_company,reconciliation_company_biz_id,
policy_transfer,
remark,is_deleted,creator_id,
updater_id,create_time,update_time
</sql>
</mapper>
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