Commit 7186c852 by jianan

前端对接问题修复76

parent a6da7617
......@@ -16,6 +16,9 @@ public class CommissionUpdateRequest implements Serializable {
@Schema(description = "保单入账业务id", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionBizId;
@Schema(description = "应收款类型 R=关联保单应收单 U=非关联保单应收单", requiredMode = Schema.RequiredMode.REQUIRED)
private String commissionBizType;
/**
* 入账检核年月 yyyy-MM
*/
......
......@@ -298,14 +298,30 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
}
}
BigDecimal amount = commission.getAmount();
BigDecimal amount;
BigDecimal requestAmount = commissionUpdateRequest.getAmount();
if ("R".equals(commissionUpdateRequest.getCommissionBizType())) {
amount = commission.getAmount();
// 计算当前来佣比例
// 关联应收单,计算当前来佣比例
BigDecimal currentCommissionRatio = this.calculateCurrentCommissionRatio(
commission.getPremium(),
requestAmount,
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();
......@@ -316,14 +332,13 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 更新属性
BeanUtils.copyProperties(commissionUpdateRequest, commission, "commissionBizId");
commission.setCurrentCommissionRatio(currentCommissionRatio);
commission.setUpdaterId(loginUserId);
commission.setUpdateTime(new Date());
// 执行更新操作(这个方法将在当前事务中执行)
this.updateById(commission);
// 没改金额,则不比对
if (amount.compareTo(requestAmount) != 0) {
if (amount != null && amount.compareTo(requestAmount) != 0) {
// 2. 注册事务同步器,在主事务提交后执行比对
TransactionSynchronizationManager.registerSynchronization(
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