Commit 494ad471 by zhangxingmin

确定预约时间提交 (流程流转到新单跟进) - 新增新单跟进记录

parent 7eb1ab12
...@@ -22,9 +22,11 @@ import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse; ...@@ -22,9 +22,11 @@ import com.yd.csf.feign.response.appointment.ApiAppointmentPageResponse;
import com.yd.csf.service.enums.AppointmentStatusEnum; import com.yd.csf.service.enums.AppointmentStatusEnum;
import com.yd.csf.service.model.Appointment; import com.yd.csf.service.model.Appointment;
import com.yd.csf.service.model.Fna; import com.yd.csf.service.model.Fna;
import com.yd.csf.service.model.PolicyFollow;
import com.yd.csf.service.model.ProductPlan; import com.yd.csf.service.model.ProductPlan;
import com.yd.csf.service.service.FnaService; import com.yd.csf.service.service.FnaService;
import com.yd.csf.service.service.IAppointmentService; import com.yd.csf.service.service.IAppointmentService;
import com.yd.csf.service.service.PolicyFollowService;
import com.yd.question.feign.client.ApiQuestionnairesFeignClient; import com.yd.question.feign.client.ApiQuestionnairesFeignClient;
import com.yd.question.feign.request.ApiAnswerSaveRequest; import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest; import com.yd.question.feign.request.ApiObjectSaveRequest;
...@@ -37,6 +39,8 @@ import org.springframework.stereotype.Service; ...@@ -37,6 +39,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.time.ZoneId;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -80,6 +84,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService { ...@@ -80,6 +84,9 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
@Autowired @Autowired
private ApiQuestionnairesFeignClient apiQuestionnairesFeignClient; private ApiQuestionnairesFeignClient apiQuestionnairesFeignClient;
@Autowired
private PolicyFollowService policyFollowService;
/** /**
* 预约分页查询 * 预约分页查询
* @param request * @param request
...@@ -368,6 +375,79 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService { ...@@ -368,6 +375,79 @@ public class ApiAppointmentServiceImpl implements ApiAppointmentService {
//流转到新单跟进(这里的预约状态为待签署) //流转到新单跟进(这里的预约状态为待签署)
appointment.setStatus(AppointmentStatusEnum.DQS.getItemValue()); appointment.setStatus(AppointmentStatusEnum.DQS.getItemValue());
iAppointmentService.saveOrUpdate(appointment); iAppointmentService.saveOrUpdate(appointment);
//确定预约时间提交 (流程流转到新单跟进) - 新增新单跟进记录
savePolicyFollow(appointment);
return Result.success();
}
/**
* 确定预约时间提交 (流程流转到新单跟进) - 新增新单跟进记录
* @return
*/
public Result savePolicyFollow(Appointment appointment) {
Result<ApiAppointmentDetailResponse> result = detail(appointment.getAppointmentBizId());
ApiAppointmentDetailResponse response = result.getData();
ApiProductPlanMainInfoDto apiProductPlanMainInfoDto = null;
ApiInsurantInfoDto apiInsurantInfoDto = null;
if (!Objects.isNull(response)
&& !Objects.isNull(response.getApiProductPlanInfoDto())
&& !Objects.isNull(response.getApiProductPlanInfoDto().getApiProductPlanMainInfoDto())){
apiProductPlanMainInfoDto = response.getApiProductPlanInfoDto().getApiProductPlanMainInfoDto();
}
if (!Objects.isNull(response)
&& !Objects.isNull(response.getApiInsurantInfoDto())){
apiInsurantInfoDto = response.getApiInsurantInfoDto();
}
PolicyFollow follow = new PolicyFollow();
//新单跟进唯一业务ID
follow.setPolicyBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_POLICY.getCode()));
follow.setAppointmentBizId(appointment.getAppointmentBizId());
follow.setAppointmentNo(appointment.getAppointmentNo());
//客户信息表唯一业务ID
follow.setCustomerBizId(appointment.getCustomerBizId());
//TODO 保险公司业务id
// follow.setInsurerBizId();
//TODO 期交保费
// follow.setPaymentPremium();
//TODO 保單持有人
// follow.setPolicyHolder();
//TODO 预缴年期
// follow.setPrepaidTerm();
//TODO 产品类别
// follow.setProductCate();
//TODO 对账公司
// follow.setReconciliationCompany();
//TODO 对账公司业务id
// follow.setReconciliationCompanyBizId();
//TODO 续保日期
// follow.setRenewalDate();
//TODO 用户业务员id
// follow.setUserBizId();
if (!Objects.isNull(apiInsurantInfoDto)) {
//受保人
follow.setInsured(apiInsurantInfoDto.getName());
}
if (!Objects.isNull(apiProductPlanMainInfoDto)) {
//币种
follow.setCurrency(apiProductPlanMainInfoDto.getCurrency());
//生效日期
follow.setEffectiveDate(Date.from(apiProductPlanMainInfoDto.getPolicyEffectiveDate().atZone(ZoneId.systemDefault()).toInstant()));
//首期保费(不含徽费,预缴保费)每期保费
follow.setInitialPremium(apiProductPlanMainInfoDto.getEachIssuePremium());
//保险公司
follow.setInsurer(apiProductPlanMainInfoDto.getCompanyName());
//是否预缴
follow.setIsPrepaid(apiProductPlanMainInfoDto.getIsPrepay());
//供款年期
follow.setPaymentTerm(Integer.getInteger(apiProductPlanMainInfoDto.getPaymentTerm()));
//产品名称
follow.setProductName(apiProductPlanMainInfoDto.getProductName());
}
policyFollowService.saveOrUpdate(follow);
return Result.success(); return Result.success();
} }
......
...@@ -34,6 +34,16 @@ public class PolicyFollow implements Serializable { ...@@ -34,6 +34,16 @@ public class PolicyFollow implements Serializable {
private String policyNo; private String policyNo;
/** /**
* 预约信息主表唯一业务ID
*/
private String appointmentBizId;
/**
* 预约编号
*/
private String appointmentNo;
/**
* 用户业务id * 用户业务id
*/ */
private String userBizId; private String userBizId;
......
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