Commit b3d4f640 by zhangxingmin

push

parent fbd31c8a
...@@ -1205,6 +1205,10 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia ...@@ -1205,6 +1205,10 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
statusRequest.setUnderwritingDate(request.getUnderwritingDate()); statusRequest.setUnderwritingDate(request.getUnderwritingDate());
statusRequest.setPolicyBizId(policyFollow.getPolicyBizId()); statusRequest.setPolicyBizId(policyFollow.getPolicyBizId());
statusRequest.setStatus("TAKE_EFFECT"); statusRequest.setStatus("TAKE_EFFECT");
//保单截止日期
statusRequest.setPolicyExpirationDate(request.getPolicyExpirationDate());
//冷静期结束日期
statusRequest.setCoolingOffEndDate(request.getCoolingOffEndDate());
//遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表 //遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表
// 通过代理对象调用 // 通过代理对象调用
// getSelf().execute(statusRequest,token); // getSelf().execute(statusRequest,token);
......
...@@ -5,6 +5,7 @@ import lombok.Data; ...@@ -5,6 +5,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date;
/** /**
* 产品计划主信息 * 产品计划主信息
...@@ -18,14 +19,19 @@ public class ApiProductPlanMainInfoDto { ...@@ -18,14 +19,19 @@ public class ApiProductPlanMainInfoDto {
private String planBizId; private String planBizId;
/** /**
* 保险公司ID(产品上架信息绑定的保险公司参数) * 新单跟进信息表唯一业务ID
*/ */
private String companyId; private String policyBizId;
/** /**
* 保险公司名称 * 保险公司
*/ */
private String companyName; private String insuranceCompany;
/**
* 保险公司业务id
*/
private String insuranceCompanyBizId;
/** /**
* 出单经纪公司(对账公司)ID * 出单经纪公司(对账公司)ID
...@@ -122,8 +128,8 @@ public class ApiProductPlanMainInfoDto { ...@@ -122,8 +128,8 @@ public class ApiProductPlanMainInfoDto {
/** /**
* 回溯日期 * 回溯日期
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime backtrackDate; private Date retroactiveDate;
/** /**
* 是否参加递增保障权益: 0-否, 1-是(字典) * 是否参加递增保障权益: 0-否, 1-是(字典)
......
...@@ -60,4 +60,17 @@ public class ApiPremiumReconciliationResultEditRequest { ...@@ -60,4 +60,17 @@ public class ApiPremiumReconciliationResultEditRequest {
*/ */
private String status; private String status;
/**
* 冷静期结束日期
*/
@NotNull(message = "冷静期结束日期不能为空")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date coolingOffEndDate;
/**
* 保单截止日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date policyExpirationDate;
} }
package com.yd.csf.service.dto; package com.yd.csf.service.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -38,4 +40,14 @@ public class ChangePolicyFollowStatusRequest { ...@@ -38,4 +40,14 @@ public class ChangePolicyFollowStatusRequest {
*/ */
@Schema(description = "跟进信息") @Schema(description = "跟进信息")
private String message; private String message;
/**
* 冷静期结束日期
*/
private Date coolingOffEndDate;
/**
* 保单截止日期
*/
private Date policyExpirationDate;
} }
...@@ -10,9 +10,12 @@ import java.math.BigDecimal; ...@@ -10,9 +10,12 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
/** /**
* 保单表 * 保单表
* *
......
...@@ -7,10 +7,14 @@ import com.baomidou.mybatisplus.annotation.TableName; ...@@ -7,10 +7,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
/** /**
* 新单跟进表 * 新单跟进表
* *
...@@ -422,4 +426,5 @@ public class PolicyFollow implements Serializable { ...@@ -422,4 +426,5 @@ public class PolicyFollow implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
...@@ -63,6 +63,8 @@ public interface PolicyFollowService extends IService<PolicyFollow> { ...@@ -63,6 +63,8 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
PolicyFollow queryOneByPolicyNo(String policyNo); PolicyFollow queryOneByPolicyNo(String policyNo);
PolicyFollow queryOneByPolicyBizId(String policyBizId);
/** /**
* 保存首期缴费信息 * 保存首期缴费信息
*/ */
......
...@@ -490,6 +490,10 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -490,6 +490,10 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
.set(PolicyFollow::getStatus, changePolicyFollowStatusRequest.getStatus()) .set(PolicyFollow::getStatus, changePolicyFollowStatusRequest.getStatus())
.set(PolicyFollow::getNextStatusList, getNextStatus(policyFollowStatusEnum)) .set(PolicyFollow::getNextStatusList, getNextStatus(policyFollowStatusEnum))
.set(PolicyFollow::getUpdaterId, loginUserId) .set(PolicyFollow::getUpdaterId, loginUserId)
//冷静期结束日期
.set(PolicyFollow::getCoolingOffEndDate, changePolicyFollowStatusRequest.getCoolingOffEndDate())
//保单截止日期
.set(PolicyFollow::getPolicyExpirationDate, changePolicyFollowStatusRequest.getPolicyExpirationDate())
.eq(PolicyFollow::getId, policyFollow.getId()) .eq(PolicyFollow::getId, policyFollow.getId())
.update(); .update();
...@@ -522,6 +526,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -522,6 +526,8 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
policy.setTotalPaymentPremium(calculateTotalPaymentPremium(policy)); policy.setTotalPaymentPremium(calculateTotalPaymentPremium(policy));
policy.setUnderwritingDate(changePolicyFollowStatusRequest.getUnderwritingDate()); policy.setUnderwritingDate(changePolicyFollowStatusRequest.getUnderwritingDate());
policy.setEffectiveDate(changePolicyFollowStatusRequest.getEffectiveDate()); policy.setEffectiveDate(changePolicyFollowStatusRequest.getEffectiveDate());
//冷静期结束日期
policy.setCoolingOffEndDate(changePolicyFollowStatusRequest.getCoolingOffEndDate());
if (ObjectUtils.isEmpty(policy.getInsuranceCompany()) || ObjectUtils.isEmpty(policy.getInsuranceCompany())) { if (ObjectUtils.isEmpty(policy.getInsuranceCompany()) || ObjectUtils.isEmpty(policy.getInsuranceCompany())) {
// 获取保单产品信息,填充对账公司相关字段 // 获取保单产品信息,填充对账公司相关字段
...@@ -724,6 +730,14 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -724,6 +730,14 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
} }
@Override @Override
public PolicyFollow queryOneByPolicyBizId(String policyBizId) {
return this.getOne(new LambdaQueryWrapper<PolicyFollow>()
.eq(PolicyFollow::getPolicyBizId,policyBizId)
.last(" limit 1 ")
);
}
@Override
public Boolean uploadAttachment(AttachmentUploadRequest attachmentUploadRequest) { public Boolean uploadAttachment(AttachmentUploadRequest attachmentUploadRequest) {
String policyBizId = attachmentUploadRequest.getPolicyBizId(); String policyBizId = attachmentUploadRequest.getPolicyBizId();
if (policyBizId == null) { if (policyBizId == null) {
......
...@@ -16,7 +16,9 @@ import com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto; ...@@ -16,7 +16,9 @@ import com.yd.csf.feign.dto.appointment.ApiProductPlanMainInfoDto;
import com.yd.csf.service.dto.*; import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.Policy; import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyAdditional; import com.yd.csf.service.model.PolicyAdditional;
import com.yd.csf.service.model.PolicyFollow;
import com.yd.csf.service.service.PolicyAdditionalService; import com.yd.csf.service.service.PolicyAdditionalService;
import com.yd.csf.service.service.PolicyFollowService;
import com.yd.csf.service.service.PolicyService; import com.yd.csf.service.service.PolicyService;
import com.yd.csf.service.dao.PolicyMapper; import com.yd.csf.service.dao.PolicyMapper;
import com.yd.csf.service.vo.PolicyVO; import com.yd.csf.service.vo.PolicyVO;
...@@ -50,6 +52,8 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy> ...@@ -50,6 +52,8 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
@Resource @Resource
private PolicyAdditionalService policyAdditionalService; private PolicyAdditionalService policyAdditionalService;
@Resource @Resource
private PolicyFollowService policyFollowService;
@Resource
private ApiRelProjectProductLaunchFeignClient apiRelProjectProductLaunchFeignClient; private ApiRelProjectProductLaunchFeignClient apiRelProjectProductLaunchFeignClient;
@Override @Override
...@@ -102,6 +106,10 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy> ...@@ -102,6 +106,10 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean updatePolicy(PolicyUpdateRequest policyUpdateRequest) { public Boolean updatePolicy(PolicyUpdateRequest policyUpdateRequest) {
ApiProductPlanMainInfoDto apiProductPlanMainInfoDto = policyUpdateRequest.getApiProductPlanMainInfoDto();
if (apiProductPlanMainInfoDto == null) {
throw new BusinessException("产品计划对象不能为空");
}
String policyBizId = policyUpdateRequest.getPolicyBizId(); String policyBizId = policyUpdateRequest.getPolicyBizId();
if (StringUtils.isBlank(policyBizId)) { if (StringUtils.isBlank(policyBizId)) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "policyBizId不能为空"); throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), "policyBizId不能为空");
...@@ -121,37 +129,58 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy> ...@@ -121,37 +129,58 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
Date now = new Date(); Date now = new Date();
// 保单信息 // 保单信息
ApiProductPlanMainInfoDto apiProductPlanMainInfoDto = policyUpdateRequest.getApiProductPlanMainInfoDto(); BeanUtils.copyProperties(apiProductPlanMainInfoDto, policy, "policyBizId", "id");
if (apiProductPlanMainInfoDto != null) { policy.setPaymentPremium(apiProductPlanMainInfoDto.getEachIssuePremium());
BeanUtils.copyProperties(apiProductPlanMainInfoDto, policy, "policyBizId", "id"); policy.setTotalPaymentPremium(calculateTotalPaymentPremium(apiProductPlanMainInfoDto));
policy.setPaymentPremium(apiProductPlanMainInfoDto.getEachIssuePremium()); policy.setIsPrepaid(apiProductPlanMainInfoDto.getIsPrepay());
policy.setTotalPaymentPremium(calculateTotalPaymentPremium(apiProductPlanMainInfoDto)); policy.setUpdateTime(now);
policy.setIsPrepaid(apiProductPlanMainInfoDto.getIsPrepay()); //对账公司名称
policy.setUpdateTime(now); policy.setReconciliationCompany(apiProductPlanMainInfoDto.getReconciliationCompanyName());
// 更新保单 //对账公司业务id
this.updateById(policy); policy.setReconciliationCompanyBizId(apiProductPlanMainInfoDto.getReconciliationCompanyId());
} policy.setProductCate(apiProductPlanMainInfoDto.getInsuranceTypeId());
String policyNo = policy.getPolicyNo(); policy.setPaymentTerm(apiProductPlanMainInfoDto.getIssueNumber());
policy.setCurrency(apiProductPlanMainInfoDto.getPolicyCurrency());
// 先删除旧的附加险 policy.setPaymentPremium(apiProductPlanMainInfoDto.getEachIssuePremium());
policyAdditionalService.remove(new QueryWrapper<PolicyAdditional>().eq("policy_biz_id", policyBizId)); policy.setIsPrepaid(apiProductPlanMainInfoDto.getIsPrepay());
// 保单附加险列表 policy.setPrepaidTerm(apiProductPlanMainInfoDto.getPrepaymentPeriod());
List<ApiProductPlanAdditionalInfoDto> apiProductPlanAdditionalInfoDtoList = policyUpdateRequest.getApiProductPlanAdditionalInfoDtoList(); policy.setIsBacktrack(apiProductPlanMainInfoDto.getIsTraceable());
if (CollUtil.isNotEmpty(apiProductPlanAdditionalInfoDtoList)) { // 更新保单
// 转换为实体类 this.updateById(policy);
List<PolicyAdditional> policyAdditionalList = apiProductPlanAdditionalInfoDtoList.stream().map(additionalDto -> { //更新新单跟进数据
PolicyAdditional policyAdditional = new PolicyAdditional(); PolicyFollow policyFollow = policyFollowService.queryOneByPolicyBizId(policyBizId);
BeanUtils.copyProperties(additionalDto, policyAdditional); if (policyFollow == null) {
throw new BusinessException("新单跟进信息不存在");
policyAdditional.setPolicyBizId(policyBizId);
policyAdditional.setPolicyNo(policyNo);
policyAdditional.setUpdateTime(now);
policyAdditional.setCreateTime(now);
return policyAdditional;
}).collect(Collectors.toList());
// 批量插入
policyAdditionalService.saveBatch(policyAdditionalList);
} }
BeanUtils.copyProperties(apiProductPlanMainInfoDto,policyFollow);
policyFollow.setReconciliationCompanyBizId(apiProductPlanMainInfoDto.getReconciliationCompanyId());
policyFollow.setReconciliationCompany(apiProductPlanMainInfoDto.getReconciliationCompanyName());
policyFollow.setProductCate(apiProductPlanMainInfoDto.getInsuranceTypeName());
policyFollow.setCategoryCode(apiProductPlanMainInfoDto.getInsuranceTypeCode());
policyFollow.setInsuranceCategoryBizId(apiProductPlanMainInfoDto.getInsuranceTypeId());
policyFollow.setProductName(apiProductPlanMainInfoDto.getProductLaunchMainName());
policyFollow.setPrepaidTerm(apiProductPlanMainInfoDto.getIsPrepay());
policyFollow.setRetroactiveDate(apiProductPlanMainInfoDto.getRetroactiveDate());
// // 先删除旧的附加险
// policyAdditionalService.remove(new QueryWrapper<PolicyAdditional>().eq("policy_biz_id", policyBizId));
// // 保单附加险列表
// List<ApiProductPlanAdditionalInfoDto> apiProductPlanAdditionalInfoDtoList = policyUpdateRequest.getApiProductPlanAdditionalInfoDtoList();
// if (CollUtil.isNotEmpty(apiProductPlanAdditionalInfoDtoList)) {
// // 转换为实体类
// List<PolicyAdditional> policyAdditionalList = apiProductPlanAdditionalInfoDtoList.stream().map(additionalDto -> {
// PolicyAdditional policyAdditional = new PolicyAdditional();
// BeanUtils.copyProperties(additionalDto, policyAdditional);
//
// policyAdditional.setPolicyBizId(policyBizId);
// policyAdditional.setPolicyNo(policyNo);
// policyAdditional.setUpdateTime(now);
// policyAdditional.setCreateTime(now);
// return policyAdditional;
// }).collect(Collectors.toList());
// // 批量插入
// policyAdditionalService.saveBatch(policyAdditionalList);
// }
return true; return true;
} }
......
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