Commit ec835c56 by jianan

设置本次出账金额

parent e302bdb7
...@@ -2,7 +2,6 @@ package com.yd.csf.service.service.impl; ...@@ -2,7 +2,6 @@ package com.yd.csf.service.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.NumberUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -12,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -12,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
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.base.feign.client.exchangerate.ApiExchangeRateFeignClient;
import com.yd.common.constant.RedisConstants; import com.yd.common.constant.RedisConstants;
import com.yd.common.enums.CommonEnum; import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode; import com.yd.common.enums.ResultCode;
...@@ -69,6 +69,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -69,6 +69,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
private ApiSysDictFeignClient apiSysDictFeignClient; private ApiSysDictFeignClient apiSysDictFeignClient;
@Resource @Resource
private RedisUtil redisUtil; private RedisUtil redisUtil;
@Resource
private ApiExchangeRateFeignClient apiExchangeRateFeignClient;
@Override @Override
public Wrapper<Fortune> getQueryWrapper(FortuneQueryRequest fortuneQueryRequest) { public Wrapper<Fortune> getQueryWrapper(FortuneQueryRequest fortuneQueryRequest) {
...@@ -187,15 +189,6 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -187,15 +189,6 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "出账港币金额不能大于应付款港币金额"); throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "出账港币金额不能大于应付款港币金额");
} }
} }
// 更新结算汇率
BigDecimal exchangeRate = ObjectUtils.isNotEmpty((fortuneUpdateRequest.getExchangeRate()))
? fortuneUpdateRequest.getExchangeRate()
: queryDefaultExchangeRate(fortuneUpdateRequest.getCurrency());
fortune.setExchangeRate(exchangeRate);
if (ObjectUtils.isEmpty(fortune.getHkdAmount())) {
fortune.setHkdAmount(fortune.getAmount().multiply(exchangeRate));
}
// 获取当前登录用户 // 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser(); AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
...@@ -244,20 +237,20 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -244,20 +237,20 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
// expectedFortuneService.updateById(expectedFortune); // expectedFortuneService.updateById(expectedFortune);
} }
private BigDecimal queryDefaultExchangeRate(String currency) { /**
if (StringUtils.isBlank(currency)) { * 保单币种对预计来佣的结算币种的默认汇率
* @param policyCurrency 保单币种
* @param currency 预计来佣的结算币种
* @return 汇率
*/
private BigDecimal queryExchangeRateByFeign(String policyCurrency, String currency) {
if (policyCurrency.equalsIgnoreCase(currency)) {
return BigDecimal.ONE; return BigDecimal.ONE;
} }
if ("HKD".equalsIgnoreCase(currency)) { // 调用Feign客户端查询汇率
return BigDecimal.valueOf(1); Result<BigDecimal> result = apiExchangeRateFeignClient.getExchangeRate(policyCurrency, currency, "");
} if (result != null && result.getData() != null) {
Result<List<GetDictItemListByDictTypeResponse>> result = apiSysDictFeignClient.getDictItemListByDictType("csf_exchange_rate_hkd"); return result.getData();
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(result.getData())) {
for (GetDictItemListByDictTypeResponse dictItem : result.getData()) {
if (StringUtils.equalsIgnoreCase(dictItem.getItemLabel(), currency)) {
return new BigDecimal(dictItem.getItemValue());
}
}
} }
return BigDecimal.ONE; return BigDecimal.ONE;
} }
...@@ -543,8 +536,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -543,8 +536,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount()); fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount());
fortune.setPayoutDate(expectedFortune.getPayoutDate()); fortune.setPayoutDate(expectedFortune.getPayoutDate());
} else { } else {
fortune.setExchangeRate(queryDefaultExchangeRate(fortuneAddRequest.getCurrency())); fortune.setExchangeRate(BigDecimal.ONE);
fortune.setHkdAmount(fortuneAddRequest.getAmount().multiply(fortune.getExchangeRate())); fortune.setHkdAmount(fortuneAddRequest.getAmount());
fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount()); fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount());
} }
...@@ -755,8 +748,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -755,8 +748,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setRemark("未找到当前预计发佣对应的来佣"); fortune.setRemark("未找到当前预计发佣对应的来佣");
} }
} else { } else {
fortune.setExchangeRate(queryDefaultExchangeRate(fortuneAddRequest.getCurrency())); fortune.setExchangeRate(BigDecimal.ONE);
fortune.setHkdAmount(fortuneAddRequest.getAmount().multiply(fortune.getExchangeRate())); fortune.setHkdAmount(fortuneAddRequest.getAmount());
fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount()); fortune.setCurrentPaymentHkdAmount(fortune.getHkdAmount());
} }
......
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