Commit bce5e755 by jianan

Merge branch 'refs/heads/test_zjn' into test

parents 8c94081a 56cca1a2
...@@ -480,12 +480,12 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService ...@@ -480,12 +480,12 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
log.info("结算汇率:{}", exchangeRate); log.info("结算汇率:{}", exchangeRate);
for (ExpectedFortune expectedFortune : expectedFortuneList) { for (ExpectedFortune expectedFortune : expectedFortuneList) {
//设置结算货币 //设置保单币种
expectedFortune.setCurrency(currency); expectedFortune.setRuleCurrency(currency);
//设置默认结算汇率 //设置默认保单币种 -> 港币汇率
expectedFortune.setDefaultExchangeRate(exchangeRate); expectedFortune.setDefaultExchangeRate(exchangeRate);
//设置港币金额(标准发佣金额 * 默认结算汇率) //设置港币金额(标准发佣金额 * 默认保单币种 -> 港币汇率)
expectedFortune.setHkdAmount(expectedFortune.getAmount().multiply(exchangeRate)); expectedFortune.setHkdAmount(expectedFortune.getRuleAmount().multiply(exchangeRate));
//默认值 //默认值
expectedFortune.setPaidAmount(BigDecimal.ZERO); expectedFortune.setPaidAmount(BigDecimal.ZERO);
expectedFortune.setPaidRatio(BigDecimal.ZERO); expectedFortune.setPaidRatio(BigDecimal.ZERO);
...@@ -865,15 +865,15 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService ...@@ -865,15 +865,15 @@ public class ApiExpectedFortuneServiceImpl implements ApiExpectedFortuneService
// 计算实际预计发佣金额 = 标准发佣金额 × decimalRatio // 计算实际预计发佣金额 = 标准发佣金额 × decimalRatio
BigDecimal actualAmount = standardAmount.multiply(decimalRatio); BigDecimal actualAmount = standardAmount.multiply(decimalRatio);
fortune.setAmount(actualAmount); fortune.setRuleAmount(actualAmount);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
// 如果比例不是有效的数字,使用标准金额 // 如果比例不是有效的数字,使用标准金额
fortune.setAmount(standardAmount); fortune.setRuleAmount(standardAmount);
} catch (Exception e) { } catch (Exception e) {
// 其他异常处理 // 其他异常处理
log.error("计算发佣金额异常: {}", brokerRatioStr, e); log.error("计算发佣金额异常: {}", brokerRatioStr, e);
fortune.setAmount(standardAmount); fortune.setRuleAmount(standardAmount);
} }
fortuneList.add(fortune); fortuneList.add(fortune);
......
...@@ -10,9 +10,63 @@ public class EditExchangeRateRequest { ...@@ -10,9 +10,63 @@ public class EditExchangeRateRequest {
@Schema(description = "fortuneBizId", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "fortuneBizId", requiredMode = Schema.RequiredMode.REQUIRED)
private String fortuneBizId; private String fortuneBizId;
@Schema(description = "结算汇率", requiredMode = Schema.RequiredMode.REQUIRED) /**
* 保单币种金额
*/
@Schema(description = "保单币种金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal ruleAmount;
/**
* 保单币种
*/
@Schema(description = "保单币种", requiredMode = Schema.RequiredMode.REQUIRED)
private String ruleCurrency;
/**
* 保单币种→港币汇率(入账检核汇率)
*/
@Schema(description = "保单币种→港币汇率(入账检核汇率)", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal exchangeRate; private BigDecimal exchangeRate;
@Schema(description = "港币出账金额", requiredMode = Schema.RequiredMode.REQUIRED) /**
* 原币种
*/
@Schema(description = "原币种", requiredMode = Schema.RequiredMode.REQUIRED)
private String originalCurrency;
/**
* 原币种金额
*/
@Schema(description = "原币种金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal originalAmount;
/**
* 原币种→港币汇率
*/
@Schema(description = "原币种→港币汇率", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal originalToHkdRate;
/**
* 发放币种
*/
@Schema(description = "发放币种", requiredMode = Schema.RequiredMode.REQUIRED)
private String payoutCurrency;
/**
* 发放币种金额
*/
@Schema(description = "发放币种金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal payoutAmount;
/**
* 港币→发放币种汇率
*/
@Schema(description = "港币→发放币种汇率", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal hkdToPayoutRate;
/**
* 港币金额
*/
@Schema(description = "港币金额", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal hkdAmount; private BigDecimal hkdAmount;
} }
...@@ -131,6 +131,12 @@ public class FortuneAddRequest implements Serializable { ...@@ -131,6 +131,12 @@ public class FortuneAddRequest implements Serializable {
private BigDecimal payoutAmount; private BigDecimal payoutAmount;
/** /**
* 港币→发放币种汇率
*/
@Schema(description = "港币→发放币种汇率", requiredMode = Schema.RequiredMode.REQUIRED)
private BigDecimal hkdToPayoutRate;
/**
* 港币金额 * 港币金额
*/ */
@Schema(description = "港币金额", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "港币金额", requiredMode = Schema.RequiredMode.REQUIRED)
......
...@@ -154,14 +154,14 @@ public class ExpectedFortune implements Serializable { ...@@ -154,14 +154,14 @@ public class ExpectedFortune implements Serializable {
/** /**
* 保单币种金额(保单币种金额 = 标准发佣金额 * 转介人介绍费占比) * 保单币种金额(保单币种金额 = 标准发佣金额 * 转介人介绍费占比)
*/ */
@TableField("amount") @TableField("rule_amount")
private BigDecimal amount; private BigDecimal ruleAmount;
/** /**
* 保单币种 * 保单币种
*/ */
@TableField("currency") @TableField("rule_currency")
private String currency; private String ruleCurrency;
/** /**
* 出账状态 0=待出账 1=可出帐 2=可出帐,待检核 3=部分出账 4=保留 5=已失效 6=可出账, 已检核 7=未找到当前预计发佣对应的来佣 字典值: csf_expected_fortune_status * 出账状态 0=待出账 1=可出帐 2=可出帐,待检核 3=部分出账 4=保留 5=已失效 6=可出账, 已检核 7=未找到当前预计发佣对应的来佣 字典值: csf_expected_fortune_status
......
...@@ -168,6 +168,11 @@ public class Fortune { ...@@ -168,6 +168,11 @@ public class Fortune {
private BigDecimal payoutAmount; private BigDecimal payoutAmount;
/** /**
* 港币→发放币种汇率
*/
private BigDecimal hkdToPayoutRate;
/**
* 港币金额 * 港币金额
*/ */
private BigDecimal hkdAmount; private BigDecimal hkdAmount;
......
...@@ -642,11 +642,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -642,11 +642,8 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
} }
// 2.3 校验预计发佣记录是否有出账币种、默认结算汇率 // 2.3 校验预计发佣记录是否有出账币种、默认结算汇率
for (ExpectedFortune expectedFortune : filteredExpectedFortuneList2) { for (ExpectedFortune expectedFortune : filteredExpectedFortuneList2) {
if (StringUtils.isBlank(expectedFortune.getCurrency())) { if (StringUtils.isBlank(expectedFortune.getRuleCurrency())) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计发佣记录" + expectedFortune.getExpectedFortuneBizId() + "未配置出账币种"); throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计发佣记录" + expectedFortune.getExpectedFortuneBizId() + "未配置保单币种");
}
if (expectedFortune.getDefaultExchangeRate() == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "预计发佣记录" + expectedFortune.getExpectedFortuneBizId() + "未配置默认结算汇率");
} }
} }
...@@ -700,7 +697,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -700,7 +697,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
fortune.setFortuneBizType("R"); fortune.setFortuneBizType("R");
fortune.setExchangeRate(expectedFortune.getDefaultExchangeRate()); fortune.setExchangeRate(expectedFortune.getDefaultExchangeRate());
fortune.setCurrentPaymentAmount(expectedFortune.getAmount()); fortune.setCurrentPaymentAmount(expectedFortune.getOriginalAmount());
fortune.setCurrentPaymentHkdAmount(expectedFortune.getHkdAmount()); fortune.setCurrentPaymentHkdAmount(expectedFortune.getHkdAmount());
fortune.setExpectedFortuneBizId(expectedFortune.getExpectedFortuneBizId()); fortune.setExpectedFortuneBizId(expectedFortune.getExpectedFortuneBizId());
fortune.setStatus(FortuneStatusEnum.CAN_SEND.getItemValue()); fortune.setStatus(FortuneStatusEnum.CAN_SEND.getItemValue());
......
...@@ -141,7 +141,7 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe ...@@ -141,7 +141,7 @@ public class ExpectedFortuneServiceImpl extends ServiceImpl<ExpectedFortuneMappe
ApiExpectedFortunePageResponse vo = new ApiExpectedFortunePageResponse(); ApiExpectedFortunePageResponse vo = new ApiExpectedFortunePageResponse();
BeanUtils.copyProperties(ef, vo); BeanUtils.copyProperties(ef, vo);
vo.setCurrencyName(CurrencyEnum.toLabel(ef.getCurrency())); vo.setCurrencyName("港币");
String ratio = finalBrokerRatioMap.get(ef.getBrokerBizId()); String ratio = finalBrokerRatioMap.get(ef.getBrokerBizId());
vo.setCommissionRatio(ratio); vo.setCommissionRatio(ratio);
......
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