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
59ef8e3e
Commit
59ef8e3e
authored
Mar 03, 2026
by
jianan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'refs/heads/test' into prod
parents
82947373
2c87d73c
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
790 additions
and
39 deletions
+790
-39
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
+1
-0
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
+185
-0
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
+13
-12
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentAddStorageRequest.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/dao/PolicyAppointmentFileMapper.java
+18
-0
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyDto.java
+17
-1
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowDto.java
+4
-1
yd-csf-service/src/main/java/com/yd/csf/service/model/Policy.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/PolicyAppointmentFile.java
+102
-0
yd-csf-service/src/main/java/com/yd/csf/service/model/PolicyFollow.java
+5
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyAppointmentFileService.java
+13
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyFollowService.java
+89
-2
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
+156
-9
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaServiceImpl.java
+0
-1
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyAppointmentFileServiceImpl.java
+22
-0
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
+122
-10
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
+0
-2
yd-csf-service/src/main/resources/mappers/PolicyAppointmentFileMapper.xml
+31
-0
yd-csf-service/src/main/resources/mappers/PolicyMapper.xml
+2
-1
No files found.
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiCustomerController.java
View file @
59ef8e3e
...
...
@@ -15,6 +15,7 @@ import com.yd.csf.service.dto.CustomerQueryRequest;
import
com.yd.csf.service.dto.CustomerUpdateRequest
;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.service.CustomerService
;
import
com.yd.csf.service.service.ITaxationService
;
import
com.yd.csf.service.vo.CustomerVO
;
import
io.swagger.v3.oas.annotations.Operation
;
...
...
yd-csf-api/src/main/java/com/yd/csf/api/controller/ApiPolicyFollowController.java
View file @
59ef8e3e
...
...
@@ -703,4 +703,188 @@ public class ApiPolicyFollowController {
log
.
info
(
"新单跟进-同步生成预计出账记录成功:保单号={}"
,
policyNo
);
}
}
/**
* 查询产品计划信息
*
* @param policyBizId 新单跟进业务ID
* @return 产品计划信息
*/
@GetMapping
(
"/product_plan"
)
@Operation
(
summary
=
"查询产品计划信息"
)
public
Result
<
PolicyDto
>
getProductPlan
(
@RequestParam
(
"policyBizId"
)
String
policyBizId
)
{
if
(
StringUtils
.
isBlank
(
policyBizId
))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
return
Result
.
success
(
policyFollowService
.
getProductPlan
(
policyBizId
));
}
/**
* 查询投保人信息
*
* @param policyBizId 新单跟进业务ID
* @return 投保人信息
*/
@GetMapping
(
"/policyholder"
)
@Operation
(
summary
=
"查询投保人信息"
)
public
Result
<
PolicyPolicyholder
>
getPolicyPolicyholder
(
@RequestParam
(
"policyBizId"
)
String
policyBizId
)
{
if
(
StringUtils
.
isBlank
(
policyBizId
))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
PolicyPolicyholder
policyholder
=
policyFollowService
.
getPolicyPolicyholder
(
policyBizId
);
if
(
policyholder
==
null
)
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"投保人信息不存在"
);
}
return
Result
.
success
(
policyholder
);
}
/**
* 查询受保人信息
*
* @param policyBizId 新单跟进业务ID
* @return 受保人信息
*/
@GetMapping
(
"/insurant"
)
@Operation
(
summary
=
"查询受保人信息"
)
public
Result
<
PolicyInsurant
>
getPolicyInsurant
(
@RequestParam
(
"policyBizId"
)
String
policyBizId
)
{
if
(
StringUtils
.
isBlank
(
policyBizId
))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
PolicyInsurant
insurant
=
policyFollowService
.
getPolicyInsurant
(
policyBizId
);
if
(
insurant
==
null
)
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"受保人信息不存在"
);
}
return
Result
.
success
(
insurant
);
}
/**
* 查询受益人列表
*
* @param policyBizId 新单跟进业务ID
* @return 受益人列表
*/
@GetMapping
(
"/beneficiary"
)
@Operation
(
summary
=
"查询受益人列表"
)
public
Result
<
List
<
PolicyBeneficiary
>>
getPolicyBeneficiaryList
(
@RequestParam
(
"policyBizId"
)
String
policyBizId
)
{
if
(
StringUtils
.
isBlank
(
policyBizId
))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
List
<
PolicyBeneficiary
>
beneficiaryList
=
policyFollowService
.
getPolicyBeneficiaryList
(
policyBizId
);
return
Result
.
success
(
beneficiaryList
);
}
/**
* 查询第二持有人信息
*
* @param policyBizId 新单跟进业务ID
* @return 第二持有人信息
*/
@GetMapping
(
"/second_holder"
)
@Operation
(
summary
=
"查询第二持有人信息"
)
public
Result
<
PolicySecondHolder
>
getPolicySecondHolder
(
@RequestParam
(
"policyBizId"
)
String
policyBizId
)
{
if
(
StringUtils
.
isBlank
(
policyBizId
))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
PolicySecondHolder
secondHolder
=
policyFollowService
.
getPolicySecondHolder
(
policyBizId
);
if
(
secondHolder
==
null
)
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"第二持有人信息不存在"
);
}
return
Result
.
success
(
secondHolder
);
}
/**
* 查询预约附件列表
*
* @param policyBizId 新单跟进业务ID
* @return 预约附件列表
*/
@GetMapping
(
"/appointment_files"
)
@Operation
(
summary
=
"查询预约附件列表"
)
public
Result
<
List
<
PolicyAppointmentFile
>>
getPolicyAppointmentFileList
(
@RequestParam
(
"policyBizId"
)
String
policyBizId
)
{
if
(
StringUtils
.
isBlank
(
policyBizId
))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
List
<
PolicyAppointmentFile
>
fileList
=
policyFollowService
.
getPolicyAppointmentFileList
(
policyBizId
);
return
Result
.
success
(
fileList
);
}
/**
* 更新产品计划信息
*
* @param policyUpdateRequest 产品计划更新请求
* @return 是否成功
*/
// @PostMapping("/product_plan/update")
// @Operation(summary = "更新产品计划信息")
// @Transactional(rollbackFor = Exception.class)
// public Result<Boolean> updateProductPlan(@RequestBody PolicyUpdateRequest policyUpdateRequest) {
// if (policyUpdateRequest == null || StringUtils.isBlank(policyUpdateRequest.getPolicyBizId())) {
// return Result.fail(ResultCode.NULL_ERROR.getCode(), "policyBizId不能为空");
// }
// return Result.success(policyFollowService.updateProductPlan(policyUpdateRequest));
// }
/**
* 更新投保人信息
*
* @param policyPolicyholderUpdateRequest 投保人更新请求
* @return 是否成功
*/
@PostMapping
(
"/policyholder/update"
)
@Operation
(
summary
=
"更新投保人信息"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
updatePolicyPolicyholder
(
@RequestBody
PolicyPolicyholderUpdateRequest
policyPolicyholderUpdateRequest
)
{
if
(
policyPolicyholderUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyPolicyholderUpdateRequest
.
getPolicyPolicyholderBizId
()))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyPolicyholderBizId不能为空"
);
}
return
Result
.
success
(
policyFollowService
.
updatePolicyPolicyholder
(
policyPolicyholderUpdateRequest
));
}
/**
* 更新受保人信息
*
* @param policyInsurantUpdateRequest 受保人更新请求
* @return 是否成功
*/
@PostMapping
(
"/insurant/update"
)
@Operation
(
summary
=
"更新受保人信息"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
updatePolicyInsurant
(
@RequestBody
PolicyInsurantUpdateRequest
policyInsurantUpdateRequest
)
{
if
(
policyInsurantUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyInsurantUpdateRequest
.
getPolicyInsurantBizId
()))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyInsurantBizId不能为空"
);
}
return
Result
.
success
(
policyFollowService
.
updatePolicyInsurant
(
policyInsurantUpdateRequest
));
}
/**
* 更新受益人列表
*
* @param policyBeneficiaryListUpdateRequest 受益人列表更新请求
* @return 是否成功
*/
@PostMapping
(
"/beneficiary/update"
)
@Operation
(
summary
=
"更新受益人列表"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
updatePolicyBeneficiaryList
(
@RequestBody
PolicyBeneficiaryListUpdateRequest
policyBeneficiaryListUpdateRequest
)
{
if
(
policyBeneficiaryListUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyBeneficiaryListUpdateRequest
.
getPolicyBizId
()))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
return
Result
.
success
(
policyFollowService
.
updatePolicyBeneficiaryList
(
policyBeneficiaryListUpdateRequest
));
}
/**
* 更新第二持有人信息
*
* @param policySecondHolderUpdateRequest 第二持有人更新请求
* @return 是否成功
*/
@PostMapping
(
"/second_holder/update"
)
@Operation
(
summary
=
"更新第二持有人信息"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
<
Boolean
>
updatePolicySecondHolder
(
@RequestBody
PolicySecondHolderUpdateRequest
policySecondHolderUpdateRequest
)
{
if
(
policySecondHolderUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policySecondHolderUpdateRequest
.
getPolicySecondHolderBizId
()))
{
return
Result
.
fail
(
ResultCode
.
NULL_ERROR
.
getCode
(),
"policySecondHolderBizId不能为空"
);
}
return
Result
.
success
(
policyFollowService
.
updatePolicySecondHolder
(
policySecondHolderUpdateRequest
));
}
}
\ No newline at end of file
yd-csf-api/src/main/java/com/yd/csf/api/service/impl/ApiAppointmentServiceImpl.java
View file @
59ef8e3e
...
...
@@ -6,9 +6,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.google.gson.reflect.TypeToken
;
import
com.yd.auth.core.dto.AuthUserDto
;
import
com.yd.auth.core.utils.SecurityUtil
;
import
com.yd.base.feign.client.relobjectcertificate.ApiRelObjectCertificateFeignClient
;
import
com.yd.base.feign.dto.ApiCertificateDto
;
import
com.yd.base.feign.request.relobjectcertificate.ApiRelObjectCertificateListAddRequest
;
import
com.yd.common.constant.CodeGeneratorConstants
;
import
com.yd.common.enums.CommonEnum
;
import
com.yd.common.enums.ResultCode
;
...
...
@@ -46,7 +43,6 @@ import org.springframework.transaction.annotation.Transactional;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
javax.validation.constraints.NotBlank
;
import
java.time.ZoneId
;
import
java.util.ArrayList
;
import
java.util.Date
;
...
...
@@ -143,6 +139,8 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
private
FnaFormService
fnaFormService
;
@Resource
private
PolicyBrokerService
policyBrokerService
;
@Resource
private
PolicyAppointmentFileService
policyAppointmentFileService
;
/**
* 预约分页查询
...
...
@@ -366,7 +364,8 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
updateFnaBizIdAndNo
(
appointment
.
getFnaBizId
(),
appointment
.
getAppointmentBizId
(),
appointment
.
getAppointmentNo
());
//新增健康问卷和预约对象关系绑定
objectSaveJkQuestion
(
appointment
.
getAppointmentBizId
(),
request
.
getApiAnswerSaveRequest
());
//新增对象材料关系信息
addRelObjectMaterialList
(
appointment
.
getAppointmentBizId
(),
request
.
getMaterialDtoList
());
return
Result
.
success
();
}
...
...
@@ -760,13 +759,10 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
// 同步保存保单产品计划附加险
savePolicyAdditional
(
apiProductPlanAdditionalInfoDtoList
,
policyBizId
);
// 同步转介人
savePolicyBroker
(
appointment
.
getFnaBizId
(),
policyBizId
);
// // 同步保存保单(产品计划)
// savePolicy(productPlan, apiPolicyholderInfoDto, apiInsurantInfoDto, apiProductPlanMainInfoDto, policyBizId, policyTransfer);
// 同步保存保单(产品计划)
savePolicy
(
productPlan
,
apiPolicyholderInfoDto
,
apiInsurantInfoDto
,
apiProductPlanMainInfoDto
,
policyBizId
,
policyTransfer
);
// 同步保存保单投保人
savePolicyPolicyholder
(
apiPolicyholderInfoDto
,
policyBizId
);
// 同步保存保单受保人
...
...
@@ -786,10 +782,15 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
private
void
savePolicyAppointmentAttachment
(
List
<
ApiAppointmentFileDto
>
apiAppointmentFileDtoList
,
String
policyBizId
)
{
if
(
ObjectUtils
.
isNotEmpty
(
apiAppointmentFileDtoList
))
{
List
<
PolicyAppointmentFile
>
policyAppointmentFileList
=
new
ArrayList
<>();
apiAppointmentFileDtoList
.
forEach
(
apiAppointmentFileDto
->
{
// apiAppointmentFileDto.setPolicyBizId(policyBizId);
PolicyAppointmentFile
policyAppointmentFile
=
new
PolicyAppointmentFile
();
BeanUtils
.
copyProperties
(
apiAppointmentFileDto
,
policyAppointmentFile
);
policyAppointmentFile
.
setId
(
null
);
policyAppointmentFile
.
setPolicyBizId
(
policyBizId
);
policyAppointmentFileList
.
add
(
policyAppointmentFile
);
});
// policyAppointmentFileService.saveOrUpdateBatch(apiAppointmentFileDto
List);
policyAppointmentFileService
.
saveOrUpdateBatch
(
policyAppointmentFile
List
);
}
}
...
...
yd-csf-feign/src/main/java/com/yd/csf/feign/request/appointment/ApiAppointmentAddStorageRequest.java
View file @
59ef8e3e
...
...
@@ -44,6 +44,11 @@ public class ApiAppointmentAddStorageRequest {
private
ApiSecondHolderInfoDto
apiSecondHolderInfoDto
;
/**
* 附件信息
*/
private
List
<
ApiAppointmentMaterialDto
>
materialDtoList
;
/**
* 问卷-答题提交对象
*/
private
ApiAnswerSaveRequest
apiAnswerSaveRequest
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/dao/PolicyAppointmentFileMapper.java
0 → 100644
View file @
59ef8e3e
package
com
.
yd
.
csf
.
service
.
dao
;
import
com.yd.csf.service.model.PolicyAppointmentFile
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* @author Zhang Jianan
* @description 针对表【policy_appointment_file(新单跟进预约附件信息表)】的数据库操作Mapper
* @createDate 2026-02-28 16:40:45
* @Entity generator.domain.PolicyAppointmentFile
*/
public
interface
PolicyAppointmentFileMapper
extends
BaseMapper
<
PolicyAppointmentFile
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyDto.java
View file @
59ef8e3e
package
com
.
yd
.
csf
.
service
.
dto
;
import
com.yd.csf.service.model.
PolicyAdditional
;
import
com.yd.csf.service.model.
*
;
import
com.yd.csf.service.vo.PolicyVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.apache.commons.lang3.ObjectUtils
;
import
java.io.Serializable
;
import
java.util.List
;
...
...
@@ -23,4 +24,19 @@ public class PolicyDto implements Serializable {
*/
@Schema
(
description
=
"保单附加险列表"
)
private
List
<
PolicyAdditional
>
apiProductPlanAdditionalInfoDtoList
;
public
static
PolicyDto
convertToDto
(
Policy
policy
,
List
<
PolicyAdditional
>
policyAdditionals
)
{
PolicyDto
dto
=
new
PolicyDto
();
if
(
ObjectUtils
.
isEmpty
(
policy
))
{
return
dto
;
}
// 产品计划主信息
dto
.
setApiProductPlanMainInfoDto
(
PolicyVO
.
objToVo
(
policy
));
// 附加险列表
dto
.
setApiProductPlanAdditionalInfoDtoList
(
policyAdditionals
);
return
dto
;
}
}
yd-csf-service/src/main/java/com/yd/csf/service/dto/PolicyFollowDto.java
View file @
59ef8e3e
...
...
@@ -150,7 +150,10 @@ public class PolicyFollowDto implements Serializable {
private
String
insuranceCompanyBizId
;
@Schema
(
description
=
"对账公司"
)
private
String
reconciliationCompany
;
private
String
reconciliationCompanyName
;
@Schema
(
description
=
"对账公司编码"
)
private
String
reconciliationCode
;
@Schema
(
description
=
"对账公司业务id"
)
private
String
reconciliationCompanyBizId
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/Policy.java
View file @
59ef8e3e
...
...
@@ -83,6 +83,11 @@ public class Policy implements Serializable {
private
String
policyHolder
;
/**
* 保單持有人年齡
*/
private
Integer
policyHolderAge
;
/**
* 受保人
*/
private
String
insured
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/model/PolicyAppointmentFile.java
0 → 100644
View file @
59ef8e3e
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.util.Date
;
import
lombok.Data
;
/**
* 新单跟进预约附件信息表
* @TableName policy_appointment_file
*/
@TableName
(
value
=
"policy_appointment_file"
)
@Data
public
class
PolicyAppointmentFile
implements
Serializable
{
/**
*
*/
@TableId
(
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 新单跟进业务ID
*/
private
String
policyBizId
;
/**
* 保单号
*/
private
String
policyNo
;
/**
* 预约信息主表唯一业务ID
*/
private
String
appointmentBizId
;
/**
* 中台文件元数据表唯一业务ID
*/
private
String
ossFileBizId
;
/**
* 预约附件信息表唯一业务ID
*/
private
String
appointmentFileBizId
;
/**
* 预约-材料信息表唯一业务ID
*/
private
String
appointmentMaterialBizId
;
/**
* 文件名
*/
private
String
fileName
;
/**
* 文件访问路径
*/
private
String
fileUrl
;
/**
* 通用备注
*/
private
String
remark
;
/**
* 删除标识: 0-正常, 1-删除
*/
private
Integer
isDeleted
;
/**
* 创建人ID
*/
private
String
creatorId
;
/**
* 创建人名称
*/
private
String
creatorName
;
/**
* 更新人ID
*/
private
String
updaterId
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
@TableField
(
exist
=
false
)
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
yd-csf-service/src/main/java/com/yd/csf/service/model/PolicyFollow.java
View file @
59ef8e3e
...
...
@@ -241,6 +241,11 @@ public class PolicyFollow implements Serializable {
private
String
reconciliationCompany
;
/**
* 对账公司编码
*/
private
String
reconciliationCompanyCode
;
/**
* 对账公司业务id
*/
private
String
reconciliationCompanyBizId
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyAppointmentFileService.java
0 → 100644
View file @
59ef8e3e
package
com
.
yd
.
csf
.
service
.
service
;
import
com.yd.csf.service.model.PolicyAppointmentFile
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* @author Zhang Jianan
* @description 针对表【policy_appointment_file(新单跟进预约附件信息表)】的数据库操作Service
* @createDate 2026-02-28 16:40:45
*/
public
interface
PolicyAppointmentFileService
extends
IService
<
PolicyAppointmentFile
>
{
}
yd-csf-service/src/main/java/com/yd/csf/service/service/PolicyFollowService.java
View file @
59ef8e3e
...
...
@@ -5,8 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yd.csf.service.dto.*
;
import
com.yd.csf.service.enums.PolicyFollowStatusEnum
;
import
com.yd.csf.service.model.Policy
;
import
com.yd.csf.service.model.PolicyFollow
;
import
com.yd.csf.service.model.*
;
import
com.yd.csf.service.vo.PolicyFollowDetailVO
;
import
com.yd.csf.service.vo.PolicyFollowVO
;
import
com.yd.csf.service.vo.PolicyNumberResponseVO
;
...
...
@@ -90,4 +89,92 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
List
<
PolicyFollow
>
queryList
(
List
<
String
>
policyNoList
);
List
<
PolicyFollow
>
queryListByAppointmentBizId
(
String
appointmentBizId
);
/**
* 查询产品计划信息
*
* @param policyBizId 新单跟进业务ID
* @return 产品计划信息
*/
PolicyDto
getProductPlan
(
String
policyBizId
);
/**
* 查询投保人信息
*
* @param policyBizId 新单跟进业务ID
* @return 投保人信息
*/
PolicyPolicyholder
getPolicyPolicyholder
(
String
policyBizId
);
/**
* 查询受保人信息
*
* @param policyBizId 新单跟进业务ID
* @return 受保人信息
*/
PolicyInsurant
getPolicyInsurant
(
String
policyBizId
);
/**
* 查询受益人列表
*
* @param policyBizId 新单跟进业务ID
* @return 受益人列表
*/
List
<
PolicyBeneficiary
>
getPolicyBeneficiaryList
(
String
policyBizId
);
/**
* 查询第二持有人信息
*
* @param policyBizId 新单跟进业务ID
* @return 第二持有人信息
*/
PolicySecondHolder
getPolicySecondHolder
(
String
policyBizId
);
/**
* 查询预约附件列表
*
* @param policyBizId 新单跟进业务ID
* @return 预约附件列表
*/
List
<
PolicyAppointmentFile
>
getPolicyAppointmentFileList
(
String
policyBizId
);
/**
* 更新产品计划信息
*
* @param policyUpdateRequest 产品计划更新请求
* @return 是否成功
*/
Boolean
updateProductPlan
(
PolicyUpdateRequest
policyUpdateRequest
);
/**
* 更新投保人信息
*
* @param policyPolicyholderUpdateRequest 投保人更新请求
* @return 是否成功
*/
Boolean
updatePolicyPolicyholder
(
PolicyPolicyholderUpdateRequest
policyPolicyholderUpdateRequest
);
/**
* 更新受保人信息
*
* @param policyInsurantUpdateRequest 受保人更新请求
* @return 是否成功
*/
Boolean
updatePolicyInsurant
(
PolicyInsurantUpdateRequest
policyInsurantUpdateRequest
);
/**
* 更新受益人列表
*
* @param policyBeneficiaryListUpdateRequest 受益人列表更新请求
* @return 是否成功
*/
Boolean
updatePolicyBeneficiaryList
(
PolicyBeneficiaryListUpdateRequest
policyBeneficiaryListUpdateRequest
);
/**
* 更新第二持有人信息
*
* @param policySecondHolderUpdateRequest 第二持有人更新请求
* @return 是否成功
*/
Boolean
updatePolicySecondHolder
(
PolicySecondHolderUpdateRequest
policySecondHolderUpdateRequest
);
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/CommissionExpectedServiceImpl.java
View file @
59ef8e3e
...
...
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.yd.base.feign.client.exchangerate.ApiExchangeRateFeignClient
;
import
com.yd.common.constant.CommonConstant
;
import
com.yd.common.constant.RedisConstants
;
...
...
@@ -41,6 +43,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.LocalDate
;
...
...
@@ -77,6 +80,9 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
@Resource
private
ApiExchangeRateFeignClient
apiExchangeRateFeignClient
;
// 用于对象转换的ObjectMapper
private
static
final
ObjectMapper
objectMapper
=
new
ObjectMapper
();
@Override
public
Page
<
CommissionExpectedVO
>
getCommissionExpectedVOPage
(
Page
<
CommissionExpected
>
commissionExpectedPage
)
{
...
...
@@ -481,6 +487,10 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
if
(
paymentPremium
==
null
)
{
throw
new
BusinessException
(
"保费不能为空"
);
}
Integer
policyHolderAge
=
policy
.
getPolicyHolderAge
();
if
(
policyHolderAge
==
null
)
{
throw
new
BusinessException
(
"保單持有人年齡不能为空"
);
}
Date
effectiveDate
=
policy
.
getEffectiveDate
();
if
(
effectiveDate
==
null
)
{
throw
new
BusinessException
(
"保单生效日期不能为空"
);
...
...
@@ -501,22 +511,25 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
List
<
CommissionExpected
>
commissionExpectedList
=
new
ArrayList
<>();
if
(
CollUtil
.
isNotEmpty
(
expectedSpeciesList
))
{
// 根据供款年期匹配规格
List
<
ApiExpectedSpeciesListResponse
>
collect
=
expectedSpeciesList
.
stream
()
.
filter
(
i
->
paymentTerm
.
equals
(
i
.
getPaymentTerm
()))
.
collect
(
Collectors
.
toList
());
if
(
ObjectUtils
.
isEmpty
(
collect
))
{
throw
new
BusinessException
(
ResultCode
.
FAIL
.
getCode
(),
"未查询到对应供款年期的佣金规格"
);
// 匹配规格并获取不匹配的条件
MatchResult
matchResult
=
matchExpectedSpecies
(
expectedSpeciesList
,
paymentTerm
,
reconciliationCompanyBizId
,
policyHolderAge
,
paymentPremium
);
if
(
matchResult
.
getMatchedList
().
isEmpty
())
{
String
errorMsg
=
matchResult
.
getUnmatchedConditions
().
isEmpty
()
?
"未查询到对应供款年期的佣金规格"
:
"未查询到对应供款年期的佣金规格,不匹配条件:"
+
String
.
join
(
"、"
,
matchResult
.
getUnmatchedConditions
());
throw
new
BusinessException
(
ResultCode
.
FAIL
.
getCode
(),
errorMsg
);
}
// 计算佣金总期数 list 中 endPeriod最大值
Integer
maxEndPeriod
=
collect
.
stream
()
Integer
maxEndPeriod
=
matchResult
.
getMatchedList
()
.
stream
()
.
map
(
item
->
Convert
.
toInt
(
item
.
getEndPeriod
()))
.
max
(
Integer:
:
compareTo
)
.
orElse
(
0
);
for
(
ApiExpectedSpeciesListResponse
item
:
collect
)
{
for
(
ApiExpectedSpeciesListResponse
item
:
matchResult
.
getMatchedList
()
)
{
CommissionExpected
commissionExpected
=
new
CommissionExpected
();
commissionExpected
.
setCommissionExpectedBizId
(
RandomStringGenerator
.
generateBizId16
(
"commission_expected"
));
commissionExpected
.
setReceivableNo
(
receivableService
.
generateReceivableNo
(
"R"
,
reconciliationCompanyCode
,
reconciliationCompany
));
...
...
@@ -565,6 +578,140 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
}
/**
* 匹配规格结果内部类
*/
private
static
class
MatchResult
{
private
List
<
ApiExpectedSpeciesListResponse
>
matchedList
;
private
List
<
String
>
unmatchedConditions
;
public
MatchResult
(
List
<
ApiExpectedSpeciesListResponse
>
matchedList
,
List
<
String
>
unmatchedConditions
)
{
this
.
matchedList
=
matchedList
;
this
.
unmatchedConditions
=
unmatchedConditions
;
}
public
List
<
ApiExpectedSpeciesListResponse
>
getMatchedList
()
{
return
matchedList
;
}
public
List
<
String
>
getUnmatchedConditions
()
{
return
unmatchedConditions
;
}
}
/**
* 匹配预计规格并返回不匹配的条件
*
* @param expectedSpeciesList 预计规格列表
* @param paymentTerm 供款年期
* @param reconciliationCompanyId 对账公司ID
* @param policyHolderAge 保单持有人年龄
* @param paymentPremium 年缴保费
* @return 匹配结果
*/
private
MatchResult
matchExpectedSpecies
(
List
<
ApiExpectedSpeciesListResponse
>
expectedSpeciesList
,
String
paymentTerm
,
String
reconciliationCompanyId
,
Integer
policyHolderAge
,
BigDecimal
paymentPremium
)
{
List
<
String
>
unmatchedConditions
=
new
ArrayList
<>();
List
<
ApiExpectedSpeciesListResponse
>
currentList
=
expectedSpeciesList
;
// 检查供款年期
currentList
=
filterAndCheck
(
currentList
,
i
->
paymentTerm
.
equals
(
i
.
getPaymentTerm
()),
unmatchedConditions
,
"供款年期["
+
paymentTerm
+
"]"
);
if
(
unmatchedConditions
.
size
()
>
0
)
{
return
new
MatchResult
(
Collections
.
emptyList
(),
unmatchedConditions
);
}
// 检查对账公司
currentList
=
filterAndCheck
(
currentList
,
i
->
reconciliationCompanyId
.
equals
(
i
.
getReconciliationCompany
()),
unmatchedConditions
,
"对账公司["
+
reconciliationCompanyId
+
"]"
);
if
(
unmatchedConditions
.
size
()
>
0
)
{
return
new
MatchResult
(
Collections
.
emptyList
(),
unmatchedConditions
);
}
// 检查年龄
currentList
=
filterAndCheck
(
currentList
,
i
->
containsValue
(
i
.
getSpeciesJson
(),
"AGE"
,
Convert
.
toStr
(
policyHolderAge
)),
unmatchedConditions
,
"年龄["
+
policyHolderAge
+
"]"
);
if
(
unmatchedConditions
.
size
()
>
0
)
{
return
new
MatchResult
(
Collections
.
emptyList
(),
unmatchedConditions
);
}
// 检查保费
currentList
=
filterAndCheck
(
currentList
,
i
->
containsValue
(
i
.
getSpeciesJson
(),
"PREMIUM"
,
Convert
.
toStr
(
paymentPremium
)),
unmatchedConditions
,
"保费["
+
paymentPremium
+
"]"
);
return
new
MatchResult
(
currentList
,
unmatchedConditions
);
}
/**
* 过滤列表并检查是否为空
*
* @param list 待过滤的列表
* @param predicate 过滤条件
* @param unmatchedConditions 不匹配条件列表
* @param conditionDesc 条件描述
* @return 过滤后的列表
*/
private
List
<
ApiExpectedSpeciesListResponse
>
filterAndCheck
(
List
<
ApiExpectedSpeciesListResponse
>
list
,
java
.
util
.
function
.
Predicate
<
ApiExpectedSpeciesListResponse
>
predicate
,
List
<
String
>
unmatchedConditions
,
String
conditionDesc
)
{
List
<
ApiExpectedSpeciesListResponse
>
filtered
=
list
.
stream
()
.
filter
(
predicate
)
.
collect
(
Collectors
.
toList
());
if
(
filtered
.
isEmpty
())
{
unmatchedConditions
.
add
(
conditionDesc
);
}
return
filtered
;
}
private
static
boolean
containsValue
(
String
json
,
String
targetKey
,
String
targetValue
)
{
if
(
json
==
null
||
json
.
trim
().
isEmpty
())
return
false
;
try
{
List
<
Map
<
String
,
Object
>>
params
=
objectMapper
.
readValue
(
json
,
new
TypeReference
<
List
<
Map
<
String
,
Object
>>>()
{});
// AGE 和 PREMIUM 使用最小值匹配(targetValue >= value)
if
(
targetKey
.
equals
(
"AGE"
)
||
targetKey
.
equals
(
"PREMIUM"
))
{
return
params
.
stream
().
anyMatch
(
p
->
{
Object
value
=
p
.
get
(
"value"
);
if
(
value
==
null
)
{
return
false
;
}
// 转换为 BigDecimal
BigDecimal
threshold
;
if
(
value
instanceof
BigDecimal
)
{
threshold
=
(
BigDecimal
)
value
;
}
else
if
(
value
instanceof
Number
)
{
threshold
=
BigDecimal
.
valueOf
(((
Number
)
value
).
doubleValue
());
}
else
if
(
value
instanceof
String
)
{
try
{
threshold
=
new
BigDecimal
((
String
)
value
);
}
catch
(
NumberFormatException
e
)
{
return
false
;
}
}
else
{
return
false
;
}
// 判断是否大于等于最小值
return
new
BigDecimal
(
targetValue
).
compareTo
(
threshold
)
>=
0
;
});
}
// 其他字段使用等于匹配
else
{
return
params
.
stream
().
anyMatch
(
p
->
targetValue
.
equals
(
p
.
get
(
"value"
)));
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
return
false
;
}
}
@Override
public
List
<
ApiExpectedSpeciesListResponse
>
queryExpectedSpeciesByFeign
(
String
productLaunchBizId
)
{
ApiExpectedSpeciesListRequest
apiExpectedSpeciesListRequest
=
new
ApiExpectedSpeciesListRequest
();
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/FnaServiceImpl.java
View file @
59ef8e3e
...
...
@@ -22,7 +22,6 @@ import com.yd.csf.service.enums.FnaStatusEnum;
import
com.yd.csf.service.model.Customer
;
import
com.yd.csf.service.model.Fna
;
import
com.yd.csf.service.model.FnaForm
;
import
com.yd.csf.service.model.Fortune
;
import
com.yd.csf.service.service.CustomerService
;
import
com.yd.csf.service.service.FnaFormService
;
import
com.yd.csf.service.service.FnaService
;
...
...
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyAppointmentFileServiceImpl.java
0 → 100644
View file @
59ef8e3e
package
com
.
yd
.
csf
.
service
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yd.csf.service.model.PolicyAppointmentFile
;
import
com.yd.csf.service.dao.PolicyAppointmentFileMapper
;
import
com.yd.csf.service.service.PolicyAppointmentFileService
;
import
org.springframework.stereotype.Service
;
/**
* @author Zhang Jianan
* @description 针对表【policy_appointment_file(新单跟进预约附件信息表)】的数据库操作Service实现
* @createDate 2026-02-28 16:40:45
*/
@Service
public
class
PolicyAppointmentFileServiceImpl
extends
ServiceImpl
<
PolicyAppointmentFileMapper
,
PolicyAppointmentFile
>
implements
PolicyAppointmentFileService
{
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyFollowServiceImpl.java
View file @
59ef8e3e
...
...
@@ -78,6 +78,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
@Resource
private
PolicyAdditionalService
policyAdditionalService
;
@Resource
private
PolicyAppointmentFileService
policyAppointmentFileService
;
@Resource
private
IExpectedFortuneService
expectedFortuneService
;
@Autowired
private
CommissionExpectedService
commissionExpectedService
;
...
...
@@ -87,6 +89,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
private
FnaService
fnaService
;
@Resource
private
ApiInsuranceReconciliationCompanyFeignClient
apiInsuranceReconciliationCompanyFeignClient
;
@Resource
private
CustomerService
customerService
;
@Override
...
...
@@ -197,6 +201,12 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
// 复制属性,排除系统字段
BeanUtils
.
copyProperties
(
policyFollowDto
,
policyFollow
,
"id"
,
"policyBizId"
,
"brokerList"
);
if
(
StringUtils
.
isNotBlank
(
policyFollowDto
.
getReconciliationCode
()))
{
policyFollow
.
setReconciliationCompanyCode
(
policyFollowDto
.
getReconciliationCode
());
}
if
(
StringUtils
.
isNotBlank
(
policyFollowDto
.
getReconciliationCompanyName
()))
{
policyFollow
.
setReconciliationCompany
(
policyFollowDto
.
getReconciliationCompanyName
());
}
// 检查保单号是否从空变为有值
String
oldPolicyNo
=
policyFollow
.
getPolicyNo
();
...
...
@@ -491,25 +501,35 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
policy
.
setPaymentTerm
(
policyFollow
.
getIssueNumber
());
policy
.
setUnderwritingDate
(
changePolicyFollowStatusRequest
.
getUnderwritingDate
());
policy
.
setEffectiveDate
(
changePolicyFollowStatusRequest
.
getEffectiveDate
());
policy
.
setPolicyHolderAge
(
calculatePolicyHolderAge
(
policyFollow
.
getCustomerBizId
()));
if
(
ObjectUtils
.
isEmpty
(
policy
.
getInsuranceCompany
())
||
ObjectUtils
.
isEmpty
(
policy
.
get
ReconciliationCompanyBizId
()))
{
if
(
ObjectUtils
.
isEmpty
(
policy
.
getInsuranceCompany
())
||
ObjectUtils
.
isEmpty
(
policy
.
get
InsuranceCompany
()))
{
// 获取保单产品信息,填充对账公司相关字段
PolicyProductInfo
productInfo
=
getPolicyProductInfo
(
policyFollow
.
getProductLaunchBizId
());
if
(
productInfo
!=
null
)
{
policy
.
setInsuranceCompany
(
productInfo
.
getInsuranceCompany
());
policy
.
setInsuranceCompanyBizId
(
productInfo
.
getInsuranceCompanyBizId
());
policy
.
setReconciliationCompany
(
productInfo
.
getReconciliationCompany
());
policy
.
setReconciliationCompanyBizId
(
productInfo
.
getReconciliationCompanyBizId
());
if
(
ObjectUtils
.
isEmpty
(
policy
.
getReconciliationCompany
()))
{
policy
.
setReconciliationCompany
(
productInfo
.
getReconciliationCompany
());
}
if
(
ObjectUtils
.
isEmpty
(
policy
.
getReconciliationCompanyBizId
()))
{
policy
.
setReconciliationCompanyBizId
(
productInfo
.
getReconciliationCompanyBizId
());
}
}
}
if
(
ObjectUtils
.
isEmpty
(
policy
.
getReconciliationCompanyCode
()))
{
if
(
ObjectUtils
.
isEmpty
(
policy
.
getReconciliationCompanyBizId
()))
{
throw
new
BusinessException
(
"对账公司业务ID不能为空"
);
}
// 调用对账公司 feignclient,查询对账公司编码
String
reconciliationCompanyCode
=
queryReconciliationCompanyByFeign
(
policy
.
getReconciliationCompanyBizId
());
// 调用对账公司 feignclient,查询对账公司编码
String
reconciliationCompanyCode
=
queryReconciliationCompanyByFeign
(
policy
.
getReconciliationCompanyBizId
());
// 如果仍然没有获取到编码,抛异常
if
(
StringUtils
.
isBlank
(
reconciliationCompanyCode
))
{
throw
new
BusinessException
(
"未能从对账公司服务获取编码,请补充,当前对账公司:"
+
productInfo
.
getReconciliationCompany
());
}
policy
.
setReconciliationCompanyCode
(
reconciliationCompanyCode
);
// 如果仍然没有获取到编码,抛异常
if
(
StringUtils
.
isBlank
(
reconciliationCompanyCode
))
{
throw
new
BusinessException
(
"未能从对账公司服务获取编码,请补充,当前对账公司:"
+
policy
.
getReconciliationCompany
());
}
policy
.
setReconciliationCompanyCode
(
reconciliationCompanyCode
);
}
// 保存保单
try
{
...
...
@@ -539,6 +559,18 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
return
true
;
}
private
Integer
calculatePolicyHolderAge
(
String
customerBizId
)
{
Customer
customer
=
customerService
.
getByCustomerBizId
(
customerBizId
);
if
(
customer
==
null
)
{
throw
new
BusinessException
(
"客户不存在"
);
}
if
(
customer
.
getBirthday
()
==
null
)
{
throw
new
BusinessException
(
"客户生日不能为空"
);
}
// 根据生日计算年龄
return
DateUtil
.
ageOfNow
(
customer
.
getBirthday
());
}
/**
* 调用对账公司 feignclient,查询对账公司编码
*/
...
...
@@ -959,5 +991,85 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
return
null
;
}
}
@Override
public
PolicyDto
getProductPlan
(
String
policyBizId
)
{
Policy
policy
=
policyService
.
getOne
(
new
QueryWrapper
<
Policy
>().
eq
(
"policy_biz_id"
,
policyBizId
));
List
<
PolicyAdditional
>
policyAdditionalList
=
policyAdditionalService
.
lambdaQuery
()
.
eq
(
PolicyAdditional:
:
getPolicyBizId
,
policyBizId
)
.
list
();
// 转换为DTO
return
PolicyDto
.
convertToDto
(
policy
,
policyAdditionalList
);
}
@Override
public
PolicyPolicyholder
getPolicyPolicyholder
(
String
policyBizId
)
{
return
policyPolicyholderService
.
getOne
(
new
QueryWrapper
<
PolicyPolicyholder
>().
eq
(
"policy_biz_id"
,
policyBizId
).
eq
(
"is_deleted"
,
0
));
}
@Override
public
PolicyInsurant
getPolicyInsurant
(
String
policyBizId
)
{
return
policyInsurantService
.
getOne
(
new
QueryWrapper
<
PolicyInsurant
>().
eq
(
"policy_biz_id"
,
policyBizId
).
eq
(
"is_deleted"
,
0
));
}
@Override
public
List
<
PolicyBeneficiary
>
getPolicyBeneficiaryList
(
String
policyBizId
)
{
return
policyBeneficiaryService
.
list
(
new
QueryWrapper
<
PolicyBeneficiary
>().
eq
(
"policy_biz_id"
,
policyBizId
).
eq
(
"is_deleted"
,
0
));
}
@Override
public
PolicySecondHolder
getPolicySecondHolder
(
String
policyBizId
)
{
return
policySecondHolderService
.
getOne
(
new
QueryWrapper
<
PolicySecondHolder
>().
eq
(
"policy_biz_id"
,
policyBizId
).
eq
(
"is_deleted"
,
0
));
}
@Override
public
List
<
PolicyAppointmentFile
>
getPolicyAppointmentFileList
(
String
policyBizId
)
{
return
policyAppointmentFileService
.
list
(
new
QueryWrapper
<
PolicyAppointmentFile
>().
eq
(
"policy_biz_id"
,
policyBizId
).
eq
(
"is_deleted"
,
0
));
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateProductPlan
(
PolicyUpdateRequest
policyUpdateRequest
)
{
if
(
policyUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyUpdateRequest
.
getPolicyBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
return
policyService
.
updatePolicy
(
policyUpdateRequest
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updatePolicyPolicyholder
(
PolicyPolicyholderUpdateRequest
policyPolicyholderUpdateRequest
)
{
if
(
policyPolicyholderUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyPolicyholderUpdateRequest
.
getPolicyPolicyholderBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyPolicyholderBizId不能为空"
);
}
return
policyPolicyholderService
.
update
(
policyPolicyholderUpdateRequest
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updatePolicyInsurant
(
PolicyInsurantUpdateRequest
policyInsurantUpdateRequest
)
{
if
(
policyInsurantUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyInsurantUpdateRequest
.
getPolicyInsurantBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyInsurantBizId不能为空"
);
}
return
policyInsurantService
.
update
(
policyInsurantUpdateRequest
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updatePolicyBeneficiaryList
(
PolicyBeneficiaryListUpdateRequest
policyBeneficiaryListUpdateRequest
)
{
if
(
policyBeneficiaryListUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policyBeneficiaryListUpdateRequest
.
getPolicyBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policyBizId不能为空"
);
}
return
policyBeneficiaryService
.
updatePolicyBeneficiaryList
(
policyBeneficiaryListUpdateRequest
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updatePolicySecondHolder
(
PolicySecondHolderUpdateRequest
policySecondHolderUpdateRequest
)
{
if
(
policySecondHolderUpdateRequest
==
null
||
StringUtils
.
isBlank
(
policySecondHolderUpdateRequest
.
getPolicySecondHolderBizId
()))
{
throw
new
BusinessException
(
ResultCode
.
PARAMS_ERROR
.
getCode
(),
"policySecondHolderBizId不能为空"
);
}
return
policySecondHolderService
.
updatePolicySecondHolder
(
policySecondHolderUpdateRequest
);
}
}
yd-csf-service/src/main/java/com/yd/csf/service/service/impl/PolicyServiceImpl.java
View file @
59ef8e3e
...
...
@@ -53,7 +53,6 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
@Resource
private
PolicyAdditionalService
policyAdditionalService
;
@Resource
private
ApiRelProjectProductLaunchFeignClient
apiRelProjectProductLaunchFeignClient
;
...
...
@@ -148,7 +147,6 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
policyAdditionalService
.
saveBatch
(
policyAdditionalList
);
}
policy
.
setUpdateTime
(
now
);
return
true
;
}
...
...
yd-csf-service/src/main/resources/mappers/PolicyAppointmentFileMapper.xml
0 → 100644
View file @
59ef8e3e
<?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.PolicyAppointmentFileMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.yd.csf.service.model.PolicyAppointmentFile"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"policyBizId"
column=
"policy_biz_id"
/>
<result
property=
"policyNo"
column=
"policy_no"
/>
<result
property=
"appointmentBizId"
column=
"appointment_biz_id"
/>
<result
property=
"ossFileBizId"
column=
"oss_file_biz_id"
/>
<result
property=
"appointmentFileBizId"
column=
"appointment_file_biz_id"
/>
<result
property=
"appointmentMaterialBizId"
column=
"appointment_material_biz_id"
/>
<result
property=
"fileName"
column=
"file_name"
/>
<result
property=
"fileUrl"
column=
"file_url"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"isDeleted"
column=
"is_deleted"
/>
<result
property=
"creatorId"
column=
"creator_id"
/>
<result
property=
"creatorName"
column=
"creator_name"
/>
<result
property=
"updaterId"
column=
"updater_id"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id,policy_biz_id,policy_no,appointment_biz_id,oss_file_biz_id,appointment_file_biz_id,
appointment_material_biz_id,file_name,file_url,remark,is_deleted,
creator_id,creator_name,updater_id,create_time,update_time
</sql>
</mapper>
yd-csf-service/src/main/resources/mappers/PolicyMapper.xml
View file @
59ef8e3e
...
...
@@ -17,6 +17,7 @@
<result
property=
"insuranceCompanyBizId"
column=
"insurance_company_biz_id"
/>
<result
property=
"region"
column=
"region"
/>
<result
property=
"policyHolder"
column=
"policy_holder"
/>
<result
property=
"policyHolderAge"
column=
"policy_holder_age"
/>
<result
property=
"insured"
column=
"insured"
/>
<result
property=
"sumInsured"
column=
"sum_insured"
/>
<result
property=
"paymentTerm"
column=
"payment_term"
/>
...
...
@@ -55,7 +56,7 @@
<sql
id=
"Base_Column_List"
>
id,policy_biz_id,policy_no,user_biz_id,product_launch_biz_id,product_code,
product_name,product_cate,insurance_company,insurance_company_biz_id,region,
policy_holder,insured,sum_insured,payment_term,payment_frequency,payment_premium,
policy_holder,
policy_holder_age,
insured,sum_insured,payment_term,payment_frequency,payment_premium,
status,currency,initial_premium,sign_date,issue_date,
effective_date,cooling_off_end_date,cooling_off_days,renewal_date,is_prepaid,deductibles,prepaid_term,
initial_payment_method,renewal_payment_method,dividend_distribution_method,is_backtrack,is_join,
...
...
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