Commit b3d4f640 by zhangxingmin

push

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