Commit 5b3e841e by jianan

新单跟进31

parent 6d65e011
......@@ -23,7 +23,9 @@ import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.enums.PolicyStatusEnum;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import com.yd.csf.service.utils.GSONUtil;
import com.yd.question.feign.client.ApiQuestionnairesFeignClient;
import com.yd.question.feign.dto.ApiAnswerSessionsDto;
import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import lombok.extern.slf4j.Slf4j;
......@@ -413,9 +415,13 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
public Result savePolicyFollow(Appointment appointment) {
Result<ApiAppointmentDetailResponse> result = detail(appointment.getAppointmentBizId());
ApiAppointmentDetailResponse response = result.getData();
// 获取入参
ApiProductPlanMainInfoDto apiProductPlanMainInfoDto = null;
List<ApiProductPlanAdditionalInfoDto> apiProductPlanAdditionalInfoDtoList = new ArrayList<>();
ApiPolicyholderInfoDto apiPolicyholderInfoDto = null;
ApiInsurantInfoDto apiInsurantInfoDto = null;
List<ApiBeneficiaryInfoDto> apiBeneficiaryInfoDtoList = null;
ApiSecondHolderInfoDto apiSecondHolderInfoDto = null;
String policyTransfer = null;
if (!Objects.isNull(response)
&& !Objects.isNull(response.getApiProductPlanInfoDto())
......@@ -425,6 +431,14 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
policyTransfer = response.getApiAppointmentInfoDto().getPolicyTransfer();
// 产品计划附加险列表
apiProductPlanAdditionalInfoDtoList = response.getApiProductPlanInfoDto().getApiProductPlanAdditionalInfoDtoList();
// 投保人
apiPolicyholderInfoDto = response.getApiPolicyholderInfoDto();
// 受保人
apiInsurantInfoDto = response.getApiInsurantInfoDto();
// 受益人列表信息
apiBeneficiaryInfoDtoList = response.getApiBeneficiaryInfoDtoList();
// 第二持有人
apiSecondHolderInfoDto = response.getApiSecondHolderInfoDto();
}
if (!Objects.isNull(response)
&& !Objects.isNull(response.getApiInsurantInfoDto())) {
......@@ -492,25 +506,28 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
// 同步保存保单产品计划附加险
savePolicyAdditional(apiProductPlanAdditionalInfoDtoList, policyBizId);
// 同步保存保单投保人
savePolicyPolicyholder(apiInsurantInfoDto, policyBizId);
savePolicyPolicyholder(apiPolicyholderInfoDto, policyBizId);
// 同步保存保单受保人
savePolicyInsurant(apiInsurantInfoDto, policyBizId);
// 同步保存保单受益人
savePolicyBeneficiary(apiInsurantInfoDto, policyBizId);
savePolicyBeneficiary(apiBeneficiaryInfoDtoList, policyBizId);
// 同步保存保单第二持有人
savePolicySecondHolder(apiInsurantInfoDto, policyBizId);
savePolicySecondHolder(apiSecondHolderInfoDto, policyBizId);
// 同步问卷信息
savePolicyQuestionnaire(apiInsurantInfoDto, policyBizId);
savePolicyQuestionnaire(appointment.getAppointmentBizId(), policyBizId);
return Result.success();
}
private void savePolicyQuestionnaire(ApiInsurantInfoDto apiInsurantInfoDto, String policyBizId) {
//远程调用-问卷-答题提交接口
ApiAnswerSaveRequest answerSaveRequest = new ApiAnswerSaveRequest();
answerSaveRequest.setObjectBizId(policyBizId);
answerSaveRequest.setQuestionnaireBizId("questionnaires_1001");
apiQuestionnairesFeignClient.answerSave(answerSaveRequest);
private void savePolicyQuestionnaire(String appointmentBizId, String policyBizId) {
// 远程调用-问卷-答题提交接口
// ApiAnswerSaveRequest answerSaveRequest = new ApiAnswerSaveRequest();
// answerSaveRequest.setObjectBizId(policyBizId);
// answerSaveRequest.setQuestionnaireBizId("questionnaires_1001");
// apiQuestionnairesFeignClient.answerSave(answerSaveRequest);
// 查询问卷答案
// Result<ApiAnswerSessionsDto> answerSession = apiQuestionnairesFeignClient.answerSession("questionnaires_1001", appointmentBizId);
}
private void savePolicyAdditional(List<ApiProductPlanAdditionalInfoDto> apiProductPlanAdditionalInfoDtoList, String policyBizId) {
......@@ -526,9 +543,12 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
}
}
private boolean savePolicySecondHolder(ApiInsurantInfoDto apiInsurantInfoDto, String policyBizId) {
private boolean savePolicySecondHolder(ApiSecondHolderInfoDto apiSecondHolderInfoDto, String policyBizId) {
if (apiSecondHolderInfoDto == null) {
return false;
}
PolicySecondHolder policySecondHolder = new PolicySecondHolder();
BeanUtils.copyProperties(apiInsurantInfoDto, policySecondHolder);
BeanUtils.copyProperties(apiSecondHolderInfoDto, policySecondHolder);
policySecondHolder.setId(null);
policySecondHolder.setPolicyBizId(policyBizId);
policySecondHolder.setPolicySecondHolderBizId(RandomStringGenerator.generateBizId16("policy_second_holder"));
......@@ -536,19 +556,35 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
return policySecondHolderService.saveOrUpdate(policySecondHolder);
}
private boolean savePolicyBeneficiary(ApiInsurantInfoDto apiInsurantInfoDto, String policyBizId) {
PolicyBeneficiary policyBeneficiary = new PolicyBeneficiary();
BeanUtils.copyProperties(apiInsurantInfoDto, policyBeneficiary);
policyBeneficiary.setId(null);
policyBeneficiary.setPolicyBizId(policyBizId);
policyBeneficiary.setPolicyBeneficiaryBizId(RandomStringGenerator.generateBizId16("policy_beneficiary"));
private boolean savePolicyBeneficiary(List<ApiBeneficiaryInfoDto> apiBeneficiaryInfoDtoList, String policyBizId) {
if (CollectionUtils.isEmpty(apiBeneficiaryInfoDtoList)) {
return false;
}
List<PolicyBeneficiary> policyBeneficiaryList = new ArrayList<>();
for (ApiBeneficiaryInfoDto apiBeneficiaryInfoDto : apiBeneficiaryInfoDtoList) {
PolicyBeneficiary policyBeneficiary = new PolicyBeneficiary();
BeanUtils.copyProperties(apiBeneficiaryInfoDto, policyBeneficiary, "addressList");
if (!CollectionUtils.isEmpty(apiBeneficiaryInfoDto.getAddressList())) {
policyBeneficiary.setAddressList(GSONUtil.toJson(apiBeneficiaryInfoDto.getAddressList()));
}
policyBeneficiary.setId(null);
policyBeneficiary.setPolicyBizId(policyBizId);
policyBeneficiary.setPolicyBeneficiaryBizId(RandomStringGenerator.generateBizId16("policy_beneficiary"));
return policyBeneficiaryService.saveOrUpdate(policyBeneficiary);
policyBeneficiaryList.add(policyBeneficiary);
}
return policyBeneficiaryService.saveBatch(policyBeneficiaryList);
}
private boolean savePolicyInsurant(ApiInsurantInfoDto apiInsurantInfoDto, String policyBizId) {
if (apiInsurantInfoDto == null) {
return false;
}
PolicyInsurant policyInsurant = new PolicyInsurant();
BeanUtils.copyProperties(apiInsurantInfoDto, policyInsurant);
BeanUtils.copyProperties(apiInsurantInfoDto, policyInsurant, "addressList");
if (!CollectionUtils.isEmpty(apiInsurantInfoDto.getAddressList())) {
policyInsurant.setAddressList(GSONUtil.toJson(apiInsurantInfoDto.getAddressList()));
}
policyInsurant.setId(null);
policyInsurant.setPolicyBizId(policyBizId);
policyInsurant.setPolicyInsurantBizId(RandomStringGenerator.generateBizId16("policy_insurant"));
......@@ -556,9 +592,15 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
return policyInsurantService.saveOrUpdate(policyInsurant);
}
private boolean savePolicyPolicyholder(ApiInsurantInfoDto apiInsurantInfoDto, String policyBizId) {
private boolean savePolicyPolicyholder(ApiPolicyholderInfoDto apiPolicyholderInfoDto, String policyBizId) {
if (apiPolicyholderInfoDto == null) {
return false;
}
PolicyPolicyholder policyPolicyholder = new PolicyPolicyholder();
BeanUtils.copyProperties(apiInsurantInfoDto, policyPolicyholder);
BeanUtils.copyProperties(apiPolicyholderInfoDto, policyPolicyholder, "addressList");
if (!CollectionUtils.isEmpty(apiPolicyholderInfoDto.getAddressList())) {
policyPolicyholder.setAddressList(GSONUtil.toJson(apiPolicyholderInfoDto.getAddressList()));
}
policyPolicyholder.setId(null);
policyPolicyholder.setPolicyBizId(policyBizId);
policyPolicyholder.setPolicyPolicyholderBizId(RandomStringGenerator.generateBizId16("policy_policyholder"));
......@@ -567,6 +609,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
}
private boolean savePolicy(PolicyFollow policyFollow, ApiProductPlanMainInfoDto apiProductPlanMainInfoDto, String policyBizId, String policyTransfer) {
if (policyFollow == null) {
return false;
}
// 同步保存保单(产品计划)
Policy policy = new Policy();
BeanUtils.copyProperties(policyFollow, policy);
......
......@@ -2,11 +2,15 @@ package com.yd.csf.feign.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 地址DTO
*/
@Data
public class AddressDto{
public class AddressDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 地址类型 residenceAddress-居住地址、residentialAddress-住宅地址、mailingAddress-邮寄地址、companyAddress-公司地址
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment