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
e68c02c4
Commit
e68c02c4
authored
Sep 08, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预约相关接口
parent
b04e93a7
Hide whitespace changes
Inline
Side-by-side
Showing
135 changed files
with
9115 additions
and
13 deletions
+9115
-13
yd-csf-api/src/main/java/com/yd/csf/api/controller/.gitkeep
+0
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAdditionalController.java
+78
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAppointmentController.java
+151
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAppointmentFileController.java
+81
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiBeneficiaryController.java
+80
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiInsurantController.java
+47
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyholderController.java
+48
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiProductPlanController.java
+47
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiSecondHolderController.java
+50
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/RelTenantProjectAppointmentController.java
+18
-0
yd-csf-api/src/main/java/com/yd/csf/api/dto/CustomerTypeCompanyCheckCommonDto.java
+47
-0
yd-csf-api/src/main/java/com/yd/csf/api/dto/CustomerTypeIndividualCheckCommonDto.java
+27
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/.gitkeep
+0
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAdditionalService.java
+29
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentCheckService.java
+35
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentFileService.java
+26
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentService.java
+34
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiBeneficiaryService.java
+23
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiInsurantService.java
+17
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiPolicyholderService.java
+17
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiProductPlanService.java
+19
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiSecondHolderService.java
+16
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAdditionalServiceImpl.java
+259
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentCheckServiceImpl.java
+735
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentFileServiceImpl.java
+139
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
+394
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiBeneficiaryServiceImpl.java
+217
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiInsurantServiceImpl.java
+125
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPolicyholderServiceImpl.java
+123
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiProductPlanServiceImpl.java
+156
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiSecondHolderServiceImpl.java
+131
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/.gitkeep
+0
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/additional/ApiAdditionalFeignClient.java
+57
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/appointment/ApiAppointmentFeignClient.java
+116
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/appointmentfile/ApiAppointmentFileFeignClient.java
+59
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/beneficiary/ApiBeneficiaryFeignClient.java
+58
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/insurant/ApiInsurantFeignClient.java
+40
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/policyholder/ApiPolicyholderFeignClient.java
+37
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/productplan/ApiProductPlanFeignClient.java
+37
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/client/secondholder/ApiSecondHolderFeignClient.java
+38
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiAppointmentBriefInfoDto.java
+53
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiAppointmentInfoDto.java
+198
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiBeneficiaryInfoDto.java
+156
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiInsurantInfoDto.java
+351
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiPolicyholderInfoDto.java
+364
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiProductPlanAdditionalInfoDto.java
+77
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiProductPlanInfoDto.java
+22
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiProductPlanMainInfoDto.java
+120
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiSecondHolderInfoDto.java
+72
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointmentfile/ApiAppointmentFileDto.java
+37
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/.gitkeep
+0
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/additional/ApiAdditionalFeignFallbackFactory.java
+48
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/appointment/ApiAppointmentFeignFallbackFactory.java
+84
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/appointmentfile/ApiAppointmentFileFeignFallbackFactory.java
+47
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/beneficiary/ApiBeneficiaryFeignFallbackFactory.java
+50
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/insurant/ApiInsurantFeignFallbackFactory.java
+33
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/policyholder/ApiPolicyholderFeignFallbackFactory.java
+33
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/productplan/ApiProductPlanFeignFallbackFactory.java
+33
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/secondholder/ApiSecondHolderFeignFallbackFactory.java
+34
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/.gitkeep
+0
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/additional/ApiAdditionalPageRequest.java
+21
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentAddRequest.java
+43
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentAddStorageRequest.java
+42
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditConfirmTimeRequest.java
+22
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditFnaRequest.java
+30
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditProposalRequest.java
+30
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditRequest.java
+45
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentPageRequest.java
+47
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentRemoveFnaRequest.java
+27
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentRemoveProposalRequest.java
+30
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointmentfile/ApiAppointmentFileAddRequest.java
+35
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointmentfile/ApiAppointmentFileEditRequest.java
+23
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointmentfile/ApiAppointmentFilePageRequest.java
+16
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/request/beneficiary/ApiBeneficiaryPageRequest.java
+8
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/.gitkeep
+0
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/additional/ApiAdditionalPageResponse.java
+69
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/appointment/ApiAppointmentDetailResponse.java
+52
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/appointment/ApiAppointmentPageResponse.java
+67
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/appointmentfile/ApiAppointmentFilePageResponse.java
+47
-0
yd-csf-feign/src/main/java/com/yd/csf/feign/response/beneficiary/ApiBeneficiaryPageResponse.java
+7
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/.gitkeep
+0
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/AdditionalMapper.java
+23
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/AppointmentFileMapper.java
+23
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/AppointmentMapper.java
+23
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/BeneficiaryMapper.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/InsurantMapper.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/PolicyholderMapper.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/ProductPlanMapper.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/RelTenantProjectAppointmentMapper.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/SecondHolderMapper.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/AdditionalDto.java
+24
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/BeneficiaryDto.java
+24
-0
yd-csf-service/src/main/java/com/yd/csf/service/enums/AppointmentStatusEnum.java
+34
-0
yd-csf-service/src/main/java/com/yd/csf/service/enums/CustomerTypeEnum.java
+30
-0
yd-csf-service/src/main/java/com/yd/csf/service/enums/RelTypeEnum.java
+33
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/.gitkeep
+0
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Additional.java
+132
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Appointment.java
+318
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/AppointmentFile.java
+95
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Beneficiary.java
+229
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Insurant.java
+391
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/Policyholder.java
+409
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/ProductPlan.java
+180
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/RelTenantProjectAppointment.java
+89
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/SecondHolder.java
+131
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/.gitkeep
+0
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IAdditionalService.java
+29
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IAppointmentFileService.java
+28
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IAppointmentService.java
+24
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IBeneficiaryService.java
+22
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IInsurantService.java
+19
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IPolicyholderService.java
+19
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IProductPlanService.java
+19
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/IRelTenantProjectAppointmentService.java
+16
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/ISecondHolderService.java
+19
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AdditionalServiceImpl.java
+67
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AppointmentFileServiceImpl.java
+59
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AppointmentServiceImpl.java
+46
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/BeneficiaryServiceImpl.java
+51
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/InsurantServiceImpl.java
+45
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyholderServiceImpl.java
+45
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/ProductPlanServiceImpl.java
+44
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/RelTenantProjectAppointmentServiceImpl.java
+20
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/SecondHolderServiceImpl.java
+46
-0
yd-csf-service/src/main/java/com/yd/csf/service/utils/MyBatisPlusCodeGenerator.java
+10
-13
yd-csf-service/src/main/resources/mappers/.gitkeep
+0
-0
yd-csf-service/src/main/resources/mappers/AdditionalMapper.xml
+18
-0
yd-csf-service/src/main/resources/mappers/AppointmentFileMapper.xml
+16
-0
yd-csf-service/src/main/resources/mappers/AppointmentMapper.xml
+55
-0
yd-csf-service/src/main/resources/mappers/BeneficiaryMapper.xml
+5
-0
yd-csf-service/src/main/resources/mappers/InsurantMapper.xml
+5
-0
yd-csf-service/src/main/resources/mappers/PolicyholderMapper.xml
+5
-0
yd-csf-service/src/main/resources/mappers/ProductPlanMapper.xml
+5
-0
yd-csf-service/src/main/resources/mappers/RelTenantProjectAppointmentMapper.xml
+5
-0
yd-csf-service/src/main/resources/mappers/SecondHolderMapper.xml
+5
-0
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAdditionalController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiAdditionalService
;
import
com.yd.csf.feign.client.additional.ApiAdditionalFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
com.yd.csf.feign.response.additional.ApiAdditionalPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 预约-产品计划-附加险信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/additional"
)
@Validated
public
class
ApiAdditionalController
implements
ApiAdditionalFeignClient
{
@Autowired
private
ApiAdditionalService
apiAdditionalService
;
/**
* 附加险分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAdditionalPageResponse
>>
page
(
ApiAdditionalPageRequest
request
)
{
return
apiAdditionalService
.
page
(
request
);
}
/**
* 新增单个附加险信息
* @param apiProductPlanAdditionalInfoDto
* @return
*/
@Override
public
Result
add
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
)
{
return
apiAdditionalService
.
add
(
apiProductPlanAdditionalInfoDto
);
}
/**
* 编辑单个附加险信息
* @param apiProductPlanAdditionalInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
)
{
return
apiAdditionalService
.
edit
(
apiProductPlanAdditionalInfoDto
);
}
/**
* 单个附加险信息详情
* @param additionalBizId
* @return
*/
@Override
public
Result
<
ApiProductPlanAdditionalInfoDto
>
detail
(
String
additionalBizId
)
{
return
apiAdditionalService
.
detail
(
additionalBizId
);
}
/**
* 删除单个附加险信息
* @param additionalBizId
* @return
*/
@Override
public
Result
del
(
String
additionalBizId
)
{
return
apiAdditionalService
.
del
(
additionalBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAppointmentController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiAppointmentService
;
import
com.yd.csf.feign.client.appointment.ApiAppointmentFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto
;
import
com.yd.csf.feign.request.appointment.*
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 预约信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/appointment"
)
@Validated
public
class
ApiAppointmentController
implements
ApiAppointmentFeignClient
{
@Autowired
private
ApiAppointmentService
apiAppointmentService
;
/**
* 预约分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAppointmentPageResponse
>>
page
(
ApiAppointmentPageRequest
request
)
{
return
apiAppointmentService
.
page
(
request
);
}
/**
* 预约详情(聚合信息详情)
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
ApiAppointmentDetailResponse
>
detail
(
String
appointmentBizId
)
{
return
apiAppointmentService
.
detail
(
appointmentBizId
);
}
/**
* 预约主体信息详情(单个对象详情)
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
ApiAppointmentInfoDto
>
mainDetail
(
String
appointmentBizId
)
{
return
apiAppointmentService
.
mainDetail
(
appointmentBizId
);
}
/**
* 新增预约提交 (聚合信息新增预约提交)
* @param request
* @return
*/
@Override
public
Result
add
(
ApiAppointmentAddRequest
request
)
{
return
apiAppointmentService
.
add
(
request
);
}
/**
* 新增预约暂存
* @param request
* @return
*/
@Override
public
Result
addStorage
(
ApiAppointmentAddStorageRequest
request
)
{
return
apiAppointmentService
.
addStorage
(
request
);
}
/**
* 编辑预约提交 (聚合信息编辑预约提交)
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiAppointmentEditRequest
request
)
{
return
apiAppointmentService
.
edit
(
request
);
}
/**
* 确定预约时间提交 (流程流转到新单跟进)
* @param request
* @return
*/
@Override
public
Result
editConfirmTime
(
ApiAppointmentEditConfirmTimeRequest
request
)
{
return
apiAppointmentService
.
editConfirmTime
(
request
);
}
/**
* 单个对象编辑-编辑预约主体信息
* @param apiAppointmentInfoDto
* @return
*/
@Override
public
Result
singleEdit
(
ApiAppointmentInfoDto
apiAppointmentInfoDto
)
{
return
apiAppointmentService
.
singleEdit
(
apiAppointmentInfoDto
);
}
/**
* 预约编辑关联FNA
* @param request
* @return
*/
@Override
public
Result
editFna
(
ApiAppointmentEditFnaRequest
request
)
{
return
apiAppointmentService
.
editFna
(
request
);
}
/**
* 预约解除关联FNA
* @param request
* @return
*/
@Override
public
Result
removeFna
(
ApiAppointmentRemoveFnaRequest
request
)
{
return
apiAppointmentService
.
removeFna
(
request
);
}
/**
* 预约编辑关联计划书
* @param request
* @return
*/
@Override
public
Result
editProposal
(
ApiAppointmentEditProposalRequest
request
)
{
return
apiAppointmentService
.
editProposal
(
request
);
}
/**
* 预约解除关联计划书
* @param request
* @return
*/
@Override
public
Result
removeProposal
(
ApiAppointmentRemoveProposalRequest
request
)
{
return
apiAppointmentService
.
removeProposal
(
request
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiAppointmentFileController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiAppointmentFileService
;
import
com.yd.csf.feign.client.appointmentfile.ApiAppointmentFileFeignClient
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
/**
* 预约附件信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/appointmentFile"
)
@Validated
public
class
ApiAppointmentFileController
implements
ApiAppointmentFileFeignClient
{
@Autowired
private
ApiAppointmentFileService
apiAppointmentFileService
;
/**
* 预约附件信息分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAppointmentFilePageResponse
>>
page
(
ApiAppointmentFilePageRequest
request
)
{
return
apiAppointmentFileService
.
page
(
request
);
}
/**
* 新增预约附件信息
* @param request
* @return
*/
@Override
public
Result
add
(
ApiAppointmentFileAddRequest
request
)
{
return
apiAppointmentFileService
.
add
(
request
);
}
/**
* 编辑预约附件信息
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiAppointmentFileEditRequest
request
)
{
return
apiAppointmentFileService
.
edit
(
request
);
}
/**
* 删除预约附件
* @param appointmentFileBizId
* @return
*/
@Override
public
Result
del
(
String
appointmentFileBizId
)
{
return
apiAppointmentFileService
.
del
(
appointmentFileBizId
);
}
/**
* 下载预约附件
* @param appointmentFileBizId
* @return
*/
@Override
public
Result
download
(
String
appointmentFileBizId
)
{
return
apiAppointmentFileService
.
download
(
appointmentFileBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiBeneficiaryController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiBeneficiaryService
;
import
com.yd.csf.feign.client.beneficiary.ApiBeneficiaryFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
com.yd.csf.feign.request.beneficiary.ApiBeneficiaryPageRequest
;
import
com.yd.csf.feign.response.beneficiary.ApiBeneficiaryPageResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
/**
* 预约-受益人信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/beneficiary"
)
public
class
ApiBeneficiaryController
implements
ApiBeneficiaryFeignClient
{
@Autowired
private
ApiBeneficiaryService
apiBeneficiaryService
;
/**
* 受益人信息分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiBeneficiaryPageResponse
>>
page
(
ApiBeneficiaryPageRequest
request
)
{
return
null
;
}
/**
* 受益人信息列表查询
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
List
<
ApiBeneficiaryInfoDto
>>
list
(
String
appointmentBizId
)
{
return
apiBeneficiaryService
.
list
(
appointmentBizId
);
}
/**
* 新增单个受益人信息
* @param apiBeneficiaryInfoDto
* @return
*/
@Override
public
Result
add
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
)
{
return
apiBeneficiaryService
.
add
(
apiBeneficiaryInfoDto
);
}
/**
* 编辑单个受益人信息
* @param apiBeneficiaryInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
)
{
return
apiBeneficiaryService
.
edit
(
apiBeneficiaryInfoDto
);
}
/**
* 删除单个受益人信息
* @param beneficiaryBizId
* @return
*/
@Override
public
Result
del
(
String
beneficiaryBizId
)
{
return
apiBeneficiaryService
.
del
(
beneficiaryBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiInsurantController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiInsurantService
;
import
com.yd.csf.feign.client.insurant.ApiInsurantFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 预约-受保人信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/insurant"
)
@Validated
public
class
ApiInsurantController
implements
ApiInsurantFeignClient
{
@Autowired
private
ApiInsurantService
apiInsurantService
;
/**
* 编辑受保人信息
* @param apiInsurantInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiInsurantInfoDto
apiInsurantInfoDto
)
{
return
apiInsurantService
.
edit
(
apiInsurantInfoDto
);
}
/**
* 受保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param insurantBizId 受保人信息表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiInsurantInfoDto
>
detail
(
String
appointmentBizId
,
String
insurantBizId
)
{
return
apiInsurantService
.
detail
(
appointmentBizId
,
insurantBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyholderController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiPolicyholderService
;
import
com.yd.csf.feign.client.policyholder.ApiPolicyholderFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 预约-投保人信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/policyholder"
)
@Validated
public
class
ApiPolicyholderController
implements
ApiPolicyholderFeignClient
{
@Autowired
private
ApiPolicyholderService
apiPolicyholderService
;
/**
* 编辑投保人信息
* @param apiPolicyholderInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
)
{
return
apiPolicyholderService
.
edit
(
apiPolicyholderInfoDto
);
}
/**
* 投保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param policyholderBizId 投保人信息表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiPolicyholderInfoDto
>
detail
(
String
appointmentBizId
,
String
policyholderBizId
)
{
return
apiPolicyholderService
.
detail
(
appointmentBizId
,
policyholderBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiProductPlanController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiProductPlanService
;
import
com.yd.csf.feign.client.productplan.ApiProductPlanFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 预约-产品计划信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/productPlan"
)
@Validated
public
class
ApiProductPlanController
implements
ApiProductPlanFeignClient
{
@Autowired
private
ApiProductPlanService
apiProductPlanService
;
/**
* 编辑产品计划主体信息
* @param apiProductPlanMainInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
)
{
return
apiProductPlanService
.
edit
(
apiProductPlanMainInfoDto
);
}
/**
* 产品计划详情
* @param planBizId
* @return
*/
@Override
public
Result
<
ApiProductPlanInfoDto
>
detail
(
String
appointmentBizId
,
String
planBizId
)
{
return
apiProductPlanService
.
detail
(
appointmentBizId
,
planBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiSecondHolderController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.service.ApiSecondHolderService
;
import
com.yd.csf.feign.client.secondholder.ApiSecondHolderFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiSecondHolderInfoDto
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
/**
* 预约-第二持有人信息
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/secondHolder"
)
@Validated
public
class
ApiSecondHolderController
implements
ApiSecondHolderFeignClient
{
@Autowired
private
ApiSecondHolderService
apiSecondHolderService
;
/**
* 编辑第二持有人信息
* @param apiSecondHolderInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
)
{
return
apiSecondHolderService
.
edit
(
apiSecondHolderInfoDto
);
}
/**
* 第二持有人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param secondHolderBizId 第二持有人信息表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiSecondHolderInfoDto
>
detail
(
String
appointmentBizId
,
String
secondHolderBizId
)
{
return
apiSecondHolderService
.
detail
(
appointmentBizId
,
secondHolderBizId
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/controller/RelTenantProjectAppointmentController.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* <p>
* 租户-项目-保险预约关系表 前端控制器
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@RestController
@RequestMapping
(
"/relTenantProjectAppointment"
)
public
class
RelTenantProjectAppointmentController
{
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/CustomerTypeCompanyCheckCommonDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
dto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 校验客户类型为公司类型的公共参数字段
*/
@Data
public
class
CustomerTypeCompanyCheckCommonDto
{
/**
* 公司名称
*/
private
String
companyName
;
/**
* 公司名称(英文)
*/
private
String
companyNameEn
;
/**
* 公司商业登记号码
*/
private
String
companyBusinessNo
;
/**
* 公司注册日期
*/
private
LocalDateTime
companyRegisterTime
;
/**
* 公司注册地区(字典)
*/
private
String
companyRegisterRegion
;
/**
* 公司电话区号
*/
private
String
companyMobileCode
;
/**
* 公司电话
*/
private
String
companyMobile
;
}
yd-csf-api/src/main/java/com/yd/csf/api/dto/CustomerTypeIndividualCheckCommonDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
dto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 校验客户类型为个人类型的公共参数字段
*/
@Data
public
class
CustomerTypeIndividualCheckCommonDto
{
/**
* 名字
*/
private
String
name
;
/**
* 名字-英文
*/
private
String
nameEn
;
/**
* 性别(字典)
*/
private
String
gender
;
}
yd-csf-api/src/main/java/com/yd/csf/api/service/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAdditionalService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
com.yd.csf.feign.response.additional.ApiAdditionalPageResponse
;
import
java.util.List
;
public
interface
ApiAdditionalService
{
Result
<
IPage
<
ApiAdditionalPageResponse
>>
page
(
ApiAdditionalPageRequest
request
);
Result
<
List
<
ApiProductPlanAdditionalInfoDto
>>
list
(
String
planBizId
);
Result
add
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
);
Result
edit
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
);
Result
<
ApiProductPlanAdditionalInfoDto
>
detail
(
String
additionalBizId
);
Result
del
(
String
additionalBizId
);
Result
batchAddAdditionalData
(
ApiProductPlanInfoDto
dto
,
String
planBizId
);
Result
batchEditAdditionalData
(
ApiProductPlanInfoDto
dto
,
String
planBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentCheckService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.*
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentAddRequest
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentEditRequest
;
import
java.util.List
;
public
interface
ApiAppointmentCheckService
{
Result
checkAddRequest
(
ApiAppointmentAddRequest
request
);
Result
checkEditRequest
(
ApiAppointmentEditRequest
request
);
Result
checkCustomerAndFna
(
ApiAppointmentInfoDto
dto
,
String
tipStr
);
Result
checkEditApiAppointmentInfoDto
(
ApiAppointmentInfoDto
dto
);
Result
checkEditApiProductPlanMainInfoDto
(
ApiProductPlanMainInfoDto
dto
);
Result
checkAddApiProductPlanAdditionalInfoDtoList
(
List
<
ApiProductPlanAdditionalInfoDto
>
list
);
Result
checkEditApiPolicyholderInfoDto
(
ApiPolicyholderInfoDto
dto
);
Result
checkEditApiInsurantInfoDto
(
ApiInsurantInfoDto
dto
);
Result
checkAddApiBeneficiaryInfoDtoList
(
List
<
ApiBeneficiaryInfoDto
>
list
);
Result
checkEditApiSecondHolderInfoDto
(
ApiSecondHolderInfoDto
dto
);
Result
checkEditApiProductPlanAdditionalInfoDto
(
ApiProductPlanAdditionalInfoDto
dto
);
Result
checkEditApiBeneficiaryInfoDto
(
ApiBeneficiaryInfoDto
dto
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentFileService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointmentfile.ApiAppointmentFileDto
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse
;
import
java.util.List
;
public
interface
ApiAppointmentFileService
{
Result
<
IPage
<
ApiAppointmentFilePageResponse
>>
page
(
ApiAppointmentFilePageRequest
request
);
Result
<
List
<
ApiAppointmentFileDto
>>
list
(
String
appointmentBizId
);
Result
add
(
ApiAppointmentFileAddRequest
request
);
Result
edit
(
ApiAppointmentFileEditRequest
request
);
Result
del
(
String
appointmentFileBizId
);
Result
download
(
String
appointmentFileBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiAppointmentService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto
;
import
com.yd.csf.feign.request.appointment.*
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
public
interface
ApiAppointmentService
{
Result
<
IPage
<
ApiAppointmentPageResponse
>>
page
(
ApiAppointmentPageRequest
request
);
Result
<
ApiAppointmentDetailResponse
>
detail
(
String
appointmentBizId
);
Result
<
ApiAppointmentInfoDto
>
mainDetail
(
String
appointmentBizId
);
Result
add
(
ApiAppointmentAddRequest
request
);
Result
addStorage
(
ApiAppointmentAddStorageRequest
request
);
Result
edit
(
ApiAppointmentEditRequest
request
);
Result
editConfirmTime
(
ApiAppointmentEditConfirmTimeRequest
request
);
Result
singleEdit
(
ApiAppointmentInfoDto
apiAppointmentInfoDto
);
Result
editFna
(
ApiAppointmentEditFnaRequest
request
);
Result
removeFna
(
ApiAppointmentRemoveFnaRequest
request
);
Result
editProposal
(
ApiAppointmentEditProposalRequest
request
);
Result
removeProposal
(
ApiAppointmentRemoveProposalRequest
request
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiBeneficiaryService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto
;
import
java.util.List
;
public
interface
ApiBeneficiaryService
{
Result
<
List
<
ApiBeneficiaryInfoDto
>>
list
(
String
appointmentBizId
);
Result
add
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
);
Result
edit
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
);
Result
del
(
String
beneficiaryBizId
);
Result
batchAddBeneficiaryData
(
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
,
String
appointmentBizId
);
Result
batchEditBeneficiaryData
(
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
,
String
appointmentBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiInsurantService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
com.yd.csf.service.model.Insurant
;
public
interface
ApiInsurantService
{
Result
<
ApiInsurantInfoDto
>
detail
(
String
appointmentBizId
,
String
insurantBizId
);
Result
edit
(
ApiInsurantInfoDto
apiInsurantInfoDto
);
Result
<
Insurant
>
addInsurantData
(
ApiInsurantInfoDto
dto
,
String
appointmentBizId
);
Result
<
Insurant
>
editInsurantData
(
ApiInsurantInfoDto
dto
,
String
appointmentBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiPolicyholderService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto
;
import
com.yd.csf.service.model.Policyholder
;
public
interface
ApiPolicyholderService
{
Result
<
ApiPolicyholderInfoDto
>
detail
(
String
appointmentBizId
,
String
policyholderBizId
);
Result
edit
(
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
);
Result
<
Policyholder
>
addPolicyholderData
(
ApiPolicyholderInfoDto
dto
,
String
appointmentBizId
);
Result
<
Policyholder
>
editPolicyholderData
(
ApiPolicyholderInfoDto
dto
,
String
appointmentBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiProductPlanService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto
;
import
com.yd.csf.service.model.ProductPlan
;
public
interface
ApiProductPlanService
{
Result
<
ApiProductPlanInfoDto
>
detail
(
String
appointmentBizId
,
String
planBizId
);
Result
<
ApiProductPlanMainInfoDto
>
mainDetail
(
String
appointmentBizId
,
String
planBizId
);
Result
edit
(
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
);
Result
<
ProductPlan
>
addProductPlanData
(
ApiProductPlanInfoDto
dto
,
String
appointmentBizId
);
Result
<
ProductPlan
>
editProductPlanData
(
ApiProductPlanInfoDto
dto
,
String
appointmentBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/ApiSecondHolderService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiSecondHolderInfoDto
;
import
com.yd.csf.service.model.SecondHolder
;
public
interface
ApiSecondHolderService
{
Result
<
ApiSecondHolderInfoDto
>
detail
(
String
appointmentBizId
,
String
secondHolderBizId
);
Result
edit
(
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
);
Result
<
SecondHolder
>
addSecondHolderData
(
ApiSecondHolderInfoDto
dto
,
String
appointmentBizId
);
Result
<
SecondHolder
>
editSecondHolderData
(
ApiSecondHolderInfoDto
dto
,
String
appointmentBizId
);
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAdditionalServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAdditionalService
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
com.yd.csf.feign.response.additional.ApiAdditionalPageResponse
;
import
com.yd.csf.service.dto.AdditionalDto
;
import
com.yd.csf.service.model.Additional
;
import
com.yd.csf.service.service.IAdditionalService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 产品计划-附加险信息业务实现类
*/
@Slf4j
@Service
public
class
ApiAdditionalServiceImpl
implements
ApiAdditionalService
{
@Autowired
private
IAdditionalService
iAdditionalService
;
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
/**
* 附加险分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAdditionalPageResponse
>>
page
(
ApiAdditionalPageRequest
request
)
{
Page
<
ApiAdditionalPageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiAdditionalPageResponse
>
iPage
=
iAdditionalService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
/**
* 附加险列表查询
* @param planBizId
* @return
*/
@Override
public
Result
<
List
<
ApiProductPlanAdditionalInfoDto
>>
list
(
String
planBizId
)
{
List
<
ApiProductPlanAdditionalInfoDto
>
dtoList
=
new
ArrayList
<>();
List
<
Additional
>
list
=
iAdditionalService
.
queryList
(
AdditionalDto
.
builder
()
.
planBizId
(
planBizId
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
dtoList
=
list
.
stream
().
map
(
dto
->
{
ApiProductPlanAdditionalInfoDto
infoDto
=
new
ApiProductPlanAdditionalInfoDto
();
BeanUtils
.
copyProperties
(
dto
,
infoDto
);
return
infoDto
;
}).
collect
(
Collectors
.
toList
());
}
return
Result
.
success
(
dtoList
);
}
/**
* 新增单个附加险信息
* @param apiProductPlanAdditionalInfoDto
* @return
*/
@Override
public
Result
add
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
)
{
List
<
ApiProductPlanAdditionalInfoDto
>
list
=
new
ArrayList
<>();
list
.
add
(
apiProductPlanAdditionalInfoDto
);
//新增单个附加险信息入参字段校验 - 产品计划信息字段校验 - 产品附加险信息列表字段校验
apiAppointmentCheckService
.
checkAddApiProductPlanAdditionalInfoDtoList
(
list
);
ApiProductPlanInfoDto
productPlanInfoDto
=
new
ApiProductPlanInfoDto
();
productPlanInfoDto
.
setApiProductPlanAdditionalInfoDtoList
(
list
);
//批量添加产品计划-附加险信息表数据
batchAddAdditionalData
(
productPlanInfoDto
,
apiProductPlanAdditionalInfoDto
.
getPlanBizId
());
return
Result
.
success
();
}
/**
* 编辑单个附加险信息
* @param apiProductPlanAdditionalInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
)
{
//编辑预约入参字段校验 - 产品计划信息字段校验 - 编辑产品附加险信息单个对象字段校验
apiAppointmentCheckService
.
checkEditApiProductPlanAdditionalInfoDto
(
apiProductPlanAdditionalInfoDto
);
List
<
ApiProductPlanAdditionalInfoDto
>
apiProductPlanAdditionalInfoDtoList
=
new
ArrayList
<>();
apiProductPlanAdditionalInfoDtoList
.
add
(
apiProductPlanAdditionalInfoDto
);
ApiProductPlanInfoDto
productPlanInfoDto
=
new
ApiProductPlanInfoDto
();
productPlanInfoDto
.
setApiProductPlanAdditionalInfoDtoList
(
apiProductPlanAdditionalInfoDtoList
);
//批量编辑产品计划-附加险信息表数据
batchEditAdditionalData
(
productPlanInfoDto
,
apiProductPlanAdditionalInfoDto
.
getPlanBizId
());
return
Result
.
success
();
}
/**
* 单个附加险信息详情
* @param additionalBizId
* @return
*/
@Override
public
Result
<
ApiProductPlanAdditionalInfoDto
>
detail
(
String
additionalBizId
)
{
ApiProductPlanAdditionalInfoDto
dto
=
new
ApiProductPlanAdditionalInfoDto
();
//校验附加险信息是否存在
Result
<
Additional
>
result
=
checkAdditionalIsExist
(
additionalBizId
);
Additional
additional
=
result
.
getData
();
BeanUtils
.
copyProperties
(
additional
,
dto
);
return
Result
.
success
(
dto
);
}
/**
* 删除单个附加险信息
* @param additionalBizId
* @return
*/
@Override
public
Result
del
(
String
additionalBizId
)
{
//校验附加险信息是否存在
Result
<
Additional
>
result
=
checkAdditionalIsExist
(
additionalBizId
);
Additional
additional
=
result
.
getData
();
iAdditionalService
.
removeById
(
additional
.
getId
());
return
Result
.
success
();
}
/**
* 批量添加产品计划-附加险信息表数据
* @param productPlanInfoDto
* @param planBizId
* @return
*/
@Override
public
Result
batchAddAdditionalData
(
ApiProductPlanInfoDto
productPlanInfoDto
,
String
planBizId
)
{
if
(
Objects
.
isNull
(
productPlanInfoDto
)
||
(
!
Objects
.
isNull
(
productPlanInfoDto
)
&&
CollectionUtils
.
isEmpty
(
productPlanInfoDto
.
getApiProductPlanAdditionalInfoDtoList
()))){
//为空放行
return
Result
.
success
();
}
//附加险列表信息
List
<
ApiProductPlanAdditionalInfoDto
>
list
=
productPlanInfoDto
.
getApiProductPlanAdditionalInfoDtoList
();
//构造需要新增数据的对象集合
List
<
Additional
>
additionalList
=
list
.
stream
().
map
(
dto
->
{
Additional
additional
=
new
Additional
();
BeanUtils
.
copyProperties
(
dto
,
additional
);
//生成附加险信息表唯一业务ID
additional
.
setAdditionalBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_ADDITIONAL
.
getCode
()));
//产品计划信息表唯一业务ID
additional
.
setPlanBizId
(
planBizId
);
return
additional
;
}).
collect
(
Collectors
.
toList
());
iAdditionalService
.
saveOrUpdateBatch
(
additionalList
);
return
Result
.
success
();
}
/**
* 批量编辑产品计划-附加险信息表数据
* @param productPlanInfoDto
* @param planBizId
* @return
*/
@Override
public
Result
batchEditAdditionalData
(
ApiProductPlanInfoDto
productPlanInfoDto
,
String
planBizId
)
{
if
(
Objects
.
isNull
(
productPlanInfoDto
)
||
(
!
Objects
.
isNull
(
productPlanInfoDto
)
&&
CollectionUtils
.
isEmpty
(
productPlanInfoDto
.
getApiProductPlanAdditionalInfoDtoList
()))){
//为空放行
return
Result
.
success
();
}
//入参的附加险列表信息
List
<
ApiProductPlanAdditionalInfoDto
>
list
=
productPlanInfoDto
.
getApiProductPlanAdditionalInfoDtoList
();
//获取不为空的附加险信息表唯一业务ID列表
List
<
String
>
additionalBizIdList
=
list
.
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getAdditionalBizId
()))
.
map
(
ApiProductPlanAdditionalInfoDto:
:
getAdditionalBizId
)
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
additionalBizIdList
))
{
//入参的附加险业务id列表至少一个不为空就走表数据校验,全部为空是全部新增操作,不走表数据校验
//根据附加险信息表唯一业务ID列表查询表里面的列表信息
List
<
Additional
>
additionals
=
iAdditionalService
.
queryList
(
AdditionalDto
.
builder
()
.
additionalBizIdList
(
additionalBizIdList
).
build
());
//过滤入参的附加险列表信息在表里不存在的集合,然后抛出这些不存在的列表信息
// 提取 existingAdditionalBizIds:从 additionals 中获取所有已存在的 additionalBizId 集合
Set
<
String
>
existingAdditionalBizIds
=
additionals
.
stream
()
.
map
(
Additional:
:
getAdditionalBizId
)
.
collect
(
Collectors
.
toSet
());
// 过滤 list:保留 additionalBizId 不在 existingAdditionalBizIds 中的对象
List
<
ApiProductPlanAdditionalInfoDto
>
filteredList
=
list
.
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getAdditionalBizId
())
&&
!
existingAdditionalBizIds
.
contains
(
dto
.
getAdditionalBizId
()))
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
filteredList
))
{
//入参对象列表中有传值的业务id在库中不存在的对象,提示
List
<
String
>
additionalProductNameList
=
filteredList
.
stream
()
.
map
(
ApiProductPlanAdditionalInfoDto:
:
getProductName
)
.
collect
(
Collectors
.
toList
());
throw
new
BusinessException
(
"以下是在库里不存在的附加险数据的附加产品名称:"
+
String
.
join
(
" ;"
,
additionalProductNameList
));
}
}
//构造需要新增或者更新数据的对象集合
List
<
Additional
>
updateList
=
list
.
stream
().
map
(
dto
->
{
Additional
additional
=
new
Additional
();
BeanUtils
.
copyProperties
(
dto
,
additional
);
additional
.
setPlanBizId
(
planBizId
);
if
(
StringUtils
.
isBlank
(
dto
.
getAdditionalBizId
()))
{
//为空表示新增数据
//生成附加险信息表唯一业务ID
additional
.
setAdditionalBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_ADDITIONAL
.
getCode
()));
}
return
additional
;
}).
collect
(
Collectors
.
toList
());
//批量新增或者更新
iAdditionalService
.
saveOrUpdateBatch
(
updateList
);
return
Result
.
success
();
}
/**
* 校验附加险信息是否存在
* @param additionalBizId
* @return
*/
public
Result
<
Additional
>
checkAdditionalIsExist
(
String
additionalBizId
)
{
Additional
additional
=
iAdditionalService
.
queryOne
(
additionalBizId
);
if
(
Objects
.
isNull
(
additional
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
additional
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentCheckServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.csf.api.dto.CustomerTypeCompanyCheckCommonDto
;
import
com.yd.csf.api.dto.CustomerTypeIndividualCheckCommonDto
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.feign.dto.appointment.*
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentAddRequest
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentEditRequest
;
import
com.yd.csf.service.enums.CustomerTypeEnum
;
import
com.yd.csf.service.enums.RelTypeEnum
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 预约参数校验实现类
*/
@Slf4j
@Service
public
class
ApiAppointmentCheckServiceImpl
implements
ApiAppointmentCheckService
{
/**
* 新增预约入参字段校验(非库校验)
* @param request
* @return
*/
public
Result
checkAddRequest
(
ApiAppointmentAddRequest
request
)
{
//新增预约入参字段校验 - 预约信息字段校验
checkAddApiAppointmentInfoDto
(
request
.
getApiAppointmentInfoDto
());
//新增预约入参字段校验 - 产品计划信息字段校验
checkAddApiProductPlanInfoDto
(
request
.
getApiProductPlanInfoDto
());
//新增预约入参字段校验 - 投保人信息字段校验
checkAddApiPolicyholderInfoDto
(
request
.
getApiPolicyholderInfoDto
());
//新增预约入参字段校验 - 受保人信息字段校验
checkAddApiInsurantInfoDto
(
request
.
getApiInsurantInfoDto
());
//新增预约入参字段校验 - 受益人列表信息字段校验
checkAddApiBeneficiaryInfoDtoList
(
request
.
getApiBeneficiaryInfoDtoList
());
//新增预约入参字段校验 - 第二持有人信息字段校验
checkAddApiSecondHolderInfoDto
(
request
.
getApiSecondHolderInfoDto
());
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验(非库校验)
* @param request
* @return
*/
@Override
public
Result
checkEditRequest
(
ApiAppointmentEditRequest
request
)
{
//编辑预约入参字段校验 - 预约信息字段校验
checkEditApiAppointmentInfoDto
(
request
.
getApiAppointmentInfoDto
());
//编辑预约入参字段校验 - 产品计划信息字段校验
checkEditApiProductPlanInfoDto
(
request
.
getApiProductPlanInfoDto
());
//编辑预约入参字段校验 - 投保人信息字段校验
checkEditApiPolicyholderInfoDto
(
request
.
getApiPolicyholderInfoDto
());
//新增预约入参字段校验 - 受保人信息字段校验
checkEditApiInsurantInfoDto
(
request
.
getApiInsurantInfoDto
());
//编辑预约入参字段校验 - 受益人列表信息字段校验 TODO
// checkEditApiBeneficiaryInfoDtoList(request.getApiBeneficiaryInfoDtoList());
//编辑预约入参字段校验 - 第二持有人信息字段校验
checkEditApiSecondHolderInfoDto
(
request
.
getApiSecondHolderInfoDto
());
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 预约信息字段校验
* @param dto
* @return
*/
public
Result
checkAddApiAppointmentInfoDto
(
ApiAppointmentInfoDto
dto
)
{
String
tipStr
=
"预约信息-"
;
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息表主键id不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentNo
()))
{
throw
new
BusinessException
(
tipStr
+
"预约编号不传值"
);
}
//校验预约信息参数公共方法
checkApiAppointmentInfoDtoCommon
(
dto
,
tipStr
);
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 预约信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiAppointmentInfoDto
(
ApiAppointmentInfoDto
dto
)
{
String
tipStr
=
"预约信息-"
;
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息表主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentNo
()))
{
throw
new
BusinessException
(
tipStr
+
"预约编号不能为空"
);
}
//校验预约信息参数公共方法
checkApiAppointmentInfoDtoCommon
(
dto
,
tipStr
);
return
Result
.
success
();
}
/**
* 新增或者编辑-校验预约信息参数公共方法
* @param dto
* @return
*/
public
Result
checkApiAppointmentInfoDtoCommon
(
ApiAppointmentInfoDto
dto
,
String
tipStr
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getApplyType
()))
{
throw
new
BusinessException
(
tipStr
+
"申请类型不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getIntentionAppointmentTime
()))
{
throw
new
BusinessException
(
tipStr
+
"意向预约时间不能为空"
);
}
//校验预约信息-客户和fna入参
checkCustomerAndFna
(
dto
,
tipStr
);
if
(
StringUtils
.
isNotBlank
(
dto
.
getProposalNo
())
&&
StringUtils
.
isBlank
(
dto
.
getProposalBizId
()))
{
//计划书编号不为空并且计划书信息表唯一业务ID为空,提示:计划书信息表唯一业务ID不能为空
throw
new
BusinessException
(
tipStr
+
"计划书信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getProposalBizId
())
&&
StringUtils
.
isBlank
(
dto
.
getProposalNo
()))
{
//计划书编号为空并且计划书信息表唯一业务ID不为空,提示:计划书编号不能为空
throw
new
BusinessException
(
tipStr
+
"计划书编号不能为空"
);
}
return
Result
.
success
();
}
/**
* 校验预约信息-客户和fna入参
* @param dto
* @param tipStr
* @return
*/
public
Result
checkCustomerAndFna
(
ApiAppointmentInfoDto
dto
,
String
tipStr
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"客户信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerNo
()))
{
throw
new
BusinessException
(
tipStr
+
"客户编号不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getFnaBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"FNA信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getFnaNo
()))
{
throw
new
BusinessException
(
tipStr
+
"FNA编号不能为空"
);
}
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 产品计划信息字段校验
* @param dto
* @return
*/
public
Result
checkAddApiProductPlanInfoDto
(
ApiProductPlanInfoDto
dto
)
{
//新增预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
checkAddApiProductPlanMainInfoDto
(
dto
.
getApiProductPlanMainInfoDto
());
//新增预约入参字段校验 - 产品计划信息字段校验 - 产品附加险信息列表字段校验
checkAddApiProductPlanAdditionalInfoDtoList
(
dto
.
getApiProductPlanAdditionalInfoDtoList
());
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 产品计划信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiProductPlanInfoDto
(
ApiProductPlanInfoDto
dto
)
{
//编辑预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
checkEditApiProductPlanMainInfoDto
(
dto
.
getApiProductPlanMainInfoDto
());
//编辑预约入参字段校验 - 产品计划信息字段校验 - 产品附加险信息列表字段校验 TODO
// checkEditApiProductPlanAdditionalInfoDtoList(dto.getApiProductPlanAdditionalInfoDtoList());
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
* @param dto
* @return
*/
public
Result
checkAddApiProductPlanMainInfoDto
(
ApiProductPlanMainInfoDto
dto
){
String
tipStr
=
"产品计划-"
;
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"产品计划表主键id不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getPlanBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"产品计划信息表唯一业务ID不传值"
);
}
//新增或者编辑预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
checkApiProductPlanMainInfoDtoCommon
(
dto
,
tipStr
);
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiProductPlanMainInfoDto
(
ApiProductPlanMainInfoDto
dto
){
String
tipStr
=
"产品计划-"
;
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"产品计划表主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPlanBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"产品计划信息表唯一业务ID不能为空"
);
}
//新增或者编辑预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
checkApiProductPlanMainInfoDtoCommon
(
dto
,
tipStr
);
return
Result
.
success
();
}
/**
* 新增或者编辑预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
* @param dto
* @return
*/
public
Result
checkApiProductPlanMainInfoDtoCommon
(
ApiProductPlanMainInfoDto
dto
,
String
tipStr
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getProductBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"保险产品唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getProductName
()))
{
throw
new
BusinessException
(
tipStr
+
"保险产品名称不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getCurrency
()))
{
throw
new
BusinessException
(
tipStr
+
"货币不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPaymentTerm
()))
{
throw
new
BusinessException
(
tipStr
+
"供款年期不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPaymentFrequency
()))
{
throw
new
BusinessException
(
tipStr
+
"付款频率不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getEachIssuePremium
()))
{
throw
new
BusinessException
(
tipStr
+
"每期保费不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getSumInsured
()))
{
throw
new
BusinessException
(
tipStr
+
"保额不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getIsPrepay
()))
{
throw
new
BusinessException
(
tipStr
+
"是否预缴保费不能为空"
);
}
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 产品计划信息字段校验 - 产品附加险信息列表字段校验
* @param list
* @return
*/
public
Result
checkAddApiProductPlanAdditionalInfoDtoList
(
List
<
ApiProductPlanAdditionalInfoDto
>
list
){
if
(
CollectionUtils
.
isEmpty
(
list
))
{
//为空放行,不校验
return
Result
.
success
();
}
String
tipStr
=
"产品计划-产品附加险-"
;
//列表下标标记位
int
i
=
1
;
for
(
ApiProductPlanAdditionalInfoDto
dto
:
list
)
{
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的产品计划-附加险信息表主键id不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAdditionalBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的附加险信息表唯一业务ID不传值"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPlanBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的产品计划信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAdditionalProductBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的保险附加产品唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getCurrency
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的货币不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getPremium
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的保费不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getSumInsured
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的保额不能为空"
);
}
i
++;
}
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 产品计划信息字段校验 - 编辑产品附加险信息单个对象字段校验
* @param dto
* @return
*/
public
Result
checkEditApiProductPlanAdditionalInfoDto
(
ApiProductPlanAdditionalInfoDto
dto
){
String
tipStr
=
"产品计划-产品附加险-"
;
if
(
Objects
.
isNull
(
dto
))
{
throw
new
BusinessException
(
tipStr
+
"产品计划-附加险信息对象不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"产品计划-附加险信息表主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAdditionalBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"附加险信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPlanBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"产品计划信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAdditionalProductBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"保险附加产品唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getCurrency
()))
{
throw
new
BusinessException
(
tipStr
+
"货币不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getPremium
()))
{
throw
new
BusinessException
(
tipStr
+
"保费不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getSumInsured
()))
{
throw
new
BusinessException
(
tipStr
+
"保额不能为空"
);
}
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 投保人信息字段校验
* @param dto
* @return
*/
public
Result
checkAddApiPolicyholderInfoDto
(
ApiPolicyholderInfoDto
dto
)
{
String
tipStr
=
"投保人-"
;
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerType
()))
{
throw
new
BusinessException
(
tipStr
+
"客户类型不能为空"
);
}
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"投保人信息主键id不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getPolicyholderBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"投保人信息表唯一业务ID不传值"
);
}
//校验客户类型、客户业务id和客户编号字段
checkCustomerBizIdAndNo
(
dto
.
getCustomerBizId
(),
dto
.
getCustomerNo
(),
tipStr
);
//新增或者编辑-校验投保人信息参数公共方法
checkApiPolicyholderInfoDtoCommon
(
dto
,
tipStr
);
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 投保人信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiPolicyholderInfoDto
(
ApiPolicyholderInfoDto
dto
)
{
String
tipStr
=
"投保人-"
;
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerType
()))
{
throw
new
BusinessException
(
tipStr
+
"客户类型不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"投保人信息主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPolicyholderBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"投保人信息表唯一业务ID不能为空"
);
}
//校验客户类型、客户业务id和客户编号字段
checkCustomerBizIdAndNo
(
dto
.
getCustomerBizId
(),
dto
.
getCustomerNo
(),
tipStr
);
//新增或者编辑-校验投保人信息参数公共方法
checkApiPolicyholderInfoDtoCommon
(
dto
,
tipStr
);
return
Result
.
success
();
}
/**
* 新增或者编辑-校验投保人或者受保人信息参数公共方法
* @param dto
* @return
*/
public
Result
checkApiPolicyholderInfoDtoCommon
(
ApiPolicyholderInfoDto
dto
,
String
tipStr
)
{
if
(
CustomerTypeEnum
.
INDIVIDUAL
.
getItemValue
().
equals
(
dto
.
getCustomerType
()))
{
//客户类型为个人的字段校验
if
(
StringUtils
.
isBlank
(
dto
.
getMobile
()))
{
throw
new
BusinessException
(
tipStr
+
"移动电话不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getMobileCode
()))
{
throw
new
BusinessException
(
tipStr
+
"移动电话区号不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getNationality
()))
{
throw
new
BusinessException
(
tipStr
+
"国籍不能为空"
);
}
//校验客户类型为个人类型的公共参数字段
CustomerTypeIndividualCheckCommonDto
individualCheckCommonDto
=
new
CustomerTypeIndividualCheckCommonDto
();
BeanUtils
.
copyProperties
(
dto
,
individualCheckCommonDto
);
checkCustomerTypeIndividualCheckCommonDto
(
individualCheckCommonDto
,
tipStr
);
}
else
if
(
CustomerTypeEnum
.
COMPANY
.
getItemValue
().
equals
(
dto
.
getCustomerType
())){
//客户类型为公司的字段校验
CustomerTypeCompanyCheckCommonDto
companyCheckCommonDto
=
new
CustomerTypeCompanyCheckCommonDto
();
BeanUtils
.
copyProperties
(
dto
,
companyCheckCommonDto
);
//校验客户类型为公司类型的公共参数字段
checkCustomerTypeCompanyCheckCommonDto
(
companyCheckCommonDto
,
tipStr
);
}
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 受保人信息字段校验
* @param dto
* @return
*/
public
Result
checkAddApiInsurantInfoDto
(
ApiInsurantInfoDto
dto
)
{
String
tipStr
=
"受保人-"
;
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerType
()))
{
throw
new
BusinessException
(
tipStr
+
"客户类型不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPolicyholderRel
()))
{
throw
new
BusinessException
(
tipStr
+
"与投保人关系不能为空"
);
}
if
(
RelTypeEnum
.
MYSELF
.
getItemValue
().
equals
(
dto
.
getPolicyholderRel
()))
{
//如果对象空或者与投保人关系为本人,就放行不校验
return
Result
.
success
();
}
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"受保人信息表主键id不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getInsurantBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"受保人信息表唯一业务ID不传值"
);
}
//校验客户业务id和客户编号字段
checkCustomerBizIdAndNo
(
dto
.
getCustomerBizId
(),
dto
.
getCustomerNo
(),
tipStr
);
//新增或者编辑-校验受保人信息参数 --> 复用新增或者编辑-校验投保人信息参数公共方法
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
=
new
ApiPolicyholderInfoDto
();
BeanUtils
.
copyProperties
(
dto
,
apiPolicyholderInfoDto
);
checkApiPolicyholderInfoDtoCommon
(
apiPolicyholderInfoDto
,
tipStr
);
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 受保人信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiInsurantInfoDto
(
ApiInsurantInfoDto
dto
)
{
String
tipStr
=
"受保人-"
;
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerType
()))
{
throw
new
BusinessException
(
tipStr
+
"客户类型不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getPolicyholderRel
()))
{
throw
new
BusinessException
(
tipStr
+
"与投保人关系不能为空"
);
}
if
(
RelTypeEnum
.
MYSELF
.
getItemValue
().
equals
(
dto
.
getPolicyholderRel
()))
{
//如果对象空或者与投保人关系为本人,就放行不校验
return
Result
.
success
();
}
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"受保人信息表主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getInsurantBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"受保人信息表唯一业务ID不能为空"
);
}
//校验客户业务id和客户编号字段
checkCustomerBizIdAndNo
(
dto
.
getCustomerBizId
(),
dto
.
getCustomerNo
(),
tipStr
);
//新增或者编辑-校验受保人信息参数 --> 复用新增或者编辑-校验投保人信息参数公共方法
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
=
new
ApiPolicyholderInfoDto
();
BeanUtils
.
copyProperties
(
dto
,
apiPolicyholderInfoDto
);
checkApiPolicyholderInfoDtoCommon
(
apiPolicyholderInfoDto
,
tipStr
);
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 受益人列表信息字段校验
* @param list
* @return
*/
public
Result
checkAddApiBeneficiaryInfoDtoList
(
List
<
ApiBeneficiaryInfoDto
>
list
){
if
(
CollectionUtils
.
isEmpty
(
list
))
{
//如果对象集合空就放行不校验
return
Result
.
success
();
}
String
tipStr
=
"受益人-"
;
//列表下标标记位
int
i
=
1
;
for
(
ApiBeneficiaryInfoDto
dto
:
list
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerType
()))
{
throw
new
BusinessException
(
tipStr
+
"客户类型不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getInsurantRel
()))
{
throw
new
BusinessException
(
tipStr
+
"与受保人关系不能为空"
);
}
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的受益人信息主键id不传值"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的预约信息主表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getBeneficiaryBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"第"
+
i
+
"项的受益人信息表唯一业务ID不传值"
);
}
if
(
RelTypeEnum
.
MYSELF
.
getItemValue
().
equals
(
dto
.
getInsurantRel
()))
{
//如果对象与受保人关系为本人,就不校验下面的参数,继续循环下一个
continue
;
}
if
(
CustomerTypeEnum
.
INDIVIDUAL
.
getItemValue
().
equals
(
dto
.
getCustomerType
()))
{
//客户类型为个人的字段校验
//校验客户类型为个人类型的公共参数字段
CustomerTypeIndividualCheckCommonDto
individualCheckCommonDto
=
new
CustomerTypeIndividualCheckCommonDto
();
BeanUtils
.
copyProperties
(
dto
,
individualCheckCommonDto
);
checkCustomerTypeIndividualCheckCommonDto
(
individualCheckCommonDto
,
tipStr
);
}
else
if
(
CustomerTypeEnum
.
COMPANY
.
getItemValue
().
equals
(
dto
.
getCustomerType
())){
//客户类型为公司的字段校验
CustomerTypeCompanyCheckCommonDto
companyCheckCommonDto
=
new
CustomerTypeCompanyCheckCommonDto
();
BeanUtils
.
copyProperties
(
dto
,
companyCheckCommonDto
);
//校验客户类型为公司类型的公共参数字段
checkCustomerTypeCompanyCheckCommonDto
(
companyCheckCommonDto
,
tipStr
);
}
i
++;
}
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 编辑单个受益人信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiBeneficiaryInfoDto
(
ApiBeneficiaryInfoDto
dto
){
if
(!
Objects
.
isNull
(
dto
))
{
throw
new
BusinessException
(
"入参对象不能为空"
);
}
String
tipStr
=
"受益人-"
;
if
(
StringUtils
.
isBlank
(
dto
.
getCustomerType
()))
{
throw
new
BusinessException
(
tipStr
+
"客户类型不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getInsurantRel
()))
{
throw
new
BusinessException
(
tipStr
+
"与受保人关系不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
tipStr
+
"受益人信息主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"预约信息主表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getBeneficiaryBizId
()))
{
throw
new
BusinessException
(
tipStr
+
"受益人信息表唯一业务ID不能为空"
);
}
if
(
RelTypeEnum
.
MYSELF
.
getItemValue
().
equals
(
dto
.
getInsurantRel
()))
{
//如果对象与受保人关系为本人,就不校验下面的了
return
Result
.
success
();
}
if
(
CustomerTypeEnum
.
INDIVIDUAL
.
getItemValue
().
equals
(
dto
.
getCustomerType
()))
{
//客户类型为个人的字段校验
//校验客户类型为个人类型的公共参数字段
CustomerTypeIndividualCheckCommonDto
individualCheckCommonDto
=
new
CustomerTypeIndividualCheckCommonDto
();
BeanUtils
.
copyProperties
(
dto
,
individualCheckCommonDto
);
checkCustomerTypeIndividualCheckCommonDto
(
individualCheckCommonDto
,
tipStr
);
}
else
if
(
CustomerTypeEnum
.
COMPANY
.
getItemValue
().
equals
(
dto
.
getCustomerType
())){
//客户类型为公司的字段校验
CustomerTypeCompanyCheckCommonDto
companyCheckCommonDto
=
new
CustomerTypeCompanyCheckCommonDto
();
BeanUtils
.
copyProperties
(
dto
,
companyCheckCommonDto
);
//校验客户类型为公司类型的公共参数字段
checkCustomerTypeCompanyCheckCommonDto
(
companyCheckCommonDto
,
tipStr
);
}
return
Result
.
success
();
}
/**
* 新增预约入参字段校验 - 第二持有人信息字段校验
* @param dto
* @return
*/
public
Result
checkAddApiSecondHolderInfoDto
(
ApiSecondHolderInfoDto
dto
)
{
if
(
Objects
.
isNull
(
dto
))
{
//如果对象空就放行不校验
return
Result
.
success
();
}
if
(!
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
"第二持有人信息表主键id不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
"预约信息主表唯一业务ID不传值"
);
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getSecondHolderBizId
()))
{
throw
new
BusinessException
(
"第二持有人信息表唯一业务ID不传值"
);
}
return
Result
.
success
();
}
/**
* 编辑预约入参字段校验 - 第二持有人信息字段校验
* @param dto
* @return
*/
public
Result
checkEditApiSecondHolderInfoDto
(
ApiSecondHolderInfoDto
dto
)
{
if
(
Objects
.
isNull
(
dto
))
{
//如果对象空就放行不校验
return
Result
.
success
();
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getSecondHolderBizId
()))
{
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
throw
new
BusinessException
(
"第二持有人信息表主键id不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getAppointmentBizId
()))
{
throw
new
BusinessException
(
"预约信息主表唯一业务ID不能为空"
);
}
}
return
Result
.
success
();
}
/**
* 校验客户业务id和客户编号字段
* @param customerBizId
* @param customerNo
* @return
*/
public
Result
checkCustomerBizIdAndNo
(
String
customerBizId
,
String
customerNo
,
String
tipStr
)
{
if
(
StringUtils
.
isNotBlank
(
customerNo
)
&&
StringUtils
.
isBlank
(
customerBizId
))
{
//关联客户编号不为空并且关联客户信息表唯一业务ID为空,提示:客户信息表唯一业务ID不能为空
throw
new
BusinessException
(
tipStr
+
"客户信息表唯一业务ID不能为空"
);
}
if
(
StringUtils
.
isNotBlank
(
customerBizId
)
&&
StringUtils
.
isBlank
(
customerNo
))
{
//关联客户编号为空并且关联客户信息表唯一业务ID不为空,提示:客户编号不能为空
throw
new
BusinessException
(
tipStr
+
"客户编号不能为空"
);
}
return
Result
.
success
();
}
/**
* 校验客户类型为公司类型的公共参数字段
* @param dto
* @return
*/
public
Result
checkCustomerTypeCompanyCheckCommonDto
(
CustomerTypeCompanyCheckCommonDto
dto
,
String
tipStr
){
if
(
StringUtils
.
isBlank
(
dto
.
getCompanyName
()))
{
throw
new
BusinessException
(
tipStr
+
"公司名称不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getCompanyNameEn
()))
{
throw
new
BusinessException
(
tipStr
+
"公司名称(英文)不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getCompanyBusinessNo
()))
{
throw
new
BusinessException
(
tipStr
+
"公司商业登记号码不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getCompanyRegisterTime
()))
{
throw
new
BusinessException
(
tipStr
+
"公司注册日期不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getCompanyMobile
()))
{
throw
new
BusinessException
(
tipStr
+
"公司电话不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getCompanyMobileCode
()))
{
throw
new
BusinessException
(
tipStr
+
"公司电话区号不能为空"
);
}
if
(
Objects
.
isNull
(
dto
.
getCompanyRegisterRegion
()))
{
throw
new
BusinessException
(
tipStr
+
"公司注册地区不能为空"
);
}
return
Result
.
success
();
}
/**
* 校验客户类型为个人类型的公共参数字段
* @param dto
* @return
*/
public
Result
checkCustomerTypeIndividualCheckCommonDto
(
CustomerTypeIndividualCheckCommonDto
dto
,
String
tipStr
){
if
(
StringUtils
.
isBlank
(
dto
.
getName
()))
{
throw
new
BusinessException
(
tipStr
+
"名字不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getNameEn
()))
{
throw
new
BusinessException
(
tipStr
+
"名字-英文不能为空"
);
}
if
(
StringUtils
.
isBlank
(
dto
.
getGender
()))
{
throw
new
BusinessException
(
tipStr
+
"性别不能为空"
);
}
return
Result
.
success
();
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentFileServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAppointmentFileService
;
import
com.yd.csf.feign.dto.appointmentfile.ApiAppointmentFileDto
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse
;
import
com.yd.csf.service.model.AppointmentFile
;
import
com.yd.csf.service.model.Policyholder
;
import
com.yd.csf.service.service.IAppointmentFileService
;
import
com.yd.user.feign.response.sysuser.ApiSysUserPageResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.stream.Collectors
;
/**
* 预约附件信息业务实现类
*/
@Slf4j
@Service
public
class
ApiAppointmentFileServiceImpl
implements
ApiAppointmentFileService
{
@Autowired
private
IAppointmentFileService
iAppointmentFileService
;
/**
* 预约附件信息分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAppointmentFilePageResponse
>>
page
(
ApiAppointmentFilePageRequest
request
)
{
Page
<
ApiAppointmentFilePageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiAppointmentFilePageResponse
>
iPage
=
iAppointmentFileService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
/**
* 根据预约业务id获取附件列表信息
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
List
<
ApiAppointmentFileDto
>>
list
(
String
appointmentBizId
)
{
List
<
ApiAppointmentFileDto
>
dtoList
=
new
ArrayList
<>();
List
<
AppointmentFile
>
list
=
iAppointmentFileService
.
queryList
(
appointmentBizId
);
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
dtoList
=
list
.
stream
().
map
(
dto
->
{
ApiAppointmentFileDto
fileDto
=
new
ApiAppointmentFileDto
();
BeanUtils
.
copyProperties
(
dto
,
fileDto
);
return
fileDto
;
}).
collect
(
Collectors
.
toList
());
}
return
Result
.
success
(
dtoList
);
}
/**
* 新增预约附件信息
* @param request
* @return
*/
@Override
public
Result
add
(
ApiAppointmentFileAddRequest
request
)
{
AppointmentFile
appointmentFile
=
new
AppointmentFile
();
BeanUtils
.
copyProperties
(
request
,
appointmentFile
);
appointmentFile
.
setAppointmentFileBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_APPOINTMENT_FILE
.
getCode
()));
iAppointmentFileService
.
saveOrUpdate
(
appointmentFile
);
return
Result
.
success
();
}
/**
* 编辑预约附件信息
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiAppointmentFileEditRequest
request
)
{
Result
<
AppointmentFile
>
result
=
checkAppointmentFileIsExist
(
request
.
getAppointmentFileBizId
());
AppointmentFile
appointmentFile
=
result
.
getData
();
appointmentFile
.
setFileName
(
request
.
getFileName
());
iAppointmentFileService
.
saveOrUpdate
(
appointmentFile
);
return
Result
.
success
();
}
/**
* 删除预约附件
* @param appointmentFileBizId
* @return
*/
@Override
public
Result
del
(
String
appointmentFileBizId
)
{
Result
<
AppointmentFile
>
result
=
checkAppointmentFileIsExist
(
appointmentFileBizId
);
AppointmentFile
appointmentFile
=
result
.
getData
();
iAppointmentFileService
.
removeById
(
appointmentFile
.
getId
());
return
Result
.
success
();
}
/**
* 下载预约附件
* @param appointmentFileBizId
* @return
*/
@Override
public
Result
download
(
String
appointmentFileBizId
)
{
return
null
;
}
/**
* 校验预约附件信息是否存在
* @param appointmentFileBizId
* @return
*/
public
Result
<
AppointmentFile
>
checkAppointmentFileIsExist
(
String
appointmentFileBizId
)
{
AppointmentFile
appointmentFile
=
iAppointmentFileService
.
queryOne
(
appointmentFileBizId
);
if
(
Objects
.
isNull
(
appointmentFile
))
{
//数据不存在
throw
new
BusinessException
(
"预约附件信息不存在"
);
}
return
Result
.
success
(
appointmentFile
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.common.constant.CodeGeneratorConstants
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.CodeGenerator
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.*
;
import
com.yd.csf.feign.dto.appointment.*
;
import
com.yd.csf.feign.dto.appointmentfile.ApiAppointmentFileDto
;
import
com.yd.csf.feign.request.appointment.*
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.enums.AppointmentStatusEnum
;
import
com.yd.csf.service.model.Appointment
;
import
com.yd.csf.service.model.ProductPlan
;
import
com.yd.csf.service.service.IAppointmentService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 预约信息业务实现类
*/
@Slf4j
@Service
public
class
ApiAppointmentServiceImpl
implements
ApiAppointmentService
{
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
@Autowired
private
ApiProductPlanService
apiProductPlanService
;
@Autowired
private
ApiAdditionalService
apiAdditionalService
;
@Autowired
private
ApiPolicyholderService
apiPolicyholderService
;
@Autowired
private
ApiInsurantService
apiInsurantService
;
@Autowired
private
ApiBeneficiaryService
apiBeneficiaryService
;
@Autowired
private
ApiSecondHolderService
apiSecondHolderService
;
@Autowired
private
IAppointmentService
iAppointmentService
;
@Autowired
private
ApiAppointmentFileService
apiAppointmentFileService
;
/**
* 预约分页查询
* @param request
* @return
*/
@Override
public
Result
<
IPage
<
ApiAppointmentPageResponse
>>
page
(
ApiAppointmentPageRequest
request
)
{
Page
<
ApiAppointmentPageResponse
>
page
=
new
Page
<>(
request
.
getPageNo
(),
request
.
getPageSize
());
IPage
<
ApiAppointmentPageResponse
>
iPage
=
iAppointmentService
.
page
(
page
,
request
);
return
Result
.
success
(
iPage
);
}
/**
* 预约详情(聚合信息详情)
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
ApiAppointmentDetailResponse
>
detail
(
String
appointmentBizId
)
{
ApiAppointmentDetailResponse
response
=
new
ApiAppointmentDetailResponse
();
//预约主体信息详情(单个对象详情)
Result
<
ApiAppointmentInfoDto
>
result
=
mainDetail
(
appointmentBizId
);
response
.
setApiAppointmentInfoDto
(
result
.
getData
());
//产品计划信息
Result
<
ApiProductPlanInfoDto
>
result1
=
apiProductPlanService
.
detail
(
appointmentBizId
,
""
);
response
.
setApiProductPlanInfoDto
(
result1
.
getData
());
//投保人信息
Result
<
ApiPolicyholderInfoDto
>
result2
=
apiPolicyholderService
.
detail
(
appointmentBizId
,
""
);
response
.
setApiPolicyholderInfoDto
(
result2
.
getData
());
//受保人信息
Result
<
ApiInsurantInfoDto
>
result3
=
apiInsurantService
.
detail
(
appointmentBizId
,
""
);
response
.
setApiInsurantInfoDto
(
result3
.
getData
());
//受益人列表信息
Result
<
List
<
ApiBeneficiaryInfoDto
>>
result4
=
apiBeneficiaryService
.
list
(
appointmentBizId
);
response
.
setApiBeneficiaryInfoDtoList
(
result4
.
getData
());
//第二持有人信息
Result
<
ApiSecondHolderInfoDto
>
result5
=
apiSecondHolderService
.
detail
(
appointmentBizId
,
""
);
response
.
setApiSecondHolderInfoDto
(
result5
.
getData
());
//预约附件信息列表
Result
<
List
<
ApiAppointmentFileDto
>>
result6
=
apiAppointmentFileService
.
list
(
appointmentBizId
);
response
.
setApiAppointmentFileDtoList
(
result6
.
getData
());
return
Result
.
success
(
response
);
}
/**
* 预约主体信息详情(单个对象详情)
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
ApiAppointmentInfoDto
>
mainDetail
(
String
appointmentBizId
)
{
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
appointmentBizId
);
Appointment
appointment
=
result
.
getData
();
ApiAppointmentInfoDto
dto
=
new
ApiAppointmentInfoDto
();
BeanUtils
.
copyProperties
(
appointment
,
dto
);
return
Result
.
success
(
dto
);
}
/**
* 新增预约提交
* @param request
* @return
*/
@Override
public
Result
add
(
ApiAppointmentAddRequest
request
)
{
//新增预约入参字段校验(非库校验)
apiAppointmentCheckService
.
checkAddRequest
(
request
);
//新增预约-添加预约信息主表数据 - 预约状态为待预约
Result
<
Appointment
>
appointmentResult
=
addAppointmentData
(
request
.
getApiAppointmentInfoDto
(),
AppointmentStatusEnum
.
DYY
.
getItemValue
());
Appointment
appointment
=
appointmentResult
.
getData
();
//添加产品计划信息表数据
Result
<
ProductPlan
>
productPlanResult
=
apiProductPlanService
.
addProductPlanData
(
request
.
getApiProductPlanInfoDto
(),
appointment
.
getAppointmentBizId
());
ProductPlan
productPlan
=
productPlanResult
.
getData
();
//批量添加产品计划-附加险信息表数据
apiAdditionalService
.
batchAddAdditionalData
(
request
.
getApiProductPlanInfoDto
(),
productPlan
.
getPlanBizId
());
//添加投保人信息表数据
apiPolicyholderService
.
addPolicyholderData
(
request
.
getApiPolicyholderInfoDto
(),
appointment
.
getAppointmentBizId
());
//添加受保人信息表数据
apiInsurantService
.
addInsurantData
(
request
.
getApiInsurantInfoDto
(),
appointment
.
getAppointmentBizId
());
//批量添加受益人信息表数据
apiBeneficiaryService
.
batchAddBeneficiaryData
(
request
.
getApiBeneficiaryInfoDtoList
(),
appointment
.
getAppointmentBizId
());
//添加第二持有人信息表数据
apiSecondHolderService
.
addSecondHolderData
(
request
.
getApiSecondHolderInfoDto
(),
appointment
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 新增预约暂存
* @param request
* @return
*/
@Override
public
Result
addStorage
(
ApiAppointmentAddStorageRequest
request
)
{
if
(
Objects
.
isNull
(
request
.
getApiAppointmentInfoDto
()))
{
request
.
setApiAppointmentInfoDto
(
new
ApiAppointmentInfoDto
());
}
//校验预约信息-客户和fna入参
apiAppointmentCheckService
.
checkCustomerAndFna
(
request
.
getApiAppointmentInfoDto
(),
"预约信息-"
);
//新增预约暂存-添加预约信息主表数据为暂存状态
Result
<
Appointment
>
appointmentResult
=
addAppointmentData
(
request
.
getApiAppointmentInfoDto
(),
AppointmentStatusEnum
.
ZC
.
getItemValue
());
Appointment
appointment
=
appointmentResult
.
getData
();
//添加产品计划信息表数据
Result
<
ProductPlan
>
productPlanResult
=
apiProductPlanService
.
addProductPlanData
(
request
.
getApiProductPlanInfoDto
(),
appointment
.
getAppointmentBizId
());
ProductPlan
productPlan
=
productPlanResult
.
getData
();
//批量添加产品计划-附加险信息表数据
apiAdditionalService
.
batchAddAdditionalData
(
request
.
getApiProductPlanInfoDto
(),
productPlan
.
getPlanBizId
());
//添加投保人信息表数据
apiPolicyholderService
.
addPolicyholderData
(
request
.
getApiPolicyholderInfoDto
(),
appointment
.
getAppointmentBizId
());
//添加受保人信息表数据
apiInsurantService
.
addInsurantData
(
request
.
getApiInsurantInfoDto
(),
appointment
.
getAppointmentBizId
());
//批量添加受益人信息表数据
apiBeneficiaryService
.
batchAddBeneficiaryData
(
request
.
getApiBeneficiaryInfoDtoList
(),
appointment
.
getAppointmentBizId
());
//添加第二持有人信息表数据
apiSecondHolderService
.
addSecondHolderData
(
request
.
getApiSecondHolderInfoDto
(),
appointment
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 新增预约-添加预约信息主表数据
* @param dto
* @return
*/
public
Result
<
Appointment
>
addAppointmentData
(
ApiAppointmentInfoDto
dto
,
Integer
status
)
{
if
(
Objects
.
isNull
(
dto
))
{
//为空设置,方便新建暂存公用方法
dto
=
new
ApiAppointmentInfoDto
();
}
Appointment
appointment
=
new
Appointment
();
BeanUtils
.
copyProperties
(
dto
,
appointment
);
//生成预约信息主表唯一业务ID
appointment
.
setAppointmentBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_APPOINTMENT
.
getCode
()));
//生成预约编号
appointment
.
setAppointmentNo
(
CodeGenerator
.
generateCode
(
CodeGeneratorConstants
.
APPOINTMENT
));
//预约状态
appointment
.
setStatus
(
status
);
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
(
appointment
);
}
/**
* 编辑预约提交 (聚合信息编辑预约提交)
* @param request
* @return
*/
@Override
public
Result
edit
(
ApiAppointmentEditRequest
request
)
{
//编辑预约入参字段校验(非库校验)
apiAppointmentCheckService
.
checkEditRequest
(
request
);
//编辑预约提交-编辑预约信息主表数据,状态为待预约状态
Result
<
Appointment
>
appointmentResult
=
editAppointmentData
(
request
.
getApiAppointmentInfoDto
(),
AppointmentStatusEnum
.
DYY
.
getItemValue
());
Appointment
appointment
=
appointmentResult
.
getData
();
//编辑产品计划信息表数据
Result
<
ProductPlan
>
productPlanResult
=
apiProductPlanService
.
editProductPlanData
(
request
.
getApiProductPlanInfoDto
(),
appointment
.
getAppointmentBizId
());
ProductPlan
productPlan
=
productPlanResult
.
getData
();
//批量编辑产品计划-附加险信息表数据
apiAdditionalService
.
batchEditAdditionalData
(
request
.
getApiProductPlanInfoDto
(),
productPlan
.
getPlanBizId
());
//编辑投保人信息表数据
apiPolicyholderService
.
editPolicyholderData
(
request
.
getApiPolicyholderInfoDto
(),
appointment
.
getAppointmentBizId
());
//编辑受保人信息表数据
apiInsurantService
.
editInsurantData
(
request
.
getApiInsurantInfoDto
(),
appointment
.
getAppointmentBizId
());
//批量编辑受益人信息表数据
apiBeneficiaryService
.
batchEditBeneficiaryData
(
request
.
getApiBeneficiaryInfoDtoList
(),
appointment
.
getAppointmentBizId
());
//编辑第二持有人信息表数据
apiSecondHolderService
.
editSecondHolderData
(
request
.
getApiSecondHolderInfoDto
(),
appointment
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 确定预约时间提交 (流程流转到新单跟进)
* @param request
* @return
*/
@Override
public
Result
editConfirmTime
(
ApiAppointmentEditConfirmTimeRequest
request
)
{
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
request
.
getAppointmentBizId
());
Appointment
appointment
=
result
.
getData
();
appointment
.
setConfirmAppointmentTime
(
request
.
getConfirmAppointmentTime
());
//流转到新单跟进(这里的预约状态为待签署)
appointment
.
setStatus
(
AppointmentStatusEnum
.
DQS
.
getItemValue
());
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
();
}
/**
* 单个对象编辑-编辑预约主体信息
* @param apiAppointmentInfoDto
* @return
*/
@Override
public
Result
singleEdit
(
ApiAppointmentInfoDto
apiAppointmentInfoDto
)
{
//编辑预约入参字段校验 - 预约信息字段校验
apiAppointmentCheckService
.
checkEditApiAppointmentInfoDto
(
apiAppointmentInfoDto
);
//编辑预约-编辑预约信息主表数据
editAppointmentData
(
apiAppointmentInfoDto
,
null
);
return
Result
.
success
();
}
/**
* 编辑预约-编辑预约信息主表数据
* @param dto
* @return
*/
public
Result
<
Appointment
>
editAppointmentData
(
ApiAppointmentInfoDto
dto
,
Integer
status
)
{
if
(
Objects
.
isNull
(
dto
))
{
//预约信息对象不能为空
throw
new
BusinessException
(
"预约信息对象不能为空"
);
}
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
dto
.
getAppointmentBizId
());
Appointment
appointment
=
result
.
getData
();
BeanUtils
.
copyProperties
(
dto
,
appointment
);
if
(!
Objects
.
isNull
(
status
))
{
//不为空设置状态
appointment
.
setStatus
(
status
);
}
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
(
appointment
);
}
/**
* 预约编辑关联FNA
* @param request
* @return
*/
@Override
public
Result
editFna
(
ApiAppointmentEditFnaRequest
request
)
{
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
request
.
getAppointmentBizId
());
Appointment
appointment
=
result
.
getData
();
//修改预约信息表冗余的关联FNA业务id和关联FNA编号
appointment
.
setFnaBizId
(
request
.
getFnaBizId
());
appointment
.
setFnaNo
(
request
.
getFnaNo
());
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
();
}
/**
* 预约解除关联FNA
* @param request
* @return
*/
@Override
public
Result
removeFna
(
ApiAppointmentRemoveFnaRequest
request
)
{
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
request
.
getAppointmentBizId
());
Appointment
appointment
=
result
.
getData
();
//预约解除关联FNA就是清空预约信息冗余的关联FNA业务id和关联FNA编号数据
appointment
.
setFnaBizId
(
""
);
appointment
.
setFnaNo
(
""
);
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
();
}
/**
* 预约编辑关联计划书
* @param request
* @return
*/
@Override
public
Result
editProposal
(
ApiAppointmentEditProposalRequest
request
)
{
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
request
.
getAppointmentBizId
());
Appointment
appointment
=
result
.
getData
();
//修改预约信息表冗余的关联计划书业务id和关联计划书编号
appointment
.
setProposalBizId
(
request
.
getProposalBizId
());
appointment
.
setProposalNo
(
request
.
getProposalNo
());
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
();
}
/**
* 预约解除关联计划书
* @param request
* @return
*/
@Override
public
Result
removeProposal
(
ApiAppointmentRemoveProposalRequest
request
)
{
//校验预约信息是否存在
Result
<
Appointment
>
result
=
checkAppointmentIsExist
(
request
.
getAppointmentBizId
());
Appointment
appointment
=
result
.
getData
();
//预约预约解除关联计划书就是清空预约信息冗余的关联计划书业务id和关联计划书编号
appointment
.
setProposalBizId
(
""
);
appointment
.
setProposalNo
(
""
);
iAppointmentService
.
saveOrUpdate
(
appointment
);
return
Result
.
success
();
}
/**
* 校验预约信息是否存在
* @param appointmentBizId
* @return
*/
public
Result
<
Appointment
>
checkAppointmentIsExist
(
String
appointmentBizId
)
{
Appointment
appointment
=
iAppointmentService
.
queryOne
(
appointmentBizId
);
if
(
Objects
.
isNull
(
appointment
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
appointment
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiBeneficiaryServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.api.service.ApiBeneficiaryService
;
import
com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto
;
import
com.yd.csf.service.dto.BeneficiaryDto
;
import
com.yd.csf.service.model.Beneficiary
;
import
com.yd.csf.service.model.Insurant
;
import
com.yd.csf.service.service.IBeneficiaryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* 受益人信息业务实现类
*/
@Slf4j
@Service
public
class
ApiBeneficiaryServiceImpl
implements
ApiBeneficiaryService
{
@Autowired
private
IBeneficiaryService
iBeneficiaryService
;
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
/**
* 受益人信息列表查询
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
List
<
ApiBeneficiaryInfoDto
>>
list
(
String
appointmentBizId
)
{
List
<
ApiBeneficiaryInfoDto
>
dtoList
=
new
ArrayList
<>();
List
<
Beneficiary
>
list
=
iBeneficiaryService
.
queryList
(
BeneficiaryDto
.
builder
()
.
appointmentBizId
(
appointmentBizId
)
.
build
());
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
dtoList
=
list
.
stream
().
map
(
dto
->
{
ApiBeneficiaryInfoDto
infoDto
=
new
ApiBeneficiaryInfoDto
();
BeanUtils
.
copyProperties
(
dto
,
infoDto
);
return
infoDto
;
}).
collect
(
Collectors
.
toList
());
}
return
Result
.
success
(
dtoList
);
}
/**
* 新增单个受益人信息
* @param apiBeneficiaryInfoDto
* @return
*/
@Override
public
Result
add
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
)
{
List
<
ApiBeneficiaryInfoDto
>
list
=
new
ArrayList
<>();
list
.
add
(
apiBeneficiaryInfoDto
);
apiAppointmentCheckService
.
checkAddApiBeneficiaryInfoDtoList
(
list
);
//批量添加受益人信息表数据
batchAddBeneficiaryData
(
list
,
apiBeneficiaryInfoDto
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 编辑单个受益人信息
* @param apiBeneficiaryInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
)
{
//编辑预约入参字段校验 - 编辑单个受益人信息字段校验
apiAppointmentCheckService
.
checkEditApiBeneficiaryInfoDto
(
apiBeneficiaryInfoDto
);
List
<
ApiBeneficiaryInfoDto
>
list
=
new
ArrayList
<>();
list
.
add
(
apiBeneficiaryInfoDto
);
//批量编辑受益人信息表数据
batchEditBeneficiaryData
(
list
,
apiBeneficiaryInfoDto
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 删除单个受益人信息
* @param beneficiaryBizId
* @return
*/
@Override
public
Result
del
(
String
beneficiaryBizId
)
{
//校验受益人信息是否存在
Result
<
Beneficiary
>
result
=
checkBeneficiaryIsExist
(
beneficiaryBizId
);
Beneficiary
beneficiary
=
result
.
getData
();
iBeneficiaryService
.
removeById
(
beneficiary
.
getId
());
return
Result
.
success
();
}
/**
* 批量添加受益人信息表数据
* @param apiBeneficiaryInfoDtoList
* @param appointmentBizId
* @return
*/
@Override
public
Result
batchAddBeneficiaryData
(
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
,
String
appointmentBizId
)
{
if
(
CollectionUtils
.
isEmpty
(
apiBeneficiaryInfoDtoList
)){
//为空放行
return
Result
.
success
();
}
//构造需要新增数据的对象集合
List
<
Beneficiary
>
beneficiaryList
=
apiBeneficiaryInfoDtoList
.
stream
().
map
(
dto
->
{
Beneficiary
beneficiary
=
new
Beneficiary
();
BeanUtils
.
copyProperties
(
dto
,
beneficiary
);
//生成受益人信息表唯一业务ID
beneficiary
.
setBeneficiaryBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_BENEFICIARY
.
getCode
()));
//预约信息主表唯一业务ID
beneficiary
.
setAppointmentBizId
(
appointmentBizId
);
return
beneficiary
;
}).
collect
(
Collectors
.
toList
());
iBeneficiaryService
.
saveOrUpdateBatch
(
beneficiaryList
);
return
Result
.
success
();
}
/**
* 批量编辑受益人信息表数据
* @param list
* @param appointmentBizId
* @return
*/
@Override
public
Result
batchEditBeneficiaryData
(
List
<
ApiBeneficiaryInfoDto
>
list
,
String
appointmentBizId
)
{
if
(
CollectionUtils
.
isEmpty
(
list
)){
//为空放行
return
Result
.
success
();
}
//获取不为空的受益人信息表唯一业务ID列表
List
<
String
>
beneficiaryBizIdList
=
list
.
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getBeneficiaryBizId
()))
.
map
(
ApiBeneficiaryInfoDto:
:
getBeneficiaryBizId
)
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
beneficiaryBizIdList
))
{
//入参的受益人业务id列表至少一个不为空就走表数据校验,全部为空是全部新增操作,不走表数据校验
//根据受益人信息表唯一业务ID列表查询表里面的列表信息
List
<
Beneficiary
>
beneficiarys
=
iBeneficiaryService
.
queryList
(
BeneficiaryDto
.
builder
()
.
beneficiaryBizIdList
(
beneficiaryBizIdList
).
build
());
//过滤入参的受益人列表信息在表里不存在的集合,然后抛出这些不存在的列表信息
// 提取 existingBeneficiaryBizIds:从 beneficiarys 中获取所有已存在的 beneficiaryBizId 集合
Set
<
String
>
existingBeneficiaryBizIds
=
beneficiarys
.
stream
()
.
map
(
Beneficiary:
:
getBeneficiaryBizId
)
.
collect
(
Collectors
.
toSet
());
// 过滤 list:保留 beneficiaryBizId 不在 existingBeneficiaryBizIds 中的对象
List
<
ApiBeneficiaryInfoDto
>
filteredList
=
list
.
stream
()
.
filter
(
dto
->
StringUtils
.
isNotBlank
(
dto
.
getBeneficiaryBizId
())
&&
!
existingBeneficiaryBizIds
.
contains
(
dto
.
getBeneficiaryBizId
()))
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
filteredList
))
{
//入参对象列表中有传值的业务id在库中不存在的对象,提示
List
<
String
>
beneficiaryProductNameList
=
filteredList
.
stream
()
.
map
(
ApiBeneficiaryInfoDto:
:
getName
)
.
collect
(
Collectors
.
toList
());
throw
new
BusinessException
(
"以下是在库里不存在的受益人数据的名字:"
+
String
.
join
(
" ;"
,
beneficiaryProductNameList
));
}
}
//构造需要新增或者更新数据的对象集合
List
<
Beneficiary
>
updateList
=
list
.
stream
().
map
(
dto
->
{
Beneficiary
beneficiary
=
new
Beneficiary
();
BeanUtils
.
copyProperties
(
dto
,
beneficiary
);
beneficiary
.
setAppointmentBizId
(
appointmentBizId
);
if
(
StringUtils
.
isBlank
(
dto
.
getBeneficiaryBizId
()))
{
//为空表示新增数据
//生成受益人信息表唯一业务ID
beneficiary
.
setBeneficiaryBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_BENEFICIARY
.
getCode
()));
}
return
beneficiary
;
}).
collect
(
Collectors
.
toList
());
//批量新增或者更新
iBeneficiaryService
.
saveOrUpdateBatch
(
updateList
);
return
Result
.
success
();
}
/**
* 校验受益人信息是否存在
* @param beneficiaryBizId
* @return
*/
public
Result
<
Beneficiary
>
checkBeneficiaryIsExist
(
String
beneficiaryBizId
)
{
Beneficiary
beneficiary
=
iBeneficiaryService
.
queryOne
(
beneficiaryBizId
);
if
(
Objects
.
isNull
(
beneficiary
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
beneficiary
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiInsurantServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.api.service.ApiInsurantService
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
com.yd.csf.service.model.Insurant
;
import
com.yd.csf.service.model.Policyholder
;
import
com.yd.csf.service.service.IInsurantService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* 受保人信息业务实现类
*/
@Slf4j
@Service
public
class
ApiInsurantServiceImpl
implements
ApiInsurantService
{
@Autowired
private
IInsurantService
iInsurantService
;
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
/**
* 受保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param insurantBizId 受保人信息表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiInsurantInfoDto
>
detail
(
String
appointmentBizId
,
String
insurantBizId
)
{
Insurant
insurant
=
iInsurantService
.
queryOne
(
appointmentBizId
,
insurantBizId
);
ApiInsurantInfoDto
dto
=
null
;
if
(!
Objects
.
isNull
(
insurant
))
{
dto
=
new
ApiInsurantInfoDto
();
BeanUtils
.
copyProperties
(
insurant
,
dto
);
}
return
Result
.
success
(
dto
);
}
/**
* 编辑受保人信息
* @param apiInsurantInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiInsurantInfoDto
apiInsurantInfoDto
)
{
//编辑预约入参字段校验 - 受保人信息字段校验
apiAppointmentCheckService
.
checkEditApiInsurantInfoDto
(
apiInsurantInfoDto
);
//编辑受保人信息表数据
editInsurantData
(
apiInsurantInfoDto
,
apiInsurantInfoDto
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 添加受保人信息表数据
* @param dto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
Insurant
>
addInsurantData
(
ApiInsurantInfoDto
dto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
dto
)){
//为空设置,方便新建暂存公用方法
dto
=
new
ApiInsurantInfoDto
();
}
//受保人信息信息
Insurant
insurant
=
new
Insurant
();
BeanUtils
.
copyProperties
(
dto
,
insurant
);
//生成受保人信息表唯一业务ID
insurant
.
setInsurantBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_INSURANT
.
getCode
()));
//预约信息主表唯一业务ID
insurant
.
setAppointmentBizId
(
appointmentBizId
);
iInsurantService
.
saveOrUpdate
(
insurant
);
return
Result
.
success
(
insurant
);
}
/**
* 编辑受保人信息表数据
* @param dto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
Insurant
>
editInsurantData
(
ApiInsurantInfoDto
dto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
dto
)){
//受保人信息对象不能为空
throw
new
BusinessException
(
"受保人信息不能为空"
);
}
Result
<
Insurant
>
result
=
checkInsurantIsExist
(
dto
.
getInsurantBizId
());
//受保人信息信息
Insurant
insurant
=
result
.
getData
();
BeanUtils
.
copyProperties
(
dto
,
insurant
);
//预约信息主表唯一业务ID
insurant
.
setAppointmentBizId
(
appointmentBizId
);
iInsurantService
.
saveOrUpdate
(
insurant
);
return
Result
.
success
(
insurant
);
}
/**
* 校验受保人信息是否存在
* @param insurantBizId
* @return
*/
public
Result
<
Insurant
>
checkInsurantIsExist
(
String
insurantBizId
)
{
Insurant
insurant
=
iInsurantService
.
queryOne
(
insurantBizId
);
if
(
Objects
.
isNull
(
insurant
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
insurant
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiPolicyholderServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.api.service.ApiPolicyholderService
;
import
com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto
;
import
com.yd.csf.service.model.Policyholder
;
import
com.yd.csf.service.service.IPolicyholderService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* 投保人信息业务实现类
*/
@Slf4j
@Service
public
class
ApiPolicyholderServiceImpl
implements
ApiPolicyholderService
{
@Autowired
private
IPolicyholderService
iPolicyholderService
;
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
/**
* 投保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param policyholderBizId 投保人信息表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiPolicyholderInfoDto
>
detail
(
String
appointmentBizId
,
String
policyholderBizId
)
{
Policyholder
policyholder
=
iPolicyholderService
.
queryOne
(
appointmentBizId
,
policyholderBizId
);
ApiPolicyholderInfoDto
dto
=
null
;
if
(!
Objects
.
isNull
(
policyholder
))
{
dto
=
new
ApiPolicyholderInfoDto
();
BeanUtils
.
copyProperties
(
policyholder
,
dto
);
}
return
Result
.
success
(
dto
);
}
/**
* 编辑投保人信息
* @param apiPolicyholderInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
)
{
//编辑预约入参字段校验 - 投保人信息字段校验
apiAppointmentCheckService
.
checkEditApiPolicyholderInfoDto
(
apiPolicyholderInfoDto
);
//编辑投保人信息表数据
editPolicyholderData
(
apiPolicyholderInfoDto
,
apiPolicyholderInfoDto
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 添加投保人信息表数据
* @param dto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
Policyholder
>
addPolicyholderData
(
ApiPolicyholderInfoDto
dto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
dto
)){
//为空设置,方便新建暂存公用方法
dto
=
new
ApiPolicyholderInfoDto
();
}
//投保人信息信息
Policyholder
policyholder
=
new
Policyholder
();
BeanUtils
.
copyProperties
(
dto
,
policyholder
);
//生成投保人信息表唯一业务ID
policyholder
.
setPolicyholderBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_POLICYHOLDER
.
getCode
()));
//预约信息主表唯一业务ID
policyholder
.
setAppointmentBizId
(
appointmentBizId
);
iPolicyholderService
.
saveOrUpdate
(
policyholder
);
return
Result
.
success
(
policyholder
);
}
/**
* 编辑投保人信息表数据
* @param dto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
Policyholder
>
editPolicyholderData
(
ApiPolicyholderInfoDto
dto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
dto
))
{
//投保人信息对象不能为空
throw
new
BusinessException
(
"投保人信息对象不能为空"
);
}
//校验投保人信息是否存在
Result
<
Policyholder
>
result
=
checkPolicyholderIsExist
(
dto
.
getPolicyholderBizId
());
Policyholder
policyholder
=
result
.
getData
();
BeanUtils
.
copyProperties
(
dto
,
policyholder
);
policyholder
.
setAppointmentBizId
(
appointmentBizId
);
iPolicyholderService
.
saveOrUpdate
(
policyholder
);
return
Result
.
success
(
policyholder
);
}
/**
* 校验投保人信息是否存在
* @param policyholderBizId
* @return
*/
public
Result
<
Policyholder
>
checkPolicyholderIsExist
(
String
policyholderBizId
)
{
Policyholder
policyholder
=
iPolicyholderService
.
queryOne
(
policyholderBizId
);
if
(
Objects
.
isNull
(
policyholder
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
policyholder
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiProductPlanServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAdditionalService
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.api.service.ApiProductPlanService
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto
;
import
com.yd.csf.service.model.ProductPlan
;
import
com.yd.csf.service.service.IProductPlanService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 产品计划业务实现类
*/
@Slf4j
@Service
public
class
ApiProductPlanServiceImpl
implements
ApiProductPlanService
{
@Autowired
private
IProductPlanService
iProductPlanService
;
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
@Autowired
private
ApiAdditionalService
apiAdditionalService
;
/**
* 产品计划详情
* @param planBizId
* @return
*/
@Override
public
Result
<
ApiProductPlanInfoDto
>
detail
(
String
appointmentBizId
,
String
planBizId
)
{
//产品计划主体详情
ApiProductPlanInfoDto
apiProductPlanInfoDto
=
new
ApiProductPlanInfoDto
();
Result
<
ApiProductPlanMainInfoDto
>
result
=
mainDetail
(
appointmentBizId
,
planBizId
);
apiProductPlanInfoDto
.
setApiProductPlanMainInfoDto
(
result
.
getData
());
//附加险列表
if
(!
Objects
.
isNull
(
result
.
getData
()))
{
Result
<
List
<
ApiProductPlanAdditionalInfoDto
>>
result1
=
apiAdditionalService
.
list
(
result
.
getData
().
getPlanBizId
());
apiProductPlanInfoDto
.
setApiProductPlanAdditionalInfoDtoList
(
result1
.
getData
());
}
return
Result
.
success
(
apiProductPlanInfoDto
);
}
/**
* 产品计划主体详情
* @param planBizId
* @return
*/
@Override
public
Result
<
ApiProductPlanMainInfoDto
>
mainDetail
(
String
appointmentBizId
,
String
planBizId
)
{
ProductPlan
productPlan
=
iProductPlanService
.
queryOne
(
appointmentBizId
,
planBizId
);
ApiProductPlanMainInfoDto
dto
=
null
;
if
(!
Objects
.
isNull
(
productPlan
))
{
dto
=
new
ApiProductPlanMainInfoDto
();
BeanUtils
.
copyProperties
(
productPlan
,
dto
);
}
return
Result
.
success
(
dto
);
}
/**
* 编辑产品计划主体信息
* @param apiProductPlanMainInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
)
{
//编辑预约入参字段校验 - 产品计划信息字段校验 - 产品计划主信息字段校验
apiAppointmentCheckService
.
checkEditApiProductPlanMainInfoDto
(
apiProductPlanMainInfoDto
);
ApiProductPlanInfoDto
productPlanInfoDto
=
new
ApiProductPlanInfoDto
();
productPlanInfoDto
.
setApiProductPlanMainInfoDto
(
apiProductPlanMainInfoDto
);
editProductPlanData
(
productPlanInfoDto
,
apiProductPlanMainInfoDto
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 添加产品计划信息表数据
* @param productPlanInfoDto
* @param appointmentBizId
* @return
*/
public
Result
<
ProductPlan
>
addProductPlanData
(
ApiProductPlanInfoDto
productPlanInfoDto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
productPlanInfoDto
))
{
//为空设置,方便新建暂存公用方法
productPlanInfoDto
=
new
ApiProductPlanInfoDto
();
}
if
(
Objects
.
isNull
(
productPlanInfoDto
.
getApiProductPlanMainInfoDto
())){
//为空设置,方便新建暂存公用方法
productPlanInfoDto
.
setApiProductPlanMainInfoDto
(
new
ApiProductPlanMainInfoDto
());
}
//产品计划主信息
ApiProductPlanMainInfoDto
dto
=
productPlanInfoDto
.
getApiProductPlanMainInfoDto
();
ProductPlan
productPlan
=
new
ProductPlan
();
BeanUtils
.
copyProperties
(
dto
,
productPlan
);
//生成产品计划信息表唯一业务ID
productPlan
.
setPlanBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_PRODUCT_PLAN
.
getCode
()));
//预约信息主表唯一业务ID
productPlan
.
setAppointmentBizId
(
appointmentBizId
);
iProductPlanService
.
saveOrUpdate
(
productPlan
);
return
Result
.
success
(
productPlan
);
}
/**
* 编辑产品计划信息表数据
* @param productPlanInfoDto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
ProductPlan
>
editProductPlanData
(
ApiProductPlanInfoDto
productPlanInfoDto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
productPlanInfoDto
)
||
(
!
Objects
.
isNull
(
productPlanInfoDto
)
&&
Objects
.
isNull
(
productPlanInfoDto
.
getApiProductPlanMainInfoDto
()))){
//不能为空
throw
new
BusinessException
(
"产品计划主信息对象不能为空"
);
}
//产品计划主信息
ApiProductPlanMainInfoDto
dto
=
productPlanInfoDto
.
getApiProductPlanMainInfoDto
();
Result
<
ProductPlan
>
result
=
checkProductPlanIsExist
(
dto
.
getPlanBizId
());
ProductPlan
productPlan
=
result
.
getData
();
BeanUtils
.
copyProperties
(
dto
,
productPlan
);
//预约信息主表唯一业务ID
productPlan
.
setAppointmentBizId
(
appointmentBizId
);
iProductPlanService
.
saveOrUpdate
(
productPlan
);
return
Result
.
success
(
productPlan
);
}
/**
* 校验产品计划信息是否存在
* @param planBizId
* @return
*/
public
Result
<
ProductPlan
>
checkProductPlanIsExist
(
String
planBizId
)
{
ProductPlan
productPlan
=
iProductPlanService
.
queryOne
(
planBizId
);
if
(
Objects
.
isNull
(
productPlan
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
productPlan
);
}
}
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiSecondHolderServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
api
.
service
.
impl
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
import
com.yd.common.exception.BusinessException
;
import
com.yd.common.result.Result
;
import
com.yd.common.utils.RandomStringGenerator
;
import
com.yd.csf.api.service.ApiAppointmentCheckService
;
import
com.yd.csf.api.service.ApiSecondHolderService
;
import
com.yd.csf.feign.dto.appointment.ApiSecondHolderInfoDto
;
import
com.yd.csf.service.model.SecondHolder
;
import
com.yd.csf.service.service.ISecondHolderService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* 第二持有人信息业务实现类
*/
@Slf4j
@Service
public
class
ApiSecondHolderServiceImpl
implements
ApiSecondHolderService
{
@Autowired
private
ISecondHolderService
iSecondHolderService
;
@Autowired
private
ApiAppointmentCheckService
apiAppointmentCheckService
;
/**
* 第二持有人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param secondHolderBizId 第二持有人信息表唯一业务ID
* @return
*/
@Override
public
Result
<
ApiSecondHolderInfoDto
>
detail
(
String
appointmentBizId
,
String
secondHolderBizId
)
{
SecondHolder
secondHolder
=
iSecondHolderService
.
queryOne
(
appointmentBizId
,
secondHolderBizId
);
ApiSecondHolderInfoDto
dto
=
null
;
if
(!
Objects
.
isNull
(
secondHolder
))
{
dto
=
new
ApiSecondHolderInfoDto
();
BeanUtils
.
copyProperties
(
secondHolder
,
dto
);
}
return
Result
.
success
(
dto
);
}
/**
* 编辑第二持有人信息
* @param apiSecondHolderInfoDto
* @return
*/
@Override
public
Result
edit
(
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
)
{
//编辑预约入参字段校验 - 第二持有人信息字段校验
apiAppointmentCheckService
.
checkEditApiSecondHolderInfoDto
(
apiSecondHolderInfoDto
);
if
(
Objects
.
isNull
(
apiSecondHolderInfoDto
))
{
apiSecondHolderInfoDto
=
new
ApiSecondHolderInfoDto
();
}
editSecondHolderData
(
apiSecondHolderInfoDto
,
apiSecondHolderInfoDto
.
getAppointmentBizId
());
return
Result
.
success
();
}
/**
* 添加第二持有人信息表数据
* @param dto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
SecondHolder
>
addSecondHolderData
(
ApiSecondHolderInfoDto
dto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
dto
)){
//为空设置,方便新建暂存公用方法
dto
=
new
ApiSecondHolderInfoDto
();
}
//投保人信息信息
SecondHolder
secondHolder
=
new
SecondHolder
();
BeanUtils
.
copyProperties
(
dto
,
secondHolder
);
//第二持有人信息表唯一业务ID
secondHolder
.
setSecondHolderBizId
(
RandomStringGenerator
.
generateBizId16
(
CommonEnum
.
UID_TYPE_SECOND_HOLDER
.
getCode
()));
//预约信息主表唯一业务ID
secondHolder
.
setAppointmentBizId
(
appointmentBizId
);
iSecondHolderService
.
saveOrUpdate
(
secondHolder
);
return
Result
.
success
(
secondHolder
);
}
/**
* 编辑第二持有人信息表数据
* @param dto
* @param appointmentBizId
* @return
*/
@Override
public
Result
<
SecondHolder
>
editSecondHolderData
(
ApiSecondHolderInfoDto
dto
,
String
appointmentBizId
)
{
if
(
Objects
.
isNull
(
dto
)){
//为空
dto
=
new
ApiSecondHolderInfoDto
();
}
if
(
StringUtils
.
isBlank
(
dto
.
getSecondHolderBizId
()))
{
//为空新增(因为首次发起新增预约,第二持有人没有填写为空的,第二次编辑做了修改这种情况是新增操作)
return
addSecondHolderData
(
dto
,
appointmentBizId
);
}
else
{
//校验第二持有人信息是否存在
Result
<
SecondHolder
>
result
=
checkSecondHolderIsExist
(
dto
.
getSecondHolderBizId
());
//第二持有人信息
SecondHolder
secondHolder
=
result
.
getData
();
BeanUtils
.
copyProperties
(
dto
,
secondHolder
);
//预约信息主表唯一业务ID
secondHolder
.
setAppointmentBizId
(
appointmentBizId
);
iSecondHolderService
.
saveOrUpdate
(
secondHolder
);
return
Result
.
success
(
secondHolder
);
}
}
/**
* 校验第二持有人信息是否存在
* @param secondHolderBizId
* @return
*/
public
Result
<
SecondHolder
>
checkSecondHolderIsExist
(
String
secondHolderBizId
)
{
SecondHolder
secondHolder
=
iSecondHolderService
.
queryOne
(
secondHolderBizId
);
if
(
Objects
.
isNull
(
secondHolder
))
{
//数据不存在
throw
new
BusinessException
(
ResultCode
.
NULL_ERROR
.
getCode
(),
ResultCode
.
NULL_ERROR
.
getMessage
());
}
return
Result
.
success
(
secondHolder
);
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-feign/src/main/java/com/yd/csf/feign/client/additional/ApiAdditionalFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
additional
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.fallback.additional.ApiAdditionalFeignFallbackFactory
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-产品计划-附加险信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiAdditionalFeignFallbackFactory
.
class
)
public
interface
ApiAdditionalFeignClient
{
/**
* 附加险分页查询
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiAdditionalPageRequest
request
);
/**
* 新增单个附加险信息
* @param apiProductPlanAdditionalInfoDto
* @return
*/
@PostMapping
(
"/add"
)
Result
add
(
@Validated
@RequestBody
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
);
/**
* 编辑单个附加险信息
* @param apiProductPlanAdditionalInfoDto
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
);
/**
* 单个附加险信息详情
* @param additionalBizId
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiProductPlanAdditionalInfoDto
>
detail
(
@NotBlank
(
message
=
"附加险信息表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"additionalBizId"
)
String
additionalBizId
);
/**
* 删除单个附加险信息
* @param additionalBizId
* @return
*/
@DeleteMapping
(
"/del"
)
Result
del
(
@NotBlank
(
message
=
"附加险信息表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"additionalBizId"
)
String
additionalBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/appointment/ApiAppointmentFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
appointment
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.fallback.appointment.ApiAppointmentFeignFallbackFactory
;
import
com.yd.csf.feign.request.appointment.*
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-预约信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiAppointmentFeignFallbackFactory
.
class
)
public
interface
ApiAppointmentFeignClient
{
/**
* 预约分页查询
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiAppointmentPageRequest
request
);
/**
* 预约详情(聚合信息详情)
* @param appointmentBizId
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiAppointmentDetailResponse
>
detail
(
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
);
/**
* 预约主体信息详情(单个对象详情)
* @param appointmentBizId
* @return
*/
@GetMapping
(
"/main/detail"
)
Result
<
ApiAppointmentInfoDto
>
mainDetail
(
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
);
/**
* 新增预约提交 (聚合信息新增预约提交)
* @param request
* @return
*/
@PostMapping
(
"/add"
)
Result
add
(
@Validated
@RequestBody
ApiAppointmentAddRequest
request
);
/**
* 新增预约暂存 (聚合信息新增预约暂存)
* @param request
* @return
*/
@PostMapping
(
"/add/storage"
)
Result
addStorage
(
@Validated
@RequestBody
ApiAppointmentAddStorageRequest
request
);
/**
* 编辑预约提交 (聚合信息编辑预约提交)
* @param request
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiAppointmentEditRequest
request
);
/**
* 确定预约时间提交 (流程流转到新单跟进)
* @param request
* @return
*/
@PutMapping
(
"/edit/confirm/time"
)
Result
editConfirmTime
(
@Validated
@RequestBody
ApiAppointmentEditConfirmTimeRequest
request
);
/**
* 单个对象编辑-编辑预约主体信息
* @param apiAppointmentInfoDto
* @return
*/
@PutMapping
(
"/single/edit"
)
Result
singleEdit
(
@Validated
@RequestBody
ApiAppointmentInfoDto
apiAppointmentInfoDto
);
/**
* 预约编辑关联FNA
* @param request
* @return
*/
@PutMapping
(
"/edit/fna"
)
Result
editFna
(
@Validated
@RequestBody
ApiAppointmentEditFnaRequest
request
);
/**
* 预约解除关联FNA
* @param request
* @return
*/
@PutMapping
(
"/remove/fna"
)
Result
removeFna
(
@Validated
@RequestBody
ApiAppointmentRemoveFnaRequest
request
);
/**
* 预约编辑关联计划书
* @param request
* @return
*/
@PutMapping
(
"/edit/proposal"
)
Result
editProposal
(
@Validated
@RequestBody
ApiAppointmentEditProposalRequest
request
);
/**
* 预约解除关联计划书
* @param request
* @return
*/
@PutMapping@PostMapping
(
"/remove/proposal"
)
Result
removeProposal
(
@Validated
@RequestBody
ApiAppointmentRemoveProposalRequest
request
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/appointmentfile/ApiAppointmentFileFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
appointmentfile
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.fallback.appointmentfile.ApiAppointmentFileFeignFallbackFactory
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-预约附件信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiAppointmentFileFeignFallbackFactory
.
class
)
public
interface
ApiAppointmentFileFeignClient
{
/**
* 预约附件信息分页查询
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiAppointmentFilePageRequest
request
);
/**
* 新增预约附件信息
* @param request
* @return
*/
@PostMapping
(
"/add"
)
Result
add
(
@Validated
@RequestBody
ApiAppointmentFileAddRequest
request
);
/**
* 编辑预约附件信息
* @param request
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiAppointmentFileEditRequest
request
);
/**
* 删除预约附件
* @param appointmentFileBizId
* @return
*/
@DeleteMapping
(
"/del"
)
Result
del
(
@NotBlank
(
message
=
"预约附件信息表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentFileBizId"
)
String
appointmentFileBizId
);
/**
* 下载预约附件
* @param appointmentFileBizId
* @return
*/
@GetMapping
(
"/download"
)
Result
download
(
@NotBlank
(
message
=
"预约附件信息表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentFileBizId"
)
String
appointmentFileBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/beneficiary/ApiBeneficiaryFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
beneficiary
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto
;
import
com.yd.csf.feign.fallback.beneficiary.ApiBeneficiaryFeignFallbackFactory
;
import
com.yd.csf.feign.request.beneficiary.ApiBeneficiaryPageRequest
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
/**
* 香港保险服务-受益人信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiBeneficiaryFeignFallbackFactory
.
class
)
public
interface
ApiBeneficiaryFeignClient
{
/**
* 受益人信息分页查询
* @param request
* @return
*/
@PostMapping
(
"/page"
)
Result
page
(
@RequestBody
ApiBeneficiaryPageRequest
request
);
/**
* 受益人信息列表查询
* @param appointmentBizId
* @return
*/
@GetMapping
(
"/list"
)
Result
<
List
<
ApiBeneficiaryInfoDto
>>
list
(
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
);
/**
* 新增单个受益人信息
* @param apiBeneficiaryInfoDto
* @return
*/
@PostMapping
(
"/add"
)
Result
add
(
@Validated
@RequestBody
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
);
/**
* 编辑单个受益人信息
* @param apiBeneficiaryInfoDto
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
);
/**
* 删除单个受益人信息
* @param beneficiaryBizId
* @return
*/
@DeleteMapping
(
"/del"
)
Result
del
(
@NotBlank
(
message
=
"受益人信息表唯一业务ID不能为空"
)
@RequestParam
(
value
=
"beneficiaryBizId"
)
String
beneficiaryBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/insurant/ApiInsurantFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
insurant
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto
;
import
com.yd.csf.feign.fallback.insurant.ApiInsurantFeignFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-受保人信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiInsurantFeignFallbackFactory
.
class
)
public
interface
ApiInsurantFeignClient
{
/**
* 编辑受保人信息
* @param apiInsurantInfoDto
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiInsurantInfoDto
apiInsurantInfoDto
);
/**
* 受保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param insurantBizId 受保人信息表唯一业务ID
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiInsurantInfoDto
>
detail
(
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
,
@RequestParam
(
value
=
"insurantBizId"
)
String
insurantBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/policyholder/ApiPolicyholderFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
policyholder
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.fallback.policyholder.ApiPolicyholderFeignFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-投保人信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiPolicyholderFeignFallbackFactory
.
class
)
public
interface
ApiPolicyholderFeignClient
{
/**
* 编辑投保人信息
* @param apiPolicyholderInfoDto
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
);
/**
* 投保人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param policyholderBizId 投保人信息表唯一业务ID
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiPolicyholderInfoDto
>
detail
(
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
,
@RequestParam
(
value
=
"policyholderBizId"
)
String
policyholderBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/productplan/ApiProductPlanFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
productplan
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto
;
import
com.yd.csf.feign.fallback.productplan.ApiProductPlanFeignFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
/**
* 香港保险服务-产品计划信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiProductPlanFeignFallbackFactory
.
class
)
public
interface
ApiProductPlanFeignClient
{
/**
* 编辑产品计划主体信息
* @param apiProductPlanMainInfoDto
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
);
/**
* 产品计划详情-根据产品计划信息表唯一业务ID查询
* @param appointmentBizId 预约信息主表唯一业务ID
* @param planBizId 产品计划信息表唯一业务ID
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiProductPlanInfoDto
>
detail
(
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
,
@RequestParam
(
value
=
"planBizId"
)
String
planBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/client/secondholder/ApiSecondHolderFeignClient.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
client
.
secondholder
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.dto.appointment.ApiSecondHolderInfoDto
;
import
com.yd.csf.feign.fallback.secondholder.ApiSecondHolderFeignFallbackFactory
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-第二持有人信息Feign客户端
*/
@FeignClient
(
name
=
"yd-csf-api"
,
fallbackFactory
=
ApiSecondHolderFeignFallbackFactory
.
class
)
public
interface
ApiSecondHolderFeignClient
{
/**
* 编辑第二持有人信息
* @param apiSecondHolderInfoDto
* @return
*/
@PutMapping
(
"/edit"
)
Result
edit
(
@Validated
@RequestBody
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
);
/**
* 第二持有人信息详情
* @param appointmentBizId 预约信息主表唯一业务ID
* @param secondHolderBizId 第二持有人信息表唯一业务ID
* @return
*/
@GetMapping
(
"/detail"
)
Result
<
ApiSecondHolderInfoDto
>
detail
(
@RequestParam
(
value
=
"appointmentBizId"
)
String
appointmentBizId
,
@RequestParam
(
value
=
"secondHolderBizId"
)
String
secondHolderBizId
);
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiAppointmentBriefInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
ApiAppointmentBriefInfoDto
{
/**
* 预约信息主表主键id
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
private
String
appointmentBizId
;
/**
* 预约编号
*/
private
String
appointmentNo
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
customerNo
;
/**
* 客户姓名
*/
private
String
customerName
;
/**
* 保险产品名称(中台保险产品名称,冗余)
*/
private
String
productName
;
/**
* 供款年期(字典)
*/
private
String
paymentTerm
;
/**
* 每期保费
*/
private
BigDecimal
eachIssuePremium
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiAppointmentInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 预约信息
*/
@Data
public
class
ApiAppointmentInfoDto
{
/**
* 预约信息表主键id(新增不需要传值,修改需要传值)
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
appointmentBizId
;
/**
* 预约编号(和预约信息主表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
appointmentNo
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
customerNo
;
/**
* 关联FNA信息表唯一业务ID(冗余字段)
*/
private
String
fnaBizId
;
/**
* 关联FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
fnaNo
;
/**
* 关联计划书信息表唯一业务ID(冗余字段)
*/
private
String
proposalBizId
;
/**
* 关联计划书编号(和计划书信息表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
proposalNo
;
/**
* 申请类型(字典)
*/
// @NotBlank(message = "申请类型不能为空")
private
String
applyType
;
/**
* 业务编号
*/
private
String
businessNo
;
/**
* 意向预约时间
*/
// @NotNull(message = "意向预约时间不能为空")
private
LocalDateTime
intentionAppointmentTime
;
/**
* 顾问是否陪同: 0-否, 1-是(字典)
*/
private
Integer
isAccompany
;
/**
* 陪同顾问姓名(FNA Form有填写,可带入)
*/
private
String
accompanyName
;
/**
* 陪同顾问手机区号
*/
private
String
accompanyMobileCode
;
/**
* 陪同顾问手机
*/
private
String
accompanyMobile
;
/**
* 陪同顾问邮箱
*/
private
String
accompanyEmail
;
/**
* 到港时间
*/
private
LocalDateTime
arrivalTime
;
/**
* 离港时间
*/
private
LocalDateTime
departureTime
;
/**
* 会面地点(字典)
*/
private
String
meetingPoint
;
/**
* 签单地址
*/
private
String
signingAddress
;
/**
* 客户在港期间联络电话区号
*/
private
String
hkMobileCode
;
/**
* 客户在港期间联络电话
*/
private
String
hkMobile
;
/**
* 是否开户: 0-否, 1-是(字典)
*/
private
Integer
isOpenAccount
;
/**
* 开户行名称
*/
private
String
bankName
;
/**
* 开户行支行(分行)
*/
private
String
bankBranchName
;
/**
* 开户时间段(开始)
*/
private
LocalDateTime
openAccountStartTime
;
/**
* 开户时间段(结束)
*/
private
LocalDateTime
openAccountEndTime
;
/**
* 开户地点
*/
private
String
openAccountLocation
;
/**
* 开户须知
*/
private
String
openAccountNotice
;
/**
* 是否体检: 0-否, 1-是(字典)
*/
private
Integer
isTj
;
/**
* 是否购买过香港保险: 0-否, 1-是(字典)
*/
private
Integer
isBuy
;
/**
* 业务代表1账号
*/
private
String
businessRepresentAccount1
;
/**
* 业务代表1姓名
*/
private
String
businessRepresentName1
;
/**
* 业务代表1电话号码区号
*/
private
String
businessRepresentMobile1Code
;
/**
* 业务代表1电话号码
*/
private
String
businessRepresentMobile1
;
/**
* 业务代表1邮箱
*/
private
String
businessRepresentEmail1
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiBeneficiaryInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 受益人信息
*/
@Data
public
class
ApiBeneficiaryInfoDto
{
/**
* 受益人信息主键id(新增不需要传值,修改需要传值)
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
appointmentBizId
;
/**
* 受益人信息表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
beneficiaryBizId
;
/**
* 客户类型(字典)(个人或者公司)
*/
// @NotBlank(message = "客户类型不能为空")
private
String
customerType
;
/**
* 与受保人关系(字典)
*/
// @NotBlank(message = "与受保人关系不能为空")
private
String
insurantRel
;
/**
* 受益比例
*/
private
BigDecimal
benefitRatio
;
/**
* 名字
*/
private
String
name
;
/**
* 名字-英文
*/
private
String
nameEn
;
/**
* 性别(字典)
*/
private
String
gender
;
/**
* 证件类型(字典)
*/
private
String
documentType
;
/**
* 证件号码
*/
private
String
idNumber
;
/**
* 护照号码
*/
private
String
passportNumber
;
/**
* 出生日期
*/
private
LocalDateTime
birthTime
;
/**
* 公司名称
*/
private
String
companyName
;
/**
* 公司名称(英文)
*/
private
String
companyNameEn
;
/**
* 公司商业登记号码
*/
private
String
companyBusinessNo
;
/**
* 公司注册日期
*/
private
LocalDateTime
companyRegisterTime
;
/**
* 公司注册地区(字典)
*/
private
String
companyRegisterRegion
;
/**
* 公司电话区号
*/
private
String
companyMobileCode
;
/**
* 公司电话
*/
private
String
companyMobile
;
/**
* 公司邮箱
*/
private
String
companyEmail
;
/**
* 公司登记地址
*/
private
String
companyEnterAddress
;
/**
* 通讯地址
*/
private
String
mailingAddress
;
/**
* 授权代表姓名中文-名字
*/
private
String
authNameCn
;
/**
* 授权代表姓名英文-名字
*/
private
String
authNameEn
;
/**
* 授权代表职称
*/
private
String
authProfessional
;
/**
* 授权代表电话区号
*/
private
String
authMobileCode
;
/**
* 授权代表电话
*/
private
String
authMobile
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiInsurantInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 受保人信息入参
*/
@Data
public
class
ApiInsurantInfoDto
{
/**
* 受保人信息表主键id(新增不需要传值,修改需要传值)
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
appointmentBizId
;
/**
* 受保人信息表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
insurantBizId
;
/**
* 客户类型(字典)
*/
// @NotBlank(message = "客户类型不能为空")
private
String
customerType
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
customerNo
;
/**
* 与投保人关系(字典)
*/
// @NotBlank(message = "与投保人关系不能为空")
private
String
policyholderRel
;
/**
* 名字
*/
private
String
name
;
/**
* 名字-英文
*/
private
String
nameEn
;
/**
* 性别(字典)
*/
private
String
gender
;
/**
* 证件类型(字典)
*/
private
String
documentType
;
/**
* 证件号码
*/
private
String
idNumber
;
/**
* 出生日期
*/
private
LocalDateTime
birthday
;
/**
* 年龄
*/
private
String
age
;
/**
* 居住地址
*/
private
String
residentialAddress
;
/**
* 移动电话区号
*/
private
String
mobileCode
;
/**
* 移动电话
*/
private
String
mobile
;
/**
* 邮箱
*/
private
String
email
;
/**
* 行业
*/
private
String
industry
;
/**
* 职位
*/
private
String
position
;
/**
* 风险偏好(字典)
*/
private
String
riskAppetite
;
/**
* 是否VIP: 0-否, 1-是(字典)
*/
private
Integer
isVip
;
/**
* vip备注
*/
private
String
vipRemark
;
/**
* 称谓(字典)
*/
private
String
appellation
;
/**
* 是否区分吸烟(字典)
*/
private
String
smokingAllowed
;
/**
* 吸烟量(支/天)
*/
private
String
smokingVolume
;
/**
* 出生地(省市)
*/
private
String
birthplace
;
/**
* 国籍
*/
private
String
nationality
;
/**
* 护照号码
*/
private
String
passportNo
;
/**
* 通行证号码
*/
private
String
passNo
;
/**
* 身高
*/
private
String
height
;
/**
* 体重
*/
private
String
weight
;
/**
* BMI
*/
private
String
bmi
;
/**
* 受雇于现职年期
*/
private
BigDecimal
currentTenure
;
/**
* 总负债额
*/
private
BigDecimal
totalDebt
;
/**
* 受供养人数目
*/
private
Integer
dependentsNum
;
/**
* 婚姻状况(字典)
*/
private
String
maritalStatus
;
/**
* 教育程度(字典)
*/
private
String
educationLevel
;
/**
* 总工作年期
*/
private
BigDecimal
totalWorkingYears
;
/**
* 货币(字典)
*/
private
String
currency
;
/**
* 现时每月收入
*/
private
BigDecimal
currentMonthlyIncome
;
/**
* 固定电话
*/
private
String
landline
;
/**
* 过往一年是否所属国家以外地区居住超过182日: 0-否, 1-是(字典)
*/
private
Integer
isExceed
;
/**
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
private
Integer
isOtherCountry
;
/**
* 旅行(字典)
*/
private
String
travel
;
/**
* 运动(字典)
*/
private
String
exercise
;
/**
* 游戏(字典)
*/
private
String
game
;
/**
* 电影/戏剧(字典)
*/
private
String
movieDrama
;
/**
* 美食(字典)
*/
private
String
delicacy
;
/**
* 公司名称
*/
private
String
companyName
;
/**
* 公司地址
*/
private
String
companyAddress
;
/**
* 公司电话区号
*/
private
String
companyMobileCode
;
/**
* 公司电话
*/
private
String
companyMobile
;
/**
* 公司名称(英文)
*/
private
String
companyNameEn
;
/**
* 公司商业登记号码
*/
private
String
companyBusinessNo
;
/**
* 公司注册日期
*/
private
LocalDateTime
companyRegisterTime
;
/**
* 公司注册地区(字典)
*/
private
String
companyRegisterRegion
;
/**
* 公司邮箱
*/
private
String
companyEmail
;
/**
* 公司登记地址
*/
private
String
companyEnterAddress
;
/**
* 通讯地址
*/
private
String
mailingAddress
;
/**
* 授权代表姓名中文-名字
*/
private
String
authNameCn
;
/**
* 授权代表姓名英文-名字
*/
private
String
authNameEn
;
/**
* 授权代表职称
*/
private
String
authProfessional
;
/**
* 授权代表电话区号
*/
private
String
authMobileCode
;
/**
* 授权代表电话
*/
private
String
authMobile
;
/**
* 其他电话
*/
private
String
otherMobile
;
/**
* 是否接受推广信息: 0-否, 1-是(字典)
*/
private
Integer
isPromotion
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiPolicyholderInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 投保人信息
*/
@Data
public
class
ApiPolicyholderInfoDto
{
/**
* 投保人信息主键id(新增不需要传值,修改需要传值)
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
appointmentBizId
;
/**
* 投保人信息表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
policyholderBizId
;
/**
* 客户类型(字典)
*/
// @NotBlank(message = "客户类型不能为空")
private
String
customerType
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
private
String
customerNo
;
/**
* 名字
*/
private
String
name
;
/**
* 名字-英文
*/
private
String
nameEn
;
/**
* 性别(字典)
*/
private
String
gender
;
/**
* 证件类型(字典)
*/
private
String
documentType
;
/**
* 证件号码
*/
private
String
idNumber
;
/**
* 出生日期
*/
private
LocalDateTime
birthday
;
/**
* 年龄
*/
private
String
age
;
/**
* 居住地址
*/
private
String
residentialAddress
;
/**
* 移动电话区号
*/
private
String
mobileCode
;
/**
* 移动电话
*/
private
String
mobile
;
/**
* 邮箱
*/
private
String
email
;
/**
* 行业
*/
private
String
industry
;
/**
* 职位
*/
private
String
position
;
/**
* 风险偏好(字典)
*/
private
String
riskAppetite
;
/**
* 是否VIP: 0-否, 1-是(字典)
*/
private
Integer
isVip
;
/**
* vip备注
*/
private
String
vipRemark
;
/**
* 称谓(字典)
*/
private
String
appellation
;
/**
* 是否区分吸烟(字典)
*/
private
String
smokingAllowed
;
/**
* 吸烟量(支/天)
*/
private
String
smokingVolume
;
/**
* 出生地(省市)
*/
private
String
birthplace
;
/**
* 国籍
*/
private
String
nationality
;
/**
* 护照号码
*/
private
String
passportNo
;
/**
* 通行证号码
*/
private
String
passNo
;
/**
* 身高
*/
private
String
height
;
/**
* 体重
*/
private
String
weight
;
/**
* BMI
*/
private
String
bmi
;
/**
* 货币(字典)
*/
private
String
currency
;
/**
* 平均每月支出
*/
private
BigDecimal
monthExpenditure
;
/**
* 平均每月收入
*/
private
BigDecimal
monthIncome
;
/**
* 受雇于现职年期
*/
private
BigDecimal
currentTenure
;
/**
* 总流动资产
*/
private
BigDecimal
totalCurrentAssets
;
/**
* 总负债额
*/
private
BigDecimal
totalDebt
;
/**
* 受供养人数目
*/
private
Integer
dependentsNum
;
/**
* 婚姻状况(字典)
*/
private
String
maritalStatus
;
/**
* 教育程度(字典)
*/
private
String
educationLevel
;
/**
* 总工作年期
*/
private
BigDecimal
totalWorkingYears
;
/**
* 现时每月收入
*/
private
BigDecimal
currentMonthlyIncome
;
/**
* 固定电话
*/
private
String
landline
;
/**
* 过往一年是否所属国家以外地区居住超过182日: 0-否, 1-是(字典)
*/
private
Integer
isExceed
;
/**
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
private
Integer
isOtherCountry
;
/**
* 投保人邮政编码
*/
private
String
postalCode
;
/**
* 旅行(字典)
*/
private
String
travel
;
/**
* 运动(字典)
*/
private
String
exercise
;
/**
* 游戏(字典)
*/
private
String
game
;
/**
* 电影/戏剧(字典)
*/
private
String
movieDrama
;
/**
* 美食(字典)
*/
private
String
delicacy
;
/**
* 公司名称
*/
private
String
companyName
;
/**
* 公司地址
*/
private
String
companyAddress
;
/**
* 公司电话区号
*/
private
String
companyMobileCode
;
/**
* 公司电话
*/
private
String
companyMobile
;
/**
* 公司名称(英文)
*/
private
String
companyNameEn
;
/**
* 公司商业登记号码
*/
private
String
companyBusinessNo
;
/**
* 公司注册日期
*/
private
LocalDateTime
companyRegisterTime
;
/**
* 公司注册地区(字典)
*/
private
String
companyRegisterRegion
;
/**
* 公司邮箱
*/
private
String
companyEmail
;
/**
* 公司登记地址
*/
private
String
companyEnterAddress
;
/**
* 通讯地址
*/
private
String
mailingAddress
;
/**
* 授权代表姓名中文-名字
*/
private
String
authNameCn
;
/**
* 授权代表姓名英文-名字
*/
private
String
authNameEn
;
/**
* 授权代表职称
*/
private
String
authProfessional
;
/**
* 授权代表电话区号
*/
private
String
authMobileCode
;
/**
* 授权代表电话
*/
private
String
authMobile
;
/**
* 其他电话
*/
private
String
otherMobile
;
/**
* 是否接受推广信息: 0-否, 1-是(字典)
*/
private
Integer
isPromotion
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiProductPlanAdditionalInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 产品计划-附加险列表
*/
@Data
public
class
ApiProductPlanAdditionalInfoDto
{
/**
* 产品计划-附加险信息表主键id(新增不需要传值,编辑需要传值)
*/
private
Long
id
;
/**
* 附加险信息表唯一业务ID(新增不需要传值,编辑需要传值)
*/
private
String
additionalBizId
;
/**
* 产品计划信息表唯一业务ID(新增不需要传值,编辑需要传值)
*/
private
String
planBizId
;
/**
* 保险附加产品唯一业务ID(中台保险附加产品业务id,冗余)
*/
// @NotBlank(message = "保险附加产品唯一业务ID不能为空")
private
String
additionalProductBizId
;
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
// @NotBlank(message = "保险附加产品名称不能为空")
private
String
productName
;
/**
* 货币(字典)
*/
// @NotBlank(message = "货币不能为空")
private
String
currency
;
/**
* 保费
*/
// @NotNull(message = "保费不能为空")
private
BigDecimal
premium
;
/**
* 保额
*/
// @NotNull(message = "保额不能为空")
private
BigDecimal
sumInsured
;
/**
* 保障地区(字典)
*/
private
String
guaranteeRegion
;
/**
* 等级(字典)
*/
private
String
level
;
/**
* 自付额(字典)
*/
private
String
deductibles
;
/**
* 附加保障(json串)
*/
private
String
additionalSafeguards
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiProductPlanInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
java.util.List
;
/**
* 产品计划
*/
@Data
public
class
ApiProductPlanInfoDto
{
/**
* 产品计划主信息
*/
private
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
;
/**
* 附加险列表
*/
private
List
<
ApiProductPlanAdditionalInfoDto
>
apiProductPlanAdditionalInfoDtoList
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiProductPlanMainInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 产品计划主信息
*/
@Data
public
class
ApiProductPlanMainInfoDto
{
/**
* 产品计划表主键id(新增不需要传值,编辑需要传值)
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID(新增不需要传值,编辑需要传值)
*/
private
String
appointmentBizId
;
/**
* 产品计划信息表唯一业务ID(新增不需要传值,编辑需要传值)
*/
private
String
planBizId
;
/**
* 保险产品唯一业务ID(中台保险产品业务id,冗余)
*/
// @NotBlank(message = "保险产品唯一业务ID不能为空")
private
String
productBizId
;
/**
* 保险产品名称(中台保险产品名称,冗余)
*/
// @NotBlank(message = "保险产品名称不能为空")
private
String
productName
;
/**
* 保险公司名称(冗余字段)
*/
private
String
companyName
;
/**
* 地区
*/
private
String
region
;
/**
* 货币(字典)
*/
// @NotBlank(message = "货币不能为空")
private
String
currency
;
/**
* 供款年期(字典)
*/
// @NotBlank(message = "供款年期不能为空")
private
String
paymentTerm
;
/**
* 付款频率(字典)
*/
// @NotBlank(message = "付款频率不能为空")
private
String
paymentFrequency
;
/**
* 每期保费
*/
// @NotNull(message = "每期保费不能为空")
private
BigDecimal
eachIssuePremium
;
/**
* 保额
*/
// @NotNull(message = "保额不能为空")
private
BigDecimal
sumInsured
;
/**
* 是否预缴保费: 0-否, 1-是(字典)
*/
// @NotNull(message = "是否预缴保费不能为空")
private
Integer
isPrepay
;
/**
* 预付额
*/
private
BigDecimal
deductibles
;
/**
* 首期付款方式(字典)
*/
private
String
initialPaymentMethod
;
/**
* 续期付款方式(字典)
*/
private
String
renewalPaymentMethod
;
/**
* 红利分配方式(字典)
*/
private
String
dividendDistributionMethod
;
/**
* 保单日期回溯: 0-否, 1-是(字典)
*/
private
Integer
isBacktrack
;
/**
* 保单生效日
*/
private
LocalDateTime
policyEffectiveDate
;
/**
* 是否参加递增保障权益: 0-否, 1-是(字典)
*/
private
Integer
isJoin
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointment/ApiSecondHolderInfoDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointment
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 第二持有人信息
*/
@Data
public
class
ApiSecondHolderInfoDto
{
/**
* 第二持有人信息表主键id(新增不需要传值,修改需要传值)
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
appointmentBizId
;
/**
* 第二持有人信息表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
secondHolderBizId
;
/**
* 与受保人关系(字典)
*/
private
String
insurantRel
;
/**
* 名字
*/
private
String
name
;
/**
* 名字-英文
*/
private
String
nameEn
;
/**
* 性别(字典)
*/
private
String
gender
;
/**
* 证件类型(字典)
*/
private
String
documentType
;
/**
* 证件号码
*/
private
String
idNumber
;
/**
* 护照号码
*/
private
String
passportNumber
;
/**
* 出生日期
*/
private
LocalDateTime
birthTime
;
/**
* 年龄
*/
private
String
age
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/dto/appointmentfile/ApiAppointmentFileDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
dto
.
appointmentfile
;
import
lombok.Data
;
@Data
public
class
ApiAppointmentFileDto
{
/**
* 预约附件信息表主键id
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
private
String
appointmentBizId
;
/**
* 中台文件元数据表唯一业务ID
*/
private
String
ossFileBizId
;
/**
* 预约附件信息表唯一业务ID
*/
private
String
appointmentFileBizId
;
/**
* 文件名
*/
private
String
fileName
;
/**
* 文件访问路径
*/
private
String
fileUrl
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/additional/ApiAdditionalFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
additional
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.additional.ApiAdditionalFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanAdditionalInfoDto
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-产品计划-附加险信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiAdditionalFeignFallbackFactory
implements
FallbackFactory
<
ApiAdditionalFeignClient
>
{
@Override
public
ApiAdditionalFeignClient
create
(
Throwable
cause
)
{
return
new
ApiAdditionalFeignClient
()
{
@Override
public
Result
page
(
ApiAdditionalPageRequest
request
)
{
return
null
;
}
@Override
public
Result
add
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
)
{
return
null
;
}
@Override
public
Result
edit
(
ApiProductPlanAdditionalInfoDto
apiProductPlanAdditionalInfoDto
)
{
return
null
;
}
@Override
public
Result
<
ApiProductPlanAdditionalInfoDto
>
detail
(
String
additionalBizId
)
{
return
null
;
}
@Override
public
Result
del
(
String
additionalBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/appointment/ApiAppointmentFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
appointment
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.appointment.ApiAppointmentFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiAppointmentInfoDto
;
import
com.yd.csf.feign.request.appointment.*
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentDetailResponse
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-预约信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiAppointmentFeignFallbackFactory
implements
FallbackFactory
<
ApiAppointmentFeignClient
>
{
@Override
public
ApiAppointmentFeignClient
create
(
Throwable
cause
)
{
return
new
ApiAppointmentFeignClient
()
{
@Override
public
Result
page
(
ApiAppointmentPageRequest
request
)
{
return
null
;
}
@Override
public
Result
<
ApiAppointmentDetailResponse
>
detail
(
String
appointmentBizId
)
{
return
null
;
}
@Override
public
Result
<
ApiAppointmentInfoDto
>
mainDetail
(
String
appointmentBizId
)
{
return
null
;
}
@Override
public
Result
add
(
ApiAppointmentAddRequest
request
)
{
return
null
;
}
@Override
public
Result
addStorage
(
ApiAppointmentAddStorageRequest
request
)
{
return
null
;
}
@Override
public
Result
singleEdit
(
ApiAppointmentInfoDto
apiAppointmentInfoDto
)
{
return
null
;
}
@Override
public
Result
edit
(
ApiAppointmentEditRequest
request
)
{
return
null
;
}
@Override
public
Result
editConfirmTime
(
ApiAppointmentEditConfirmTimeRequest
request
)
{
return
null
;
}
@Override
public
Result
editFna
(
ApiAppointmentEditFnaRequest
request
)
{
return
null
;
}
@Override
public
Result
removeFna
(
ApiAppointmentRemoveFnaRequest
request
)
{
return
null
;
}
@Override
public
Result
editProposal
(
ApiAppointmentEditProposalRequest
request
)
{
return
null
;
}
@Override
public
Result
removeProposal
(
ApiAppointmentRemoveProposalRequest
request
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/appointmentfile/ApiAppointmentFileFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
appointmentfile
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.appointmentfile.ApiAppointmentFileFeignClient
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileAddRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFileEditRequest
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
/**
* 香港保险服务-预约附件信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiAppointmentFileFeignFallbackFactory
implements
FallbackFactory
<
ApiAppointmentFileFeignClient
>
{
@Override
public
ApiAppointmentFileFeignClient
create
(
Throwable
cause
)
{
return
new
ApiAppointmentFileFeignClient
()
{
@Override
public
Result
page
(
ApiAppointmentFilePageRequest
request
)
{
return
null
;
}
@Override
public
Result
add
(
ApiAppointmentFileAddRequest
request
)
{
return
null
;
}
@Override
public
Result
edit
(
ApiAppointmentFileEditRequest
request
)
{
return
null
;
}
@Override
public
Result
del
(
String
appointmentFileBizId
)
{
return
null
;
}
@Override
public
Result
download
(
String
appointmentFileBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/beneficiary/ApiBeneficiaryFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
beneficiary
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.beneficiary.ApiBeneficiaryFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiBeneficiaryInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
com.yd.csf.feign.request.beneficiary.ApiBeneficiaryPageRequest
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
/**
* 香港保险服务-受益人信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiBeneficiaryFeignFallbackFactory
implements
FallbackFactory
<
ApiBeneficiaryFeignClient
>
{
@Override
public
ApiBeneficiaryFeignClient
create
(
Throwable
cause
)
{
return
new
ApiBeneficiaryFeignClient
()
{
@Override
public
Result
page
(
ApiBeneficiaryPageRequest
request
)
{
return
null
;
}
@Override
public
Result
<
List
<
ApiBeneficiaryInfoDto
>>
list
(
String
appointmentBizId
)
{
return
null
;
}
@Override
public
Result
add
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
)
{
return
null
;
}
@Override
public
Result
edit
(
ApiBeneficiaryInfoDto
apiBeneficiaryInfoDto
)
{
return
null
;
}
@Override
public
Result
del
(
String
beneficiaryBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/insurant/ApiInsurantFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
insurant
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.insurant.ApiInsurantFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiInsurantInfoDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-受保人信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiInsurantFeignFallbackFactory
implements
FallbackFactory
<
ApiInsurantFeignClient
>
{
@Override
public
ApiInsurantFeignClient
create
(
Throwable
cause
)
{
return
new
ApiInsurantFeignClient
()
{
@Override
public
Result
edit
(
ApiInsurantInfoDto
apiInsurantInfoDto
)
{
return
null
;
}
@Override
public
Result
<
ApiInsurantInfoDto
>
detail
(
String
appointmentBizId
,
String
insurantBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/policyholder/ApiPolicyholderFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
policyholder
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.policyholder.ApiPolicyholderFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiPolicyholderInfoDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-投保人信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiPolicyholderFeignFallbackFactory
implements
FallbackFactory
<
ApiPolicyholderFeignClient
>
{
@Override
public
ApiPolicyholderFeignClient
create
(
Throwable
cause
)
{
return
new
ApiPolicyholderFeignClient
()
{
@Override
public
Result
edit
(
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
)
{
return
null
;
}
@Override
public
Result
<
ApiPolicyholderInfoDto
>
detail
(
String
appointmentBizId
,
String
policyholderBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/productplan/ApiProductPlanFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
productplan
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.productplan.ApiProductPlanFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanInfoDto
;
import
com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-产品计划信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiProductPlanFeignFallbackFactory
implements
FallbackFactory
<
ApiProductPlanFeignClient
>
{
@Override
public
ApiProductPlanFeignClient
create
(
Throwable
cause
)
{
return
new
ApiProductPlanFeignClient
()
{
@Override
public
Result
edit
(
ApiProductPlanMainInfoDto
apiProductPlanMainInfoDto
)
{
return
null
;
}
@Override
public
Result
<
ApiProductPlanInfoDto
>
detail
(
String
appointmentBizId
,
String
planBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/fallback/secondholder/ApiSecondHolderFeignFallbackFactory.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
fallback
.
secondholder
;
import
com.yd.common.result.Result
;
import
com.yd.csf.feign.client.secondholder.ApiSecondHolderFeignClient
;
import
com.yd.csf.feign.dto.appointment.ApiSecondHolderInfoDto
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FallbackFactory
;
import
org.springframework.stereotype.Component
;
import
javax.validation.constraints.NotBlank
;
/**
* 香港保险服务-第二持有人信息Feign降级处理
*/
@Slf4j
@Component
public
class
ApiSecondHolderFeignFallbackFactory
implements
FallbackFactory
<
ApiSecondHolderFeignClient
>
{
@Override
public
ApiSecondHolderFeignClient
create
(
Throwable
cause
)
{
return
new
ApiSecondHolderFeignClient
()
{
@Override
public
Result
edit
(
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
)
{
return
null
;
}
@Override
public
Result
<
ApiSecondHolderInfoDto
>
detail
(
String
appointmentBizId
,
String
secondHolderBizId
)
{
return
null
;
}
};
}
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-feign/src/main/java/com/yd/csf/feign/request/additional/ApiAdditionalPageRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
additional
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
ApiAdditionalPageRequest
extends
PageDto
{
/**
* 产品计划信息表唯一业务ID
*/
@NotBlank
(
message
=
"产品计划信息表唯一业务ID不能为空"
)
private
String
planBizId
;
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
private
String
productName
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentAddRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
com.yd.csf.feign.dto.appointment.*
;
import
lombok.Data
;
import
java.util.List
;
/**
* 新增预约入参
*/
@Data
public
class
ApiAppointmentAddRequest
{
/**
* 预约信息
*/
private
ApiAppointmentInfoDto
apiAppointmentInfoDto
;
/**
* 产品计划信息
*/
private
ApiProductPlanInfoDto
apiProductPlanInfoDto
;
/**
* 投保人信息
*/
private
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
;
/**
* 受保人信息
*/
private
ApiInsurantInfoDto
apiInsurantInfoDto
;
/**
* 受益人列表信息
*/
private
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
;
/**
* 第二持有人信息
*/
private
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentAddStorageRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
com.yd.csf.feign.dto.appointment.*
;
import
lombok.Data
;
import
java.util.List
;
/**
* 新增预约暂存入参
*/
@Data
public
class
ApiAppointmentAddStorageRequest
{
/**
* 预约信息
*/
private
ApiAppointmentInfoDto
apiAppointmentInfoDto
;
/**
* 产品计划信息
*/
private
ApiProductPlanInfoDto
apiProductPlanInfoDto
;
/**
* 投保人信息
*/
private
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
;
/**
* 受保人信息
*/
private
ApiInsurantInfoDto
apiInsurantInfoDto
;
/**
* 受益人列表信息
*/
private
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
;
/**
* 第二持有人信息
*/
private
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditConfirmTimeRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.time.LocalDateTime
;
@Data
public
class
ApiAppointmentEditConfirmTimeRequest
{
/**
* 预约信息主表唯一业务ID
*/
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
private
String
appointmentBizId
;
/**
* 确定预约时间
*/
@NotNull
(
message
=
"确定预约时间不能为空"
)
private
LocalDateTime
confirmAppointmentTime
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditFnaRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 预约编辑关联FNA入参
*/
@Data
public
class
ApiAppointmentEditFnaRequest
{
/**
* 预约信息主表唯一业务ID
*/
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
private
String
appointmentBizId
;
/**
* FNA表的业务id(FNA编号)
*/
@NotBlank
(
message
=
"FNA表的业务id不能为空"
)
private
String
fnaBizId
;
/**
* FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
*/
@NotBlank
(
message
=
"FNA编号id不能为空"
)
private
String
fnaNo
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditProposalRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 预约编辑关联计划书入参
*/
@Data
public
class
ApiAppointmentEditProposalRequest
{
/**
* 预约信息主表唯一业务ID
*/
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
private
String
appointmentBizId
;
/**
* 计划书信息表唯一业务ID(冗余字段)
*/
@NotBlank
(
message
=
"计划书信息表唯一业务ID不能为空"
)
private
String
proposalBizId
;
/**
* 计划书编号(和计划书信息表唯一业务ID是一对,唯一,冗余字段)
*/
@NotBlank
(
message
=
"计划书编号不能为空"
)
private
String
proposalNo
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentEditRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
com.yd.csf.feign.dto.appointment.*
;
import
lombok.Data
;
import
java.util.List
;
/**
* 编辑预约入参
*/
@Data
public
class
ApiAppointmentEditRequest
{
/**
* 预约信息
*/
private
ApiAppointmentInfoDto
apiAppointmentInfoDto
;
/**
* 产品计划信息
*/
private
ApiProductPlanInfoDto
apiProductPlanInfoDto
;
/**
* 投保人信息
*/
private
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
;
/**
* 受保人信息
*/
private
ApiInsurantInfoDto
apiInsurantInfoDto
;
/**
* 受益人列表信息
*/
private
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
;
/**
* 第二持有人信息
*/
private
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
;
//健康信息
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentPageRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 预约分页查询入参
*/
@Data
public
class
ApiAppointmentPageRequest
extends
PageDto
{
/**
* 预约状态: 0-暂存 1-待预约, 2-待签署 3-已签署 4-已取消(字典)
*/
private
Integer
status
;
/**
* 预约编号
*/
private
String
appointmentNo
;
/**
* 客户姓名(客户表的姓名) TODO
*/
private
String
customerName
;
/**
* 客户编号(客户表的客户编号)
*/
private
String
customerNo
;
/**
* 保险产品唯一业务ID
*/
private
String
productBizId
;
/**
* 确定预约开始时间
*/
private
LocalDateTime
startTime
;
/**
* 确定预约结束时间
*/
private
LocalDateTime
endTime
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentRemoveFnaRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
ApiAppointmentRemoveFnaRequest
{
/**
* 预约信息主表唯一业务ID
*/
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
private
String
appointmentBizId
;
// /**
// * FNA表的业务id(FNA编号)
// */
// @NotBlank(message = "FNA表的业务id不能为空")
// private String fnaBizId;
//
// /**
// * FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
// */
// @NotBlank(message = "FNA编号id不能为空")
// private String fnaNo;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentRemoveProposalRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointment
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 预约解除关联计划书
*/
@Data
public
class
ApiAppointmentRemoveProposalRequest
{
/**
* 预约信息主表唯一业务ID
*/
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
private
String
appointmentBizId
;
/**
* 计划书信息表唯一业务ID(冗余字段)
*/
@NotBlank
(
message
=
"计划书信息表唯一业务ID不能为空"
)
private
String
proposalBizId
;
/**
* 计划书编号(和计划书信息表唯一业务ID是一对,唯一,冗余字段)
*/
@NotBlank
(
message
=
"计划书编号不能为空"
)
private
String
proposalNo
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointmentfile/ApiAppointmentFileAddRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointmentfile
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 新增预约附件信息入参
*/
@Data
public
class
ApiAppointmentFileAddRequest
{
/**
* 预约信息主表唯一业务ID
*/
@NotBlank
(
message
=
"预约信息主表唯一业务ID不能为空"
)
private
String
appointmentBizId
;
/**
* 中台文件元数据表唯一业务ID
*/
@NotBlank
(
message
=
"中台文件元数据表唯一业务ID不能为空"
)
private
String
ossFileBizId
;
/**
* 文件名
*/
@NotBlank
(
message
=
"文件名不能为空"
)
private
String
fileName
;
/**
* 文件访问路径
*/
@NotBlank
(
message
=
"文件访问路径为空"
)
private
String
fileUrl
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointmentfile/ApiAppointmentFileEditRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointmentfile
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 编辑预约附件信息入参
*/
@Data
public
class
ApiAppointmentFileEditRequest
{
/**
* 预约附件信息表唯一业务ID
*/
@NotBlank
(
message
=
"预约附件信息表唯一业务ID不能为空"
)
private
String
appointmentFileBizId
;
/**
* 文件名
*/
@NotBlank
(
message
=
"文件名不能为空"
)
private
String
fileName
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointmentfile/ApiAppointmentFilePageRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
appointmentfile
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
/**
* 预约附件信息分页查询入参
*/
@Data
public
class
ApiAppointmentFilePageRequest
extends
PageDto
{
/**
* 文件名
*/
private
String
fileName
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/request/beneficiary/ApiBeneficiaryPageRequest.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
request
.
beneficiary
;
import
com.yd.common.dto.PageDto
;
import
lombok.Data
;
@Data
public
class
ApiBeneficiaryPageRequest
extends
PageDto
{
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-feign/src/main/java/com/yd/csf/feign/response/additional/ApiAdditionalPageResponse.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
response
.
additional
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
ApiAdditionalPageResponse
{
/**
* 附加险信息表主键id
*/
private
Long
id
;
/**
* 附加险信息表唯一业务ID
*/
private
String
additionalBizId
;
/**
* 产品计划信息表唯一业务ID
*/
private
String
planBizId
;
/**
* 保险附加产品唯一业务ID(中台保险附加产品业务id,冗余)
*/
private
String
additionalProductBizId
;
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
private
String
productName
;
/**
* 货币(字典)
*/
private
String
currency
;
/**
* 保费
*/
private
BigDecimal
premium
;
/**
* 保额
*/
private
BigDecimal
sumInsured
;
/**
* 保障地区(字典)
*/
private
String
guaranteeRegion
;
/**
* 等级(字典)
*/
private
String
level
;
/**
* 自付额(字典)
*/
private
String
deductibles
;
/**
* 附加保障(json串)
*/
private
String
additionalSafeguards
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/appointment/ApiAppointmentDetailResponse.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
response
.
appointment
;
import
com.yd.csf.feign.dto.appointment.*
;
import
com.yd.csf.feign.dto.appointmentfile.ApiAppointmentFileDto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ApiAppointmentDetailResponse
{
/**
* 预约简要信息
*/
private
ApiAppointmentBriefInfoDto
apiAppointmentBriefInfoDto
;
/**
* 预约信息
*/
private
ApiAppointmentInfoDto
apiAppointmentInfoDto
;
/**
* 产品计划信息
*/
private
ApiProductPlanInfoDto
apiProductPlanInfoDto
;
/**
* 投保人信息
*/
private
ApiPolicyholderInfoDto
apiPolicyholderInfoDto
;
/**
* 受保人信息
*/
private
ApiInsurantInfoDto
apiInsurantInfoDto
;
/**
* 受益人列表信息
*/
private
List
<
ApiBeneficiaryInfoDto
>
apiBeneficiaryInfoDtoList
;
/**
* 第二持有人信息
*/
private
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
;
/**
* 预约附件信息列表
*/
private
List
<
ApiAppointmentFileDto
>
apiAppointmentFileDtoList
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/appointment/ApiAppointmentPageResponse.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
response
.
appointment
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 预约分页查询出参
*/
@Data
public
class
ApiAppointmentPageResponse
{
/**
* 预约编号
*/
private
String
appointmentNo
;
/**
* 用户(租户名称)
*/
private
String
tenantName
;
/**
* 产品名称(显示内容-产品计划表:产品图标(中台产品表)+产品名称(供款年期)(产品计划表))(冗余的产品id就可以查询到)
*/
private
String
productName
;
/**
* 保险公司(显示内容-产品计划表:产品所属保险公司(中台产品表)+产品所属公司的所在地(中台产品表))(冗余的产品id就可以查询到)
*/
private
String
companyName
;
/**
* 投保人(显示内容:投保人表的名字+名字英文)
*/
private
String
policyholder
;
/**
* 受保人(显示内容:受保人表的名字+名字英文)
*/
private
String
insurant
;
/**
* 供款年期(字典)(显示内容-产品计划表:供款年期,单位年)
*/
private
String
paymentTerm
;
/**
* 预约状态: 0-暂存 1-待预约, 2-待签署 3-已签署 4-已取消(字典)
*/
private
Integer
status
;
/**
* 每期保费(显示内容-产品计划表:每期保费)
*/
private
BigDecimal
eachIssuePremium
;
/**
* 货币(字典)(显示内容-产品计划表:货币)
*/
private
String
currency
;
/**
* 时间(显示-预约信息表:意向预约时间+业务代表1 姓名+业务代表1 电话号码+签单地址) TODO
*/
private
String
time
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/appointmentfile/ApiAppointmentFilePageResponse.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
response
.
appointmentfile
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 预约附件信息分页查询出参
*/
@Data
public
class
ApiAppointmentFilePageResponse
{
/**
* 预约附件信息表主键id
*/
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
private
String
appointmentBizId
;
/**
* 中台文件元数据表唯一业务ID
*/
private
String
ossFileBizId
;
/**
* 预约附件信息表唯一业务ID
*/
private
String
appointmentFileBizId
;
/**
* 文件名
*/
private
String
fileName
;
/**
* 文件访问路径
*/
private
String
fileUrl
;
/**
* 创建时间
*/
private
LocalDateTime
createTime
;
}
yd-csf-feign/src/main/java/com/yd/csf/feign/response/beneficiary/ApiBeneficiaryPageResponse.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
feign
.
response
.
beneficiary
;
import
lombok.Data
;
@Data
public
class
ApiBeneficiaryPageResponse
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-service/src/main/java/com/yd/csf/service/dao/AdditionalMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
com.yd.csf.feign.response.additional.ApiAdditionalPageResponse
;
import
com.yd.csf.service.model.Additional
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
* 产品计划-附加险信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
AdditionalMapper
extends
BaseMapper
<
Additional
>
{
IPage
<
ApiAdditionalPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiAdditionalPageResponse
>
page
,
@Param
(
"request"
)
ApiAdditionalPageRequest
request
);
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/AppointmentFileMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse
;
import
com.yd.csf.service.model.AppointmentFile
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
* 预约附件信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
AppointmentFileMapper
extends
BaseMapper
<
AppointmentFile
>
{
IPage
<
ApiAppointmentFilePageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiAppointmentFilePageResponse
>
page
,
@Param
(
"request"
)
ApiAppointmentFilePageRequest
request
);
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/AppointmentMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.model.Appointment
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* <p>
* 预约信息主表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
AppointmentMapper
extends
BaseMapper
<
Appointment
>
{
IPage
<
ApiAppointmentPageResponse
>
page
(
@Param
(
"page"
)
Page
<
ApiAppointmentPageResponse
>
page
,
@Param
(
"request"
)
ApiAppointmentPageRequest
request
);
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/BeneficiaryMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.Beneficiary
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 受益人信息主表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
BeneficiaryMapper
extends
BaseMapper
<
Beneficiary
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/InsurantMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.Insurant
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 受保人信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
InsurantMapper
extends
BaseMapper
<
Insurant
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/PolicyholderMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.Policyholder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 投保人信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
PolicyholderMapper
extends
BaseMapper
<
Policyholder
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/ProductPlanMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.ProductPlan
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 产品计划信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
ProductPlanMapper
extends
BaseMapper
<
ProductPlan
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/RelTenantProjectAppointmentMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.RelTenantProjectAppointment
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 租户-项目-保险预约关系表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
RelTenantProjectAppointmentMapper
extends
BaseMapper
<
RelTenantProjectAppointment
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dao/SecondHolderMapper.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.SecondHolder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* 第二持有人信息表 Mapper 接口
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
SecondHolderMapper
extends
BaseMapper
<
SecondHolder
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/AdditionalDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
AdditionalDto
{
/**
* 产品计划信息表唯一业务ID
*/
private
String
planBizId
;
/**
* 附加险信息表唯一业务ID(业务ID)集合
*/
private
List
<
String
>
additionalBizIdList
;
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/BeneficiaryDto.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public
class
BeneficiaryDto
{
/**
* 预约信息主表唯一业务ID(新增不需要传值,修改需要传值)
*/
private
String
appointmentBizId
;
/**
* 受益人信息表唯一业务ID列表
*/
private
List
<
String
>
beneficiaryBizIdList
;
}
yd-csf-service/src/main/java/com/yd/csf/service/enums/AppointmentStatusEnum.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
enums
;
/**
* 预约状态枚举
*/
public
enum
AppointmentStatusEnum
{
//预约状态枚举
ZC
(
"暂存"
,
0
),
DYY
(
"待预约"
,
1
),
DQS
(
"待签署"
,
2
),
YQS
(
"已签署"
,
3
),
YQX
(
"已取消"
,
4
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
Integer
itemValue
;
//构造函数
AppointmentStatusEnum
(
String
itemLabel
,
Integer
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
Integer
getItemValue
()
{
return
itemValue
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/enums/CustomerTypeEnum.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
enums
;
/**
* 客户类型枚举
*/
public
enum
CustomerTypeEnum
{
//客户类型枚举
INDIVIDUAL
(
"个人"
,
"INDIVIDUAL"
),
COMPANY
(
"公司"
,
"COMPANY"
),
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
String
itemValue
;
//构造函数
CustomerTypeEnum
(
String
itemLabel
,
String
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
String
getItemValue
()
{
return
itemValue
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/enums/RelTypeEnum.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
enums
;
/**
* 用户关系枚举
*/
public
enum
RelTypeEnum
{
//用户关系枚举
MYSELF
(
"本人"
,
"MYSELF"
),
PARENTS
(
"父母"
,
"PARENTS"
),
FATHER
(
"父亲"
,
"FATHER"
),
MOTHER
(
"母亲"
,
"MOTHER"
),
//TODO ....
;
//字典项标签(名称)
private
String
itemLabel
;
//字典项值
private
String
itemValue
;
//构造函数
RelTypeEnum
(
String
itemLabel
,
String
itemValue
)
{
this
.
itemLabel
=
itemLabel
;
this
.
itemValue
=
itemValue
;
}
public
String
getItemLabel
()
{
return
itemLabel
;
}
public
String
getItemValue
()
{
return
itemValue
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/model/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-service/src/main/java/com/yd/csf/service/model/Additional.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
* 产品计划-附加险信息表
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Getter
@Setter
@TableName
(
"additional"
)
public
class
Additional
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 附加险信息表唯一业务ID
*/
@TableField
(
"additional_biz_id"
)
private
String
additionalBizId
;
/**
* 产品计划信息表唯一业务ID
*/
@TableField
(
"plan_biz_id"
)
private
String
planBizId
;
/**
* 保险附加产品唯一业务ID(中台保险附加产品业务id,冗余)
*/
@TableField
(
"additional_product_biz_id"
)
private
String
additionalProductBizId
;
/**
* 保险附加产品名称(中台保险附加产品名称,冗余)
*/
@TableField
(
"product_name"
)
private
String
productName
;
/**
* 货币(字典)
*/
@TableField
(
"currency"
)
private
String
currency
;
/**
* 保费
*/
@TableField
(
"premium"
)
private
BigDecimal
premium
;
/**
* 保额
*/
@TableField
(
"sum_insured"
)
private
BigDecimal
sumInsured
;
/**
* 保障地区(字典)
*/
@TableField
(
"guarantee_region"
)
private
String
guaranteeRegion
;
/**
* 等级(字典)
*/
@TableField
(
"level"
)
private
String
level
;
/**
* 自付额(字典)
*/
@TableField
(
"deductibles"
)
private
String
deductibles
;
/**
* 附加保障(json串)
*/
@TableField
(
"additional_safeguards"
)
private
String
additionalSafeguards
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Appointment.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
* 预约信息主表
* </p>
*
* @author zxm
* @since 2025-09-02
*/
@Getter
@Setter
@TableName
(
"appointment"
)
public
class
Appointment
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 预约编号
*/
@TableField
(
"appointment_no"
)
private
String
appointmentNo
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
@TableField
(
"customer_biz_id"
)
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField
(
"customer_no"
)
private
String
customerNo
;
/**
* 关联FNA信息表唯一业务ID(冗余字段)
*/
@TableField
(
"fna_biz_id"
)
private
String
fnaBizId
;
/**
* 关联FNA编号(和FNA信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField
(
"fna_no"
)
private
String
fnaNo
;
/**
* 关联计划书信息表唯一业务ID(冗余字段)
*/
@TableField
(
"proposal_biz_id"
)
private
String
proposalBizId
;
/**
* 关联计划书编号(和计划书信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField
(
"proposal_no"
)
private
String
proposalNo
;
/**
* 是否有其他预约同时进行: 0-否, 1-是(字典)
*/
@TableField
(
"is_together"
)
private
Integer
isTogether
;
/**
* 进行同时预约的分组编号
*/
@TableField
(
"together_group_no"
)
private
String
togetherGroupNo
;
/**
* 进行同时预约的预约编号
*/
@TableField
(
"together_appointment_no"
)
private
String
togetherAppointmentNo
;
/**
* 预约状态: 0-暂存 1-待预约, 2-待签署 3-已签署 4-已取消(字典)
*/
@TableField
(
"status"
)
private
Integer
status
;
/**
* 申请类型(字典)
*/
@TableField
(
"apply_type"
)
private
String
applyType
;
/**
* 业务编号
*/
@TableField
(
"business_no"
)
private
String
businessNo
;
/**
* 意向预约时间
*/
@TableField
(
"intention_appointment_time"
)
private
LocalDateTime
intentionAppointmentTime
;
/**
* 确定预约时间
*/
@TableField
(
"confirm_appointment_time"
)
private
LocalDateTime
confirmAppointmentTime
;
/**
* 顾问是否陪同: 0-否, 1-是(字典)
*/
@TableField
(
"is_accompany"
)
private
Integer
isAccompany
;
/**
* 陪同顾问姓名(FNA Form有填写,可带入)
*/
@TableField
(
"accompany_name"
)
private
String
accompanyName
;
/**
* 陪同顾问手机区号
*/
@TableField
(
"accompany_mobile_code"
)
private
String
accompanyMobileCode
;
/**
* 陪同顾问手机
*/
@TableField
(
"accompany_mobile"
)
private
String
accompanyMobile
;
/**
* 陪同顾问邮箱
*/
@TableField
(
"accompany_email"
)
private
String
accompanyEmail
;
/**
* 业务代表1账号
*/
@TableField
(
"business_represent_account1"
)
private
String
businessRepresentAccount1
;
/**
* 业务代表1姓名
*/
@TableField
(
"business_represent_name1"
)
private
String
businessRepresentName1
;
/**
* 业务代表1电话号码区号
*/
@TableField
(
"business_represent_mobile1_code"
)
private
String
businessRepresentMobile1Code
;
/**
* 业务代表1电话号码
*/
@TableField
(
"business_represent_mobile1"
)
private
String
businessRepresentMobile1
;
/**
* 业务代表1邮箱
*/
@TableField
(
"business_represent_email1"
)
private
String
businessRepresentEmail1
;
/**
* 到港时间
*/
@TableField
(
"arrival_time"
)
private
LocalDateTime
arrivalTime
;
/**
* 离港时间
*/
@TableField
(
"departure_time"
)
private
LocalDateTime
departureTime
;
/**
* 会面地点(字典)
*/
@TableField
(
"meeting_point"
)
private
String
meetingPoint
;
/**
* 签单地址
*/
@TableField
(
"signing_address"
)
private
String
signingAddress
;
/**
* 客户在港期间联络电话区号
*/
@TableField
(
"hk_mobile_code"
)
private
String
hkMobileCode
;
/**
* 客户在港期间联络电话
*/
@TableField
(
"hk_mobile"
)
private
String
hkMobile
;
/**
* 是否开户: 0-否, 1-是(字典)
*/
@TableField
(
"is_open_account"
)
private
Integer
isOpenAccount
;
/**
* 开户行名称
*/
@TableField
(
"bank_name"
)
private
String
bankName
;
/**
* 开户行支行(分行)
*/
@TableField
(
"bank_branch_name"
)
private
String
bankBranchName
;
/**
* 开户时间段(开始)
*/
@TableField
(
"open_account_start_time"
)
private
LocalDateTime
openAccountStartTime
;
/**
* 开户时间段(结束)
*/
@TableField
(
"open_account_end_time"
)
private
LocalDateTime
openAccountEndTime
;
/**
* 开户地点
*/
@TableField
(
"open_account_location"
)
private
String
openAccountLocation
;
/**
* 开户须知
*/
@TableField
(
"open_account_notice"
)
private
String
openAccountNotice
;
/**
* 是否体检: 0-否, 1-是(字典)
*/
@TableField
(
"is_tj"
)
private
Integer
isTj
;
/**
* 是否购买过香港保险: 0-否, 1-是(字典)
*/
@TableField
(
"is_buy"
)
private
Integer
isBuy
;
/**
* 转保声明选项: 0-否, 1-是 2-尚未決定(字典)
*/
@TableField
(
"policy_transfer"
)
private
Integer
policyTransfer
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/AppointmentFile.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
* 预约附件信息表
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Getter
@Setter
@TableName
(
"appointment_file"
)
public
class
AppointmentFile
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 中台文件元数据表唯一业务ID
*/
@TableField
(
"oss_file_biz_id"
)
private
String
ossFileBizId
;
/**
* 预约附件信息表唯一业务ID
*/
@TableField
(
"appointment_file_biz_id"
)
private
String
appointmentFileBizId
;
/**
* 文件名
*/
@TableField
(
"file_name"
)
private
String
fileName
;
/**
* 文件访问路径
*/
@TableField
(
"file_url"
)
private
String
fileUrl
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Beneficiary.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* <p>
* 受益人信息表
* </p>
*
* @author zxm
* @since 2025-09-02
*/
@Getter
@Setter
@TableName
(
"beneficiary"
)
public
class
Beneficiary
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 受益人信息表唯一业务ID
*/
@TableField
(
"beneficiary_biz_id"
)
private
String
beneficiaryBizId
;
/**
* 客户类型(字典)(个人或者公司)
*/
@TableField
(
"customer_type"
)
private
String
customerType
;
/**
* 与受保人关系(字典)
*/
@TableField
(
"insurant_rel"
)
private
String
insurantRel
;
/**
* 受益比例
*/
@TableField
(
"benefit_ratio"
)
private
BigDecimal
benefitRatio
;
/**
* 名字
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 名字-英文
*/
@TableField
(
"name_en"
)
private
String
nameEn
;
/**
* 性别(字典)
*/
@TableField
(
"gender"
)
private
String
gender
;
/**
* 证件类型(字典)
*/
@TableField
(
"document_type"
)
private
String
documentType
;
/**
* 证件号码
*/
@TableField
(
"id_number"
)
private
String
idNumber
;
/**
* 护照号码
*/
@TableField
(
"passport_number"
)
private
String
passportNumber
;
/**
* 出生日期
*/
@TableField
(
"birth_time"
)
private
LocalDateTime
birthTime
;
/**
* 公司名称
*/
@TableField
(
"company_name"
)
private
String
companyName
;
/**
* 公司名称(英文)
*/
@TableField
(
"company_name_en"
)
private
String
companyNameEn
;
/**
* 公司商业登记号码
*/
@TableField
(
"company_business_no"
)
private
String
companyBusinessNo
;
/**
* 公司注册日期
*/
@TableField
(
"company_register_time"
)
private
LocalDateTime
companyRegisterTime
;
/**
* 公司注册地区(字典)
*/
@TableField
(
"company_register_region"
)
private
String
companyRegisterRegion
;
/**
* 公司电话区号
*/
@TableField
(
"company_mobile_code"
)
private
String
companyMobileCode
;
/**
* 公司电话
*/
@TableField
(
"company_mobile"
)
private
String
companyMobile
;
/**
* 公司邮箱
*/
@TableField
(
"company_email"
)
private
String
companyEmail
;
/**
* 公司登记地址
*/
@TableField
(
"company_enter_address"
)
private
String
companyEnterAddress
;
/**
* 通讯地址
*/
@TableField
(
"mailing_address"
)
private
String
mailingAddress
;
/**
* 授权代表姓名中文-名字
*/
@TableField
(
"auth_name_cn"
)
private
String
authNameCn
;
/**
* 授权代表姓名英文-名字
*/
@TableField
(
"auth_name_en"
)
private
String
authNameEn
;
/**
* 授权代表职称
*/
@TableField
(
"auth_professional"
)
private
String
authProfessional
;
/**
* 授权代表电话区号
*/
@TableField
(
"auth_mobile_code"
)
private
String
authMobileCode
;
/**
* 授权代表电话
*/
@TableField
(
"auth_mobile"
)
private
String
authMobile
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Insurant.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* <p>
* 受保人信息表
* </p>
*
* @author zxm
* @since 2025-09-02
*/
@Getter
@Setter
@TableName
(
"insurant"
)
public
class
Insurant
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 受保人信息表唯一业务ID
*/
@TableField
(
"insurant_biz_id"
)
private
String
insurantBizId
;
/**
* 客户类型(字典)
*/
@TableField
(
"customer_type"
)
private
String
customerType
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
@TableField
(
"customer_biz_id"
)
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField
(
"customer_no"
)
private
String
customerNo
;
/**
* 与投保人关系(字典)
*/
@TableField
(
"policyholder_rel"
)
private
String
policyholderRel
;
/**
* 名字
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 名字-英文
*/
@TableField
(
"name_en"
)
private
String
nameEn
;
/**
* 性别(字典)
*/
@TableField
(
"gender"
)
private
String
gender
;
/**
* 证件类型(字典)
*/
@TableField
(
"document_type"
)
private
String
documentType
;
/**
* 证件号码
*/
@TableField
(
"id_number"
)
private
String
idNumber
;
/**
* 出生日期
*/
@TableField
(
"birthday"
)
private
LocalDateTime
birthday
;
/**
* 年龄
*/
@TableField
(
"age"
)
private
String
age
;
/**
* 居住地址
*/
@TableField
(
"residential_address"
)
private
String
residentialAddress
;
/**
* 通讯地址
*/
@TableField
(
"mailing_address"
)
private
String
mailingAddress
;
/**
* 移动电话区号
*/
@TableField
(
"mobile_code"
)
private
String
mobileCode
;
/**
* 移动电话
*/
@TableField
(
"mobile"
)
private
String
mobile
;
/**
* 邮箱
*/
@TableField
(
"email"
)
private
String
email
;
/**
* 公司名称
*/
@TableField
(
"company_name"
)
private
String
companyName
;
/**
* 公司地址
*/
@TableField
(
"company_address"
)
private
String
companyAddress
;
/**
* 行业
*/
@TableField
(
"industry"
)
private
String
industry
;
/**
* 职位
*/
@TableField
(
"position"
)
private
String
position
;
/**
* 风险偏好(字典)
*/
@TableField
(
"risk_appetite"
)
private
String
riskAppetite
;
/**
* 是否VIP: 0-否, 1-是(字典)
*/
@TableField
(
"is_vip"
)
private
Integer
isVip
;
/**
* vip备注
*/
@TableField
(
"vip_remark"
)
private
String
vipRemark
;
/**
* 称谓(字典)
*/
@TableField
(
"appellation"
)
private
String
appellation
;
/**
* 是否区分吸烟(字典)
*/
@TableField
(
"smoking_allowed"
)
private
String
smokingAllowed
;
/**
* 出生地(省市)
*/
@TableField
(
"birthplace"
)
private
String
birthplace
;
/**
* 国籍
*/
@TableField
(
"nationality"
)
private
String
nationality
;
/**
* 护照号码
*/
@TableField
(
"passport_no"
)
private
String
passportNo
;
/**
* 通行证号码
*/
@TableField
(
"pass_no"
)
private
String
passNo
;
/**
* 身高
*/
@TableField
(
"height"
)
private
String
height
;
/**
* 体重
*/
@TableField
(
"weight"
)
private
String
weight
;
/**
* BMI
*/
@TableField
(
"bmi"
)
private
String
bmi
;
/**
* 受雇于现职年期
*/
@TableField
(
"current_tenure"
)
private
BigDecimal
currentTenure
;
/**
* 总负债额
*/
@TableField
(
"total_debt"
)
private
BigDecimal
totalDebt
;
/**
* 受供养人数目
*/
@TableField
(
"dependents_num"
)
private
Integer
dependentsNum
;
/**
* 婚姻状况(字典)
*/
@TableField
(
"marital_status"
)
private
String
maritalStatus
;
/**
* 教育程度(字典)
*/
@TableField
(
"education_level"
)
private
String
educationLevel
;
/**
* 总工作年期
*/
@TableField
(
"total_working_years"
)
private
BigDecimal
totalWorkingYears
;
/**
* 现时每月收入
*/
@TableField
(
"current_monthly_income"
)
private
BigDecimal
currentMonthlyIncome
;
/**
* 公司电话区号
*/
@TableField
(
"company_mobile_code"
)
private
String
companyMobileCode
;
/**
* 公司电话
*/
@TableField
(
"company_mobile"
)
private
String
companyMobile
;
/**
* 固定电话区号
*/
@TableField
(
"landline_code"
)
private
String
landlineCode
;
/**
* 固定电话
*/
@TableField
(
"landline"
)
private
String
landline
;
/**
* 其他电话
*/
@TableField
(
"other_mobile"
)
private
String
otherMobile
;
/**
* 过往一年是否所属国家以外地区居住超过182日: 0-否, 1-是(字典)
*/
@TableField
(
"is_exceed"
)
private
Integer
isExceed
;
/**
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
@TableField
(
"is_other_country"
)
private
Integer
isOtherCountry
;
/**
* 是否接受推广信息: 0-否, 1-是(字典)
*/
@TableField
(
"is_promotion"
)
private
Integer
isPromotion
;
/**
* 旅行(字典)
*/
@TableField
(
"travel"
)
private
String
travel
;
/**
* 运动(字典)
*/
@TableField
(
"exercise"
)
private
String
exercise
;
/**
* 游戏(字典)
*/
@TableField
(
"game"
)
private
String
game
;
/**
* 电影/戏剧(字典)
*/
@TableField
(
"movie_drama"
)
private
String
movieDrama
;
/**
* 美食(字典)
*/
@TableField
(
"delicacy"
)
private
String
delicacy
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/Policyholder.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* <p>
* 投保人信息表
* </p>
*
* @author zxm
* @since 2025-09-02
*/
@Getter
@Setter
@TableName
(
"policyholder"
)
public
class
Policyholder
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 投保人信息表唯一业务ID
*/
@TableField
(
"policyholder_biz_id"
)
private
String
policyholderBizId
;
/**
* 客户类型(字典)
*/
@TableField
(
"customer_type"
)
private
String
customerType
;
/**
* 关联客户信息表唯一业务ID(冗余字段)
*/
@TableField
(
"customer_biz_id"
)
private
String
customerBizId
;
/**
* 关联客户编号(和客户信息表唯一业务ID是一对,唯一,冗余字段)
*/
@TableField
(
"customer_no"
)
private
String
customerNo
;
/**
* 名字
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 名字-英文
*/
@TableField
(
"name_en"
)
private
String
nameEn
;
/**
* 性别(字典)
*/
@TableField
(
"gender"
)
private
String
gender
;
/**
* 证件类型(字典)
*/
@TableField
(
"document_type"
)
private
String
documentType
;
/**
* 证件号码
*/
@TableField
(
"id_number"
)
private
String
idNumber
;
/**
* 出生日期
*/
@TableField
(
"birthday"
)
private
LocalDateTime
birthday
;
/**
* 年龄
*/
@TableField
(
"age"
)
private
String
age
;
/**
* 居住地址
*/
@TableField
(
"residential_address"
)
private
String
residentialAddress
;
/**
* 通讯地址
*/
@TableField
(
"mailing_address"
)
private
String
mailingAddress
;
/**
* 移动电话区号
*/
@TableField
(
"mobile_code"
)
private
String
mobileCode
;
/**
* 移动电话
*/
@TableField
(
"mobile"
)
private
String
mobile
;
/**
* 邮箱
*/
@TableField
(
"email"
)
private
String
email
;
/**
* 公司名称
*/
@TableField
(
"company_name"
)
private
String
companyName
;
/**
* 公司地址
*/
@TableField
(
"company_address"
)
private
String
companyAddress
;
/**
* 行业
*/
@TableField
(
"industry"
)
private
String
industry
;
/**
* 职位
*/
@TableField
(
"position"
)
private
String
position
;
/**
* 风险偏好(字典)
*/
@TableField
(
"risk_appetite"
)
private
String
riskAppetite
;
/**
* 是否VIP: 0-否, 1-是(字典)
*/
@TableField
(
"is_vip"
)
private
Integer
isVip
;
/**
* vip备注
*/
@TableField
(
"vip_remark"
)
private
String
vipRemark
;
/**
* 称谓(字典)
*/
@TableField
(
"appellation"
)
private
String
appellation
;
/**
* 是否区分吸烟(字典)
*/
@TableField
(
"smoking_allowed"
)
private
String
smokingAllowed
;
/**
* 出生地(省市)
*/
@TableField
(
"birthplace"
)
private
String
birthplace
;
/**
* 国籍
*/
@TableField
(
"nationality"
)
private
String
nationality
;
/**
* 护照号码
*/
@TableField
(
"passport_no"
)
private
String
passportNo
;
/**
* 通行证号码
*/
@TableField
(
"pass_no"
)
private
String
passNo
;
/**
* 身高
*/
@TableField
(
"height"
)
private
String
height
;
/**
* 体重
*/
@TableField
(
"weight"
)
private
String
weight
;
/**
* BMI
*/
@TableField
(
"bmi"
)
private
String
bmi
;
/**
* 平均每月支出
*/
@TableField
(
"month_expenditure"
)
private
BigDecimal
monthExpenditure
;
/**
* 平均每月收入
*/
@TableField
(
"month_income"
)
private
BigDecimal
monthIncome
;
/**
* 受雇于现职年期
*/
@TableField
(
"current_tenure"
)
private
BigDecimal
currentTenure
;
/**
* 总流动资产
*/
@TableField
(
"total_current_assets"
)
private
BigDecimal
totalCurrentAssets
;
/**
* 总负债额
*/
@TableField
(
"total_debt"
)
private
BigDecimal
totalDebt
;
/**
* 受供养人数目
*/
@TableField
(
"dependents_num"
)
private
Integer
dependentsNum
;
/**
* 婚姻状况(字典)
*/
@TableField
(
"marital_status"
)
private
String
maritalStatus
;
/**
* 教育程度(字典)
*/
@TableField
(
"education_level"
)
private
String
educationLevel
;
/**
* 总工作年期
*/
@TableField
(
"total_working_years"
)
private
BigDecimal
totalWorkingYears
;
/**
* 现时每月收入
*/
@TableField
(
"current_monthly_income"
)
private
BigDecimal
currentMonthlyIncome
;
/**
* 公司电话区号
*/
@TableField
(
"company_mobile_code"
)
private
String
companyMobileCode
;
/**
* 公司电话
*/
@TableField
(
"company_mobile"
)
private
String
companyMobile
;
/**
* 固定电话区号
*/
@TableField
(
"landline_code"
)
private
String
landlineCode
;
/**
* 固定电话
*/
@TableField
(
"landline"
)
private
String
landline
;
/**
* 其他电话
*/
@TableField
(
"other_mobile"
)
private
String
otherMobile
;
/**
* 过往一年是否所属国家以外地区居住超过182日: 0-否, 1-是(字典)
*/
@TableField
(
"is_exceed"
)
private
Integer
isExceed
;
/**
* 是否拥有其他国家公民身份(如美国、日本等): 0-否, 1-是(字典)
*/
@TableField
(
"is_other_country"
)
private
Integer
isOtherCountry
;
/**
* 是否接受推广信息: 0-否, 1-是(字典)
*/
@TableField
(
"is_promotion"
)
private
Integer
isPromotion
;
/**
* 投保人邮政编码
*/
@TableField
(
"postal_code"
)
private
String
postalCode
;
/**
* 旅行(字典)
*/
@TableField
(
"travel"
)
private
String
travel
;
/**
* 运动(字典)
*/
@TableField
(
"exercise"
)
private
String
exercise
;
/**
* 游戏(字典)
*/
@TableField
(
"game"
)
private
String
game
;
/**
* 电影/戏剧(字典)
*/
@TableField
(
"movie_drama"
)
private
String
movieDrama
;
/**
* 美食(字典)
*/
@TableField
(
"delicacy"
)
private
String
delicacy
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/ProductPlan.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
* 产品计划信息表
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Getter
@Setter
@TableName
(
"product_plan"
)
public
class
ProductPlan
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 产品计划信息表唯一业务ID
*/
@TableField
(
"plan_biz_id"
)
private
String
planBizId
;
/**
* 保险产品唯一业务ID(中台保险产品业务id,冗余)
*/
@TableField
(
"product_biz_id"
)
private
String
productBizId
;
/**
* 保险产品名称(中台保险产品名称,冗余)
*/
@TableField
(
"product_name"
)
private
String
productName
;
/**
* 保险公司名称(冗余字段)
*/
@TableField
(
"company_name"
)
private
String
companyName
;
/**
* 地区(冗余字段)
*/
@TableField
(
"region"
)
private
String
region
;
/**
* 货币(字典)
*/
@TableField
(
"currency"
)
private
String
currency
;
/**
* 供款年期(字典)
*/
@TableField
(
"payment_term"
)
private
String
paymentTerm
;
/**
* 付款频率(字典)
*/
@TableField
(
"payment_frequency"
)
private
String
paymentFrequency
;
/**
* 每期保费
*/
@TableField
(
"each_issue_premium"
)
private
BigDecimal
eachIssuePremium
;
/**
* 保额
*/
@TableField
(
"sum_insured"
)
private
BigDecimal
sumInsured
;
/**
* 是否预缴保费: 0-否, 1-是(字典)
*/
@TableField
(
"is_prepay"
)
private
Integer
isPrepay
;
/**
* 预付额
*/
@TableField
(
"deductibles"
)
private
BigDecimal
deductibles
;
/**
* 首期付款方式(字典)
*/
@TableField
(
"initial_payment_method"
)
private
String
initialPaymentMethod
;
/**
* 续期付款方式(字典)
*/
@TableField
(
"renewal_payment_method"
)
private
String
renewalPaymentMethod
;
/**
* 红利分配方式(字典)
*/
@TableField
(
"dividend_distribution_method"
)
private
String
dividendDistributionMethod
;
/**
* 保单日期回溯: 0-否, 1-是(字典)
*/
@TableField
(
"is_backtrack"
)
private
Integer
isBacktrack
;
/**
* 保单生效日
*/
@TableField
(
"policy_effective_date"
)
private
LocalDateTime
policyEffectiveDate
;
/**
* 是否参加递增保障权益: 0-否, 1-是(字典)
*/
@TableField
(
"is_join"
)
private
Integer
isJoin
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/RelTenantProjectAppointment.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
* 租户-项目-保险预约关系表
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Getter
@Setter
@TableName
(
"rel_tenant_project_appointment"
)
public
class
RelTenantProjectAppointment
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 租户ID(业务id)
*/
@TableField
(
"tenant_biz_id"
)
private
String
tenantBizId
;
/**
* 项目ID(业务id)
*/
@TableField
(
"project_biz_id"
)
private
String
projectBizId
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 状态(0:禁用 1:启用)
*/
@TableField
(
"status"
)
private
Integer
status
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/model/SecondHolder.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
model
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* <p>
* 第二持有人信息表
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Getter
@Setter
@TableName
(
"second_holder"
)
public
class
SecondHolder
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 预约信息主表唯一业务ID
*/
@TableField
(
"appointment_biz_id"
)
private
String
appointmentBizId
;
/**
* 第二持有人信息表唯一业务ID
*/
@TableField
(
"second_holder_biz_id"
)
private
String
secondHolderBizId
;
/**
* 与受保人关系(字典)
*/
@TableField
(
"insurant_rel"
)
private
String
insurantRel
;
/**
* 名字
*/
@TableField
(
"name"
)
private
String
name
;
/**
* 名字-英文
*/
@TableField
(
"name_en"
)
private
String
nameEn
;
/**
* 性别(字典)
*/
@TableField
(
"gender"
)
private
String
gender
;
/**
* 证件类型(字典)
*/
@TableField
(
"document_type"
)
private
String
documentType
;
/**
* 证件号码
*/
@TableField
(
"id_number"
)
private
String
idNumber
;
/**
* 护照号码
*/
@TableField
(
"passport_number"
)
private
String
passportNumber
;
/**
* 出生日期
*/
@TableField
(
"birth_time"
)
private
LocalDateTime
birthTime
;
/**
* 年龄
*/
@TableField
(
"age"
)
private
String
age
;
/**
* 通用备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
@TableField
(
"is_deleted"
)
private
Integer
isDeleted
;
/**
* 创建人ID
*/
@TableField
(
"creator_id"
)
private
String
creatorId
;
/**
* 更新人ID
*/
@TableField
(
"updater_id"
)
private
String
updaterId
;
/**
* 创建时间
*/
@TableField
(
"create_time"
)
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@TableField
(
"update_time"
)
private
LocalDateTime
updateTime
;
}
yd-csf-service/src/main/java/com/yd/csf/service/service/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-service/src/main/java/com/yd/csf/service/service/IAdditionalService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
com.yd.csf.feign.response.additional.ApiAdditionalPageResponse
;
import
com.yd.csf.service.dto.AdditionalDto
;
import
com.yd.csf.service.model.Additional
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 产品计划-附加险信息表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IAdditionalService
extends
IService
<
Additional
>
{
IPage
<
ApiAdditionalPageResponse
>
page
(
Page
<
ApiAdditionalPageResponse
>
page
,
ApiAdditionalPageRequest
request
);
List
<
Additional
>
queryList
(
AdditionalDto
dto
);
Additional
queryOne
(
String
additionalBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IAppointmentFileService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse
;
import
com.yd.csf.service.model.AppointmentFile
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 预约附件信息表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IAppointmentFileService
extends
IService
<
AppointmentFile
>
{
IPage
<
ApiAppointmentFilePageResponse
>
page
(
Page
<
ApiAppointmentFilePageResponse
>
page
,
ApiAppointmentFilePageRequest
request
);
AppointmentFile
queryOne
(
String
appointmentFileBizId
);
List
<
AppointmentFile
>
queryList
(
String
appointmentBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IAppointmentService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.model.Appointment
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 预约信息主表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IAppointmentService
extends
IService
<
Appointment
>
{
IPage
<
ApiAppointmentPageResponse
>
page
(
Page
<
ApiAppointmentPageResponse
>
page
,
ApiAppointmentPageRequest
request
);
Appointment
queryOne
(
String
appointmentBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IBeneficiaryService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.dto.BeneficiaryDto
;
import
com.yd.csf.service.model.Beneficiary
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* <p>
* 受益人信息主表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IBeneficiaryService
extends
IService
<
Beneficiary
>
{
List
<
Beneficiary
>
queryList
(
BeneficiaryDto
dto
);
Beneficiary
queryOne
(
String
beneficiaryBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IInsurantService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.Insurant
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 受保人信息表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IInsurantService
extends
IService
<
Insurant
>
{
Insurant
queryOne
(
String
insurantBizId
);
Insurant
queryOne
(
String
appointmentBizId
,
String
insurantBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IPolicyholderService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.Policyholder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 投保人信息表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IPolicyholderService
extends
IService
<
Policyholder
>
{
Policyholder
queryOne
(
String
policyholderBizId
);
Policyholder
queryOne
(
String
appointmentBizId
,
String
policyholderBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IProductPlanService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.ProductPlan
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 产品计划信息表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IProductPlanService
extends
IService
<
ProductPlan
>
{
ProductPlan
queryOne
(
String
planBizId
);
ProductPlan
queryOne
(
String
appointmentBizId
,
String
planBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/IRelTenantProjectAppointmentService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.RelTenantProjectAppointment
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 租户-项目-保险预约关系表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
IRelTenantProjectAppointmentService
extends
IService
<
RelTenantProjectAppointment
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/service/ISecondHolderService.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.SecondHolder
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 第二持有人信息表 服务类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
public
interface
ISecondHolderService
extends
IService
<
SecondHolder
>
{
SecondHolder
queryOne
(
String
secondHolderBizId
);
SecondHolder
queryOne
(
String
appointmentBizId
,
String
secondHolderBizId
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AdditionalServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.additional.ApiAdditionalPageRequest
;
import
com.yd.csf.feign.response.additional.ApiAdditionalPageResponse
;
import
com.yd.csf.service.dto.AdditionalDto
;
import
com.yd.csf.service.model.Additional
;
import
com.yd.csf.service.dao.AdditionalMapper
;
import
com.yd.csf.service.service.IAdditionalService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.user.service.model.SysProject
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Objects
;
/**
* <p>
* 产品计划-附加险信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
AdditionalServiceImpl
extends
ServiceImpl
<
AdditionalMapper
,
Additional
>
implements
IAdditionalService
{
/**
* 附加险分页查询
* @param request
* @return
*/
@Override
public
IPage
<
ApiAdditionalPageResponse
>
page
(
Page
<
ApiAdditionalPageResponse
>
page
,
ApiAdditionalPageRequest
request
)
{
return
baseMapper
.
page
(
page
,
request
);
}
/**
* 查询列表
* @param dto
* @return
*/
@Override
public
List
<
Additional
>
queryList
(
AdditionalDto
dto
)
{
List
<
Additional
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
Additional
>()
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getPlanBizId
()),
Additional:
:
getPlanBizId
,
dto
.
getPlanBizId
())
.
in
(!
CollectionUtils
.
isEmpty
(
dto
.
getAdditionalBizIdList
()),
Additional:
:
getAdditionalBizId
,
dto
.
getAdditionalBizIdList
())
);
return
list
;
}
/**
* 查询单个对象
* @param additionalBizId
* @return
*/
@Override
public
Additional
queryOne
(
String
additionalBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Additional
>().
eq
(
Additional:
:
getAdditionalBizId
,
additionalBizId
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AppointmentFileServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointmentfile.ApiAppointmentFilePageRequest
;
import
com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse
;
import
com.yd.csf.service.model.Additional
;
import
com.yd.csf.service.model.AppointmentFile
;
import
com.yd.csf.service.dao.AppointmentFileMapper
;
import
com.yd.csf.service.service.IAppointmentFileService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
/**
* <p>
* 预约附件信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
AppointmentFileServiceImpl
extends
ServiceImpl
<
AppointmentFileMapper
,
AppointmentFile
>
implements
IAppointmentFileService
{
@Override
public
IPage
<
ApiAppointmentFilePageResponse
>
page
(
Page
<
ApiAppointmentFilePageResponse
>
page
,
ApiAppointmentFilePageRequest
request
)
{
return
baseMapper
.
page
(
page
,
request
);
}
/**
* 查询单个对象
* @param appointmentFileBizId
* @return
*/
@Override
public
AppointmentFile
queryOne
(
String
appointmentFileBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
AppointmentFile
>()
.
eq
(
AppointmentFile:
:
getAppointmentFileBizId
,
appointmentFileBizId
));
}
/**
* 查询列表信息
* @param appointmentBizId
* @return
*/
@Override
public
List
<
AppointmentFile
>
queryList
(
String
appointmentBizId
)
{
List
<
AppointmentFile
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
AppointmentFile
>()
.
eq
(
StringUtils
.
isNotBlank
(
appointmentBizId
),
AppointmentFile:
:
getAppointmentBizId
,
appointmentBizId
)
);
return
list
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/AppointmentServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yd.csf.feign.request.appointment.ApiAppointmentPageRequest
;
import
com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse
;
import
com.yd.csf.service.model.Appointment
;
import
com.yd.csf.service.dao.AppointmentMapper
;
import
com.yd.csf.service.service.IAppointmentService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 预约信息主表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
AppointmentServiceImpl
extends
ServiceImpl
<
AppointmentMapper
,
Appointment
>
implements
IAppointmentService
{
/**
* 预约分页查询
* @param request
* @return
*/
@Override
public
IPage
<
ApiAppointmentPageResponse
>
page
(
Page
<
ApiAppointmentPageResponse
>
page
,
ApiAppointmentPageRequest
request
)
{
return
baseMapper
.
page
(
page
,
request
);
}
/**
* 根据业务id查询单个对象
* @param appointmentBizId
* @return
*/
@Override
public
Appointment
queryOne
(
String
appointmentBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Appointment
>().
eq
(
Appointment:
:
getAppointmentBizId
,
appointmentBizId
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/BeneficiaryServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.csf.service.dto.BeneficiaryDto
;
import
com.yd.csf.service.model.Additional
;
import
com.yd.csf.service.model.Beneficiary
;
import
com.yd.csf.service.dao.BeneficiaryMapper
;
import
com.yd.csf.service.service.IBeneficiaryService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.List
;
import
java.util.Objects
;
/**
* <p>
* 受益人信息主表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
BeneficiaryServiceImpl
extends
ServiceImpl
<
BeneficiaryMapper
,
Beneficiary
>
implements
IBeneficiaryService
{
/**
* 查询列表
* @param dto
* @return
*/
@Override
public
List
<
Beneficiary
>
queryList
(
BeneficiaryDto
dto
)
{
List
<
Beneficiary
>
list
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
Beneficiary
>()
.
eq
(
StringUtils
.
isNotBlank
(
dto
.
getAppointmentBizId
()),
Beneficiary:
:
getAppointmentBizId
,
dto
.
getAppointmentBizId
())
.
in
(!
CollectionUtils
.
isEmpty
(
dto
.
getBeneficiaryBizIdList
()),
Beneficiary:
:
getBeneficiaryBizId
,
dto
.
getBeneficiaryBizIdList
())
);
return
list
;
}
/**
* 查询单个对象
* @param beneficiaryBizId
* @return
*/
@Override
public
Beneficiary
queryOne
(
String
beneficiaryBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Beneficiary
>().
eq
(
Beneficiary:
:
getBeneficiaryBizId
,
beneficiaryBizId
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/InsurantServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.csf.service.model.Insurant
;
import
com.yd.csf.service.dao.InsurantMapper
;
import
com.yd.csf.service.model.Policyholder
;
import
com.yd.csf.service.service.IInsurantService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 受保人信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
InsurantServiceImpl
extends
ServiceImpl
<
InsurantMapper
,
Insurant
>
implements
IInsurantService
{
/**
* 查询单个对象
* @param insurantBizId
* @return
*/
@Override
public
Insurant
queryOne
(
String
insurantBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Insurant
>().
eq
(
Insurant:
:
getInsurantBizId
,
insurantBizId
));
}
/**
* 根据预约业务id和受保人业务id查询单个对象
* @param appointmentBizId
* @param insurantBizId
* @return
*/
@Override
public
Insurant
queryOne
(
String
appointmentBizId
,
String
insurantBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Insurant
>()
.
eq
(
StringUtils
.
isNotBlank
(
appointmentBizId
),
Insurant:
:
getAppointmentBizId
,
appointmentBizId
)
.
eq
(
StringUtils
.
isNotBlank
(
insurantBizId
),
Insurant:
:
getInsurantBizId
,
insurantBizId
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyholderServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.csf.service.model.Policyholder
;
import
com.yd.csf.service.dao.PolicyholderMapper
;
import
com.yd.csf.service.service.IPolicyholderService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 投保人信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
PolicyholderServiceImpl
extends
ServiceImpl
<
PolicyholderMapper
,
Policyholder
>
implements
IPolicyholderService
{
/**
* 查询单个对象
* @param policyholderBizId
* @return
*/
@Override
public
Policyholder
queryOne
(
String
policyholderBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Policyholder
>().
eq
(
Policyholder:
:
getPolicyholderBizId
,
policyholderBizId
));
}
/**
* 根据预约业务id和投保人业务id查询单个对象
* @param appointmentBizId
* @param policyholderBizId
* @return
*/
@Override
public
Policyholder
queryOne
(
String
appointmentBizId
,
String
policyholderBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
Policyholder
>()
.
eq
(
StringUtils
.
isNotBlank
(
appointmentBizId
),
Policyholder:
:
getAppointmentBizId
,
appointmentBizId
)
.
eq
(
StringUtils
.
isNotBlank
(
policyholderBizId
),
Policyholder:
:
getPolicyholderBizId
,
policyholderBizId
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/ProductPlanServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.csf.service.model.ProductPlan
;
import
com.yd.csf.service.dao.ProductPlanMapper
;
import
com.yd.csf.service.service.IProductPlanService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 产品计划信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
ProductPlanServiceImpl
extends
ServiceImpl
<
ProductPlanMapper
,
ProductPlan
>
implements
IProductPlanService
{
/**
* 根据产品计划业务id查询单个对象
* @param planBizId
* @return
*/
@Override
public
ProductPlan
queryOne
(
String
planBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
ProductPlan
>().
eq
(
ProductPlan:
:
getPlanBizId
,
planBizId
));
}
/**
* 根据预约业务id或者计划业务id查询单个对象
* @param appointmentBizId
* @param planBizId
* @return
*/
@Override
public
ProductPlan
queryOne
(
String
appointmentBizId
,
String
planBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
ProductPlan
>()
.
eq
(
StringUtils
.
isNotBlank
(
appointmentBizId
),
ProductPlan:
:
getAppointmentBizId
,
appointmentBizId
)
.
eq
(
StringUtils
.
isNotBlank
(
planBizId
),
ProductPlan:
:
getPlanBizId
,
planBizId
));
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/RelTenantProjectAppointmentServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.yd.csf.service.model.RelTenantProjectAppointment
;
import
com.yd.csf.service.dao.RelTenantProjectAppointmentMapper
;
import
com.yd.csf.service.service.IRelTenantProjectAppointmentService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 租户-项目-保险预约关系表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
RelTenantProjectAppointmentServiceImpl
extends
ServiceImpl
<
RelTenantProjectAppointmentMapper
,
RelTenantProjectAppointment
>
implements
IRelTenantProjectAppointmentService
{
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/SecondHolderServiceImpl.java
0 → 100644
View file @
e68c02c4
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yd.csf.service.model.SecondHolder
;
import
com.yd.csf.service.dao.SecondHolderMapper
;
import
com.yd.csf.service.service.ISecondHolderService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 第二持有人信息表 服务实现类
* </p>
*
* @author zxm
* @since 2025-09-01
*/
@Service
public
class
SecondHolderServiceImpl
extends
ServiceImpl
<
SecondHolderMapper
,
SecondHolder
>
implements
ISecondHolderService
{
/**
* 查询单个对象
* @param secondHolderBizId
* @return
*/
@Override
public
SecondHolder
queryOne
(
String
secondHolderBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
SecondHolder
>().
eq
(
SecondHolder:
:
getSecondHolderBizId
,
secondHolderBizId
));
}
/**
* 根据预约业务id和第二持有人业务id查询单个对象
* @param appointmentBizId
* @param secondHolderBizId
* @return
*/
@Override
public
SecondHolder
queryOne
(
String
appointmentBizId
,
String
secondHolderBizId
)
{
return
this
.
getOne
(
new
LambdaQueryWrapper
<
SecondHolder
>()
.
eq
(
StringUtils
.
isNotBlank
(
appointmentBizId
),
SecondHolder:
:
getAppointmentBizId
,
appointmentBizId
)
.
eq
(
StringUtils
.
isNotBlank
(
secondHolderBizId
),
SecondHolder:
:
getSecondHolderBizId
,
secondHolderBizId
)
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/utils/MyBatisPlusCodeGenerator.java
View file @
e68c02c4
...
@@ -5,14 +5,14 @@ import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
...
@@ -5,14 +5,14 @@ import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
public
class
MyBatisPlusCodeGenerator
{
public
class
MyBatisPlusCodeGenerator
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
FastAutoGenerator
.
create
(
"jdbc:mysql://localhost:3306/yd?serverTimezone=GMT%2B8"
,
"root"
,
"123456"
)
FastAutoGenerator
.
create
(
"jdbc:mysql://localhost:3306/yd
-csf
?serverTimezone=GMT%2B8"
,
"root"
,
"123456"
)
.
globalConfig
(
builder
->
{
.
globalConfig
(
builder
->
{
builder
.
author
(
"zxm"
)
builder
.
author
(
"zxm"
)
// .outputDir("src/main/java/com/yd/user
/service");
.
outputDir
(
"src/main/java/com/yd/csf
/service"
);
.
outputDir
(
"D:/soft/ideaproject/v2/yd-user/yd-user
-service/src/main/java"
);
// .outputDir("D:/soft/ideaproject/v2/yd-csf/yd-csf
-service/src/main/java");
})
})
.
packageConfig
(
builder
->
{
.
packageConfig
(
builder
->
{
builder
.
parent
(
"com.yd.
user
.service"
)
builder
.
parent
(
"com.yd.
csf
.service"
)
.
entity
(
"model"
)
.
entity
(
"model"
)
.
mapper
(
"dao"
)
.
mapper
(
"dao"
)
.
service
(
"service"
)
.
service
(
"service"
)
...
@@ -21,15 +21,12 @@ public class MyBatisPlusCodeGenerator {
...
@@ -21,15 +21,12 @@ public class MyBatisPlusCodeGenerator {
})
})
.
strategyConfig
(
builder
->
{
.
strategyConfig
(
builder
->
{
builder
.
addInclude
(
builder
.
addInclude
(
"rel_dept_user"
,
"rel_tenant_dept"
,
"rel_project_dept"
"appointment"
,
"beneficiary"
,
"insurant"
,
"policyholder"
// "rel_dept_user", "rel_group_role", "rel_group_user",
// "additional", "appointment", "appointment_file",
// "rel_project_menu", "rel_project_role", "rel_project_user",
// "beneficiary", "beneficiary_company", "beneficiary_individual",
// "rel_project_user_group", "rel_role_menu", "rel_tenant_dept",
// "insurant", "policyholder", "product_plan",
// "rel_tenant_menu", "rel_tenant_project", "rel_tenant_role",
// "rel_tenant_project_appointment", "second_holder"
// "rel_tenant_user", "rel_tenant_user_group", "rel_user_role",
// "sys_dept", "sys_dict", "sys_dict_item", "sys_login_log",
// "sys_menu", "sys_oper_log", "sys_post", "sys_role",
// "sys_tenant", "sys_user", "sys_user_group", "sys_project"
)
)
.
entityBuilder
()
.
entityBuilder
()
.
enableLombok
()
.
enableLombok
()
...
...
yd-csf-service/src/main/resources/mappers/.gitkeep
deleted
100644 → 0
View file @
b04e93a7
yd-csf-service/src/main/resources/mappers/AdditionalMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.AdditionalMapper"
>
<select
id=
"page"
resultType=
"com.yd.csf.feign.response.additional.ApiAdditionalPageResponse"
>
select a.* from additional a
<where>
<if
test=
"request.productName != null and request.productName != ''"
>
and a.product_name like concat('%', #{request.productName}, '%')
</if>
and a.plan_biz_id = #{request.planBizId}
and a.is_deleted = 0
</where>
</select>
</mapper>
yd-csf-service/src/main/resources/mappers/AppointmentFileMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.AppointmentFileMapper"
>
<select
id=
"page"
resultType=
"com.yd.csf.feign.response.appointmentfile.ApiAppointmentFilePageResponse"
>
select af.* from appointment_file af
<where>
<if
test=
"request.fileName != null and request.fileName != ''"
>
and af.file_name like concat('%', #{request.fileName}, '%')
</if>
and af.is_deleted = 0
</where>
</select>
</mapper>
yd-csf-service/src/main/resources/mappers/AppointmentMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.AppointmentMapper"
>
<select
id=
"page"
resultType=
"com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse"
>
select
a.appointment_no,
concat(pp.product_name,'(',pp.payment_term,'年)') as productName,
concat(pp.company_name, '\n', pp.region) as companyName,
concat(p.name, '\n', p.name_en) as policyholder,
concat(i.name, '\n', i.name_en) as insurant,
concat(pp.payment_term, '年') as paymentTerm,
a.status,
pp.each_issue_premium,
pp.currency,
IF(a.status = 0 or a.status = 1,
concat('意向预约时间:','\n',DATE_FORMAT(a.intention_appointment_time, '%Y-%m-%d %H:%i')),
concat('确认预约时间:','\n',DATE_FORMAT(a.confirm_appointment_time, '%Y-%m-%d %H:%i'),
'\n','业务代表:','\n',a.business_represent_name1,'\n',
'(',a.business_represent_mobile1_code,'-',a.business_represent_mobile1,')','\n',
'预约地址:',a.signing_address)
) as time
from appointment a
left join product_plan pp on a.appointment_biz_id = pp.appointment_biz_id and pp.is_deleted = 0
left join policyholder p on a.appointment_biz_id = p.appointment_biz_id and p.is_deleted = 0
left join insurant i on a.appointment_biz_id = i.appointment_biz_id and i.is_deleted = 0
<if
test=
"request.status != null"
>
and a.status = #{request.status}
</if>
<if
test=
"request.appointmentNo != null and request.appointmentNo != ''"
>
and a.appointment_no like concat('%', #{request.appointmentNo}, '%')
</if>
<if
test=
"request.customerNo != null and request.customerNo != ''"
>
and a.customer_no like concat('%', #{request.customerNo}, '%')
</if>
<if
test=
"request.productBizId != null and request.productBizId != ''"
>
and pp.product_biz_id = #{request.productBizId}
</if>
<if
test=
"request.startTime != null"
>
and a.confirm_appointment_time
>
= #{request.startTime}
</if>
<if
test=
"request.endTime != null"
>
and a.confirm_appointment_time
<
= #{request.endTime}
</if>
and a.is_deleted = 0
</select>
</mapper>
yd-csf-service/src/main/resources/mappers/BeneficiaryMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.BeneficiaryMapper"
>
</mapper>
yd-csf-service/src/main/resources/mappers/InsurantMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.InsurantMapper"
>
</mapper>
yd-csf-service/src/main/resources/mappers/PolicyholderMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.PolicyholderMapper"
>
</mapper>
yd-csf-service/src/main/resources/mappers/ProductPlanMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.ProductPlanMapper"
>
</mapper>
yd-csf-service/src/main/resources/mappers/RelTenantProjectAppointmentMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.RelTenantProjectAppointmentMapper"
>
</mapper>
yd-csf-service/src/main/resources/mappers/SecondHolderMapper.xml
0 → 100644
View file @
e68c02c4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yd.csf.service.dao.SecondHolderMapper"
>
</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