Commit fd2a8295 by jianan

新单跟进v2

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