Commit 2838fc25 by zhangxingmin

Merge remote-tracking branch 'origin/test' into test

parents 1d594825 3ade94de
......@@ -322,7 +322,10 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
List<ExpectedFortune> expectedFortuneList = updatePayableNoBatch(policyNo);
//默认结算汇率、港币金额
if (ObjectUtils.isNotEmpty(queryPolicyAndBrokerDtoList)) {
if (CollUtil.isNotEmpty(queryPolicyAndBrokerDtoList)) {
log.info("queryPolicyAndBrokerDtoList: {}", queryPolicyAndBrokerDtoList);
QueryPolicyAndBrokerDto queryPolicyAndBrokerDto = queryPolicyAndBrokerDtoList.get(0);
updateHkdAmountBatch(expectedFortuneList, queryPolicyAndBrokerDto);
}
......@@ -355,49 +358,49 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
}
private void updateHkdAmountBatch(List<ExpectedFortune> expectedFortuneList, QueryPolicyAndBrokerDto queryPolicyAndBrokerDto) {
if (ObjectUtils.isNotEmpty(expectedFortuneList)) {
//查询转介人职级比例
//查询结算币种
ApiAnnouncementCommissionRatioListRequest request = new ApiAnnouncementCommissionRatioListRequest();
request.setProductLaunchBizId(queryPolicyAndBrokerDto.getPlanBizId());
//localDate转换为Date
request.setEffectiveDate(Date.from(queryPolicyAndBrokerDto.getEffectiveDate().atStartOfDay(ZoneId.systemDefault()).toInstant()));
request.setPaymentTerm(String.valueOf(queryPolicyAndBrokerDto.getPaymentTerm()));
Result<List<ApiAnnouncementCommissionRatioListResponse>> result = apiAnnouncementCommissionRatioFeignClient.list(request);
if (result.getCode() == 200 && ObjectUtils.isNotEmpty(result.getData())) {
List<ApiAnnouncementCommissionRatioListResponse> announcementRatioList = result.getData();
//查询默认结算汇率
if (ObjectUtils.isNotEmpty(announcementRatioList)) {
ApiAnnouncementCommissionRatioListResponse announcementRatio = announcementRatioList.get(0);
String currency = announcementRatio.getCurrency();
BigDecimal exchangeRate = queryExchangeRateByFeign(queryPolicyAndBrokerDto.getCurrency(), currency);
for (ExpectedFortune expectedFortune : expectedFortuneList) {
//设置结算货币
expectedFortune.setCurrency(currency);
//设置默认结算汇率
expectedFortune.setDefaultExchangeRate(exchangeRate);
//设置港币金额(标准发佣金额 * 默认结算汇率)
expectedFortune.setHkdAmount(expectedFortune.getAmount().multiply(exchangeRate));
//设置转介人职级比例
iExpectedFortuneService.lambdaUpdate()
.set(ExpectedFortune::getCurrency, currency)
.set(ExpectedFortune::getDefaultExchangeRate, exchangeRate)
.set(ExpectedFortune::getHkdAmount, expectedFortune.getHkdAmount())
.eq(ExpectedFortune::getId, expectedFortune.getId());
}
} else {
log.error("查询结算币种失败,未查询到默认结算汇率->入参request:{},出参result:{}", JSON.toJSONString(request), JSON.toJSONString(result));
//查询转介人职级比例
//查询结算币种
ApiAnnouncementCommissionRatioListRequest request = new ApiAnnouncementCommissionRatioListRequest();
request.setProductLaunchBizId(queryPolicyAndBrokerDto.getPlanBizId());
//localDate转换为Date
request.setEffectiveDate(Date.from(queryPolicyAndBrokerDto.getEffectiveDate().atStartOfDay(ZoneId.systemDefault()).toInstant()));
request.setPaymentTerm(String.valueOf(queryPolicyAndBrokerDto.getPaymentTerm()));
Result<List<ApiAnnouncementCommissionRatioListResponse>> result = apiAnnouncementCommissionRatioFeignClient.list(request);
log.info("查询结算币种->入参request:{},出参result:{}", JSON.toJSONString(request), JSON.toJSONString(result));
if (result.getCode() == 200 && ObjectUtils.isNotEmpty(result.getData())) {
List<ApiAnnouncementCommissionRatioListResponse> announcementRatioList = result.getData();
//查询默认结算汇率
if (CollUtil.isNotEmpty(announcementRatioList)) {
ApiAnnouncementCommissionRatioListResponse announcementRatio = announcementRatioList.get(0);
String currency = announcementRatio.getCurrency();
BigDecimal exchangeRate = queryExchangeRateByFeign(queryPolicyAndBrokerDto.getCurrency(), currency);
for (ExpectedFortune expectedFortune : expectedFortuneList) {
//设置结算货币
expectedFortune.setCurrency(currency);
//设置默认结算汇率
expectedFortune.setDefaultExchangeRate(exchangeRate);
//设置港币金额(标准发佣金额 * 默认结算汇率)
expectedFortune.setHkdAmount(expectedFortune.getAmount().multiply(exchangeRate));
//设置转介人职级比例
iExpectedFortuneService.lambdaUpdate()
.set(ExpectedFortune::getCurrency, currency)
.set(ExpectedFortune::getDefaultExchangeRate, exchangeRate)
.set(ExpectedFortune::getHkdAmount, expectedFortune.getHkdAmount())
.eq(ExpectedFortune::getId, expectedFortune.getId());
}
} else {
log.error("查询结算币种失败,入参request:{},出参result:{}", JSON.toJSONString(request), JSON.toJSONString(result));
log.error("查询结算币种失败,未查询到默认结算汇率->入参request:{},出参result:{}", JSON.toJSONString(request), JSON.toJSONString(result));
}
} else {
log.error("查询结算币种失败,入参request:{},出参result:{}", JSON.toJSONString(request), JSON.toJSONString(result));
}
}
@Override
......@@ -447,7 +450,17 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
}
}
//批量设置应付款编号
updatePayableNoBatch(policyNo);
List<ExpectedFortune> expectedFortuneList = updatePayableNoBatch(policyNo);
//默认结算汇率、港币金额
if (ObjectUtils.isNotEmpty(queryPolicyAndBrokerDtoList)) {
log.info("------------------------开始计算默认结算汇率、港币金额----------------------");
QueryPolicyAndBrokerDto queryPolicyAndBrokerDto = queryPolicyAndBrokerDtoList.get(0);
updateHkdAmountBatch(expectedFortuneList, queryPolicyAndBrokerDto);
}
//执行成功完毕,也要销毁redis缓存
redisUtil.deleteObject(RedisConstants.EXPECTED_FORTUNE + policyNo);
......
......@@ -81,7 +81,7 @@ public class PolicyVO {
* 供款年期
*/
@Schema(description = "供款年期")
private Integer paymentTerm;
private Object paymentTerm;
/**
* 期交保费
......
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