Commit 7186c852 by jianan

前端对接问题修复76

parent a6da7617
...@@ -16,6 +16,9 @@ public class CommissionUpdateRequest implements Serializable { ...@@ -16,6 +16,9 @@ public class CommissionUpdateRequest implements Serializable {
@Schema(description = "保单入账业务id", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "保单入账业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionBizId; private String commissionBizId;
@Schema(description = "应收款类型 R=关联保单应收单 U=非关联保单应收单", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionBizType;
/** /**
* 入账检核年月 yyyy-MM * 入账检核年月 yyyy-MM
*/ */
......
...@@ -298,14 +298,30 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -298,14 +298,30 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
} }
} }
BigDecimal amount = commission.getAmount(); BigDecimal amount;
BigDecimal requestAmount = commissionUpdateRequest.getAmount(); BigDecimal requestAmount = commissionUpdateRequest.getAmount();
if ("R".equals(commissionUpdateRequest.getCommissionBizType())) {
amount = commission.getAmount();
// 计算当前来佣比例 // 关联应收单,计算当前来佣比例
BigDecimal currentCommissionRatio = this.calculateCurrentCommissionRatio( BigDecimal currentCommissionRatio = this.calculateCurrentCommissionRatio(
commission.getPremium(), commission.getPremium(),
requestAmount, requestAmount,
commissionUpdateRequest.getExchangeRate()); commissionUpdateRequest.getExchangeRate());
commission.setCurrentCommissionRatio(currentCommissionRatio);
} else {
// 非关联应收单,查询预计来佣记录,获取标准发佣金额
CommissionExpected commissionExpected = commissionExpectedService.lambdaQuery()
.eq(CommissionExpected::getPolicyNo, commission.getPolicyNo())
.eq(CommissionExpected::getCommissionPeriod, commission.getCommissionPeriod())
.eq(CommissionExpected::getCommissionName, commission.getCommissionName())
// .eq(CommissionExpected::getCurrency, commission.getCurrency())
.one();
if (commissionExpected == null) {
throw new BusinessException(ResultCode.NULL_ERROR.getCode(), "未找到预计来佣记录");
}
amount = commissionExpected.getAmount();
}
// 获取当前登录用户 // 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser(); AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
...@@ -316,14 +332,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -316,14 +332,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 更新属性 // 更新属性
BeanUtils.copyProperties(commissionUpdateRequest, commission, "commissionBizId"); BeanUtils.copyProperties(commissionUpdateRequest, commission, "commissionBizId");
commission.setCurrentCommissionRatio(currentCommissionRatio);
commission.setUpdaterId(loginUserId); commission.setUpdaterId(loginUserId);
commission.setUpdateTime(new Date()); commission.setUpdateTime(new Date());
// 执行更新操作(这个方法将在当前事务中执行) // 执行更新操作(这个方法将在当前事务中执行)
this.updateById(commission); this.updateById(commission);
// 没改金额,则不比对 // 没改金额,则不比对
if (amount.compareTo(requestAmount) != 0) { if (amount != null && amount.compareTo(requestAmount) != 0) {
// 2. 注册事务同步器,在主事务提交后执行比对 // 2. 注册事务同步器,在主事务提交后执行比对
TransactionSynchronizationManager.registerSynchronization( TransactionSynchronizationManager.registerSynchronization(
new TransactionSynchronization() { new TransactionSynchronization() {
......
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