Commit fd2a8295 by jianan

新单跟进v2

parent be002ba6
......@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
/**
* policy接口
......
......@@ -2,6 +2,7 @@ package com.yd.csf.api.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.common.constant.CodeGeneratorConstants;
......@@ -32,6 +33,7 @@ import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiBatchSaveAnswerRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -132,6 +134,10 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
private IProductPlanService iProductPlanService;
@Resource
private CustomerService customerService;
@Resource
private FnaFormService fnaFormService;
@Resource
private PolicyBrokerService policyBrokerService;
/**
* 预约分页查询
......@@ -744,6 +750,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
// 同步保存保单产品计划附加险
savePolicyAdditional(apiProductPlanAdditionalInfoDtoList, policyBizId);
// 同步转介人
savePolicyBroker(appointment.getFnaBizId(), policyBizId);
// // 同步保存保单(产品计划)
// savePolicy(productPlan, apiPolicyholderInfoDto, apiInsurantInfoDto, apiProductPlanMainInfoDto, policyBizId, policyTransfer);
// // 同步保存保单投保人
......@@ -760,6 +769,30 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
return Result.success();
}
private void savePolicyBroker(String fnaBizId, String policyBizId) {
FnaForm fnaForm = fnaFormService.getByFnaFormBizId(fnaBizId);
if (Objects.isNull(fnaForm)) {
return;
}
// 转介人
if (ObjectUtils.isNotEmpty(fnaForm.getBrokerList())) {
List<PolicyBroker> brokerList = GSONUtil.fromJson((String) fnaForm.getBrokerList(), new TypeToken<List<PolicyBroker>>() {
}.getType());
if (ObjectUtils.isNotEmpty(brokerList)) {
if (brokerList.get(0) != null && !Objects.isNull(brokerList.get(0).getPolicyBizId())) {
// 先删除旧的转介人
policyBrokerService.removeByPolicyBizId(brokerList.get(0).getPolicyBizId());
}
brokerList.forEach(broker -> {
broker.setPolicyBizId(policyBizId);
});
// 保存新的转介人
policyBrokerService.saveOrUpdateBatch(brokerList);
}
}
}
private void setSignerList(PolicyFollow follow, Appointment appointment) {
List<PolicySigner> signerList = new ArrayList<>();
......
......@@ -16,4 +16,6 @@ public interface PolicyBrokerService extends IService<PolicyBroker> {
List<PolicyBroker> queryList(QueryPolicyBrokerDto dto);
PolicyBroker queryOne(QueryPolicyBrokerDto dto);
void removeByPolicyBizId(String policyBizId);
}
......@@ -42,6 +42,13 @@ public class PolicyBrokerServiceImpl extends ServiceImpl<PolicyBrokerMapper, Pol
.last("limit 1")
);
}
@Override
public void removeByPolicyBizId(String policyBizId) {
baseMapper.delete(new LambdaQueryWrapper<PolicyBroker>()
.eq(PolicyBroker::getPolicyBizId, policyBizId)
);
}
}
......
......@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.auth.core.dto.AuthUserDto;
......@@ -410,10 +411,22 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
throw new BusinessException("保单号 " + policyFollow.getPolicyNo() + " 已存在,请勿重复添加");
}
}
// 更新转介人
updatePolicyBrokerPolicyNo(policyBizId, policyFollow.getPolicyNo());
}
return true;
}
private void updatePolicyBrokerPolicyNo(String policyBizId, String policyNo) {
// 更新转介人保单号
policyBrokerService.update(
new UpdateWrapper<PolicyBroker>()
.set("policy_no", policyNo)
.eq("policy_biz_id", policyBizId)
.eq("is_deleted", 0)
);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean changePolicyFollowStatus(ChangePolicyFollowStatusRequest changePolicyFollowStatusRequest, PolicyFollow policyFollow) {
......@@ -531,6 +544,9 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
throw new BusinessException("保单号 " + policy.getPolicyNo() + " 已存在,请勿重复添加");
}
// 更新转介人保单号
updatePolicyBrokerPolicyNo(policyBizId, policy.getPolicyNo());
// 根据保单生成预计入账记录
generateExpectedCommission(policyFollow, policy);
}
......
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