Commit f6b356d9 by zhangxingmin

push

parent d00b320f
......@@ -106,6 +106,8 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
private ApiAnnouncementCommissionRatioFeignClient apiAnnouncementCommissionRatioFeignClient;
@Resource
private FeignResultHelper feignResultHelper;
@Resource
private ApiAnnouncementCommissionRatioFeignClient ratioFeignClient;
/**
* 生成预计发佣
......@@ -230,8 +232,22 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
throw new BusinessException("查询产品发佣配置,获取结算币种失败," + e.getMessage());
}
Integer paymentTerm = 0;
PolicyFollow policyFollow = policyFollowService.queryOneByPolicyNo(request.getPolicyNo());
if (policyFollow != null) {
ApiAnnouncementCommissionRatioListRequest ratioListRequest = new ApiAnnouncementCommissionRatioListRequest();
ratioListRequest.setEffectiveDate(policyFollow.getEffectiveDate());
ratioListRequest.setPaymentTerm(policyFollow.getIssueNumber().toString());
ratioListRequest.setProductLaunchBizId(policyFollow.getProductLaunchBizId());
Result<List<ApiAnnouncementCommissionRatioListResponse>> listResult = ratioFeignClient.list(ratioListRequest);
if (listResult != null && !CollectionUtils.isEmpty(listResult.getData())) {
paymentTerm = listResult.getData().size();
}
}
//遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表(同步执行)
executeSync(queryPolicyAndBrokerDtoList, request.getPolicyNo(), announcementRatioList);
executeSync(queryPolicyAndBrokerDtoList, request.getPolicyNo(), announcementRatioList,paymentTerm);
return Result.success(null, "生成预计发佣成功");
}
......@@ -430,15 +446,16 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
* @return
*/
public Result executeSync(List<QueryPolicyAndBrokerDto> queryPolicyAndBrokerDtoList,
String policyNo, List<ApiAnnouncementCommissionRatioListResponse> announcementRatioList) {
String policyNo, List<ApiAnnouncementCommissionRatioListResponse> announcementRatioList,Integer paymentTerm) {
log.info("同步处理-> 遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表->入参queryPolicyAndBrokerDtoList:{}",JSON.toJSONString(queryPolicyAndBrokerDtoList));
log.info("同步处理-> 遍历保单转介人列表信息 -> 调用基本法算出预计发佣列表->入参policyNo:{}",policyNo);
// 使用编程式事务,确保方法内的事务一致性
return transactionTemplate.execute(status -> {
try {
for (QueryPolicyAndBrokerDto brokerDto : queryPolicyAndBrokerDtoList) {
Integer paymentTerm = brokerDto.getPaymentTerm();
if (Objects.isNull(paymentTerm)) {
// Integer paymentTerm = brokerDto.getPaymentTerm();
if (paymentTerm == null || paymentTerm == 0) {
throw new BusinessException("保单的供款年期不存在");
}
......
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