Commit e2ed72d4 by jianan

出账检核-修改结算汇率2

parent 88bdc465
...@@ -464,6 +464,9 @@ public class ApiFortuneController { ...@@ -464,6 +464,9 @@ public class ApiFortuneController {
if (editExchangeRateRequest.getExchangeRate() == null) { if (editExchangeRateRequest.getExchangeRate() == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "exchangeRate 不能为空"); return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "exchangeRate 不能为空");
} }
if (editExchangeRateRequest.getHkdAmount() == null) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), "hkdAmount 不能为空");
}
return Result.success(fortuneService.editExchangeRate(editExchangeRateRequest)); return Result.success(fortuneService.editExchangeRate(editExchangeRateRequest));
} }
......
...@@ -193,6 +193,24 @@ public class ExpectedFortune implements Serializable { ...@@ -193,6 +193,24 @@ public class ExpectedFortune implements Serializable {
private BigDecimal defaultExchangeRate; private BigDecimal defaultExchangeRate;
/** /**
* 出账原币种金额
*/
@TableField("payout_amount")
private BigDecimal payoutAmount;
/**
* 出账原币种
*/
@TableField("payout_currency")
private String payoutCurrency;
/**
* 出账原币种结算汇率(出账原币种 → 港币的结算汇率)
*/
@TableField("payout_exchange_rate")
private BigDecimal payoutExchangeRate;
/**
* 港币预计出账金额 * 港币预计出账金额
*/ */
@TableField("hkd_amount") @TableField("hkd_amount")
......
...@@ -1031,7 +1031,41 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -1031,7 +1031,41 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
@Override @Override
public Boolean editExchangeRate(EditExchangeRateRequest editExchangeRateRequest) { public Boolean editExchangeRate(EditExchangeRateRequest editExchangeRateRequest) {
return null; String fortuneBizId = editExchangeRateRequest.getFortuneBizId();
Fortune fortune = this.getByFortuneBizId(fortuneBizId);
if (fortune == null) {
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "出账记录不存在");
}
if (FortuneStatusEnum.SENT.getItemValue().equals(fortune.getStatus())) {
throw new BusinessException(ResultCode.PARAM_CHECK_ERROR.getCode(), "已完成出账状态的记录不能修改结算汇率");
}
ExpectedFortune originalExpectedFortune = expectedFortuneService.getByBizId(fortune.getExpectedFortuneBizId());
if (originalExpectedFortune == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "对应的预计出账记录不存在");
}
// 获取入参
BigDecimal exchangeRate = editExchangeRateRequest.getExchangeRate();
BigDecimal hkdAmount = editExchangeRateRequest.getHkdAmount();
// 更新 fortune 的结算汇率、港币金额
this.lambdaUpdate()
.set(Fortune::getExchangeRate, exchangeRate)
.set(Fortune::getHkdAmount, hkdAmount)
.eq(Fortune::getId, fortune.getId())
.update();
// 更新 expected fortune 的出账原币种结算汇率、港币金额
expectedFortuneService.lambdaUpdate()
.set(ExpectedFortune::getPayoutExchangeRate, exchangeRate)
.set(ExpectedFortune::getHkdAmount, hkdAmount)
.set(ExpectedFortune::getUnpaidAmount, hkdAmount)
.eq(ExpectedFortune::getId, originalExpectedFortune.getId())
.update();
return true;
} }
private void validSplitFortune(FortuneSplitRequest fortuneSplitRequest) { private void validSplitFortune(FortuneSplitRequest fortuneSplitRequest) {
......
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