|
|
@@ -53,7 +53,7 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public void saveInsOrderRightsInfo(InsOrderRightsInfoDto insOrderRightsInfoDto,String orderNo) {
|
|
|
+ public HttpResult saveInsOrderRightsInfo(InsOrderRightsInfoDto insOrderRightsInfoDto,String orderNo) {
|
|
|
// 1. 业务校验:至少有一个集合有数据
|
|
|
boolean hasRights = CollectionUtils.isNotEmpty(insOrderRightsInfoDto.getInsOrderRightsList());
|
|
|
boolean hasPackages = CollectionUtils.isNotEmpty(insOrderRightsInfoDto.getInsOrderRightsPackageList());
|
|
|
@@ -112,11 +112,12 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
|
|
|
//更新订单表的权益可用金额、已使用金额、剩余金额
|
|
|
insFeeOrdersService.updateById(feeOrders);
|
|
|
}
|
|
|
+ return HttpResult.ok("权益保存成功!");
|
|
|
}catch (Exception e) {
|
|
|
log.error("保存订单权益信息失败,订单ID: {}", orderNo, e);
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return HttpResult.error("权益保存失败!");
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -129,7 +130,7 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
|
|
|
|
|
|
// 计算权益金额 = (出口费用总和) - (出口留点费用总和)
|
|
|
BigDecimal availableAmount = feeOrders.getAvailableAmount();
|
|
|
- // 权益金额大于 0,计算实际花费的权益金额并发放权益券
|
|
|
+ // 权益金额大于 0,计算已使用金额即所选权益总价
|
|
|
if (availableAmount.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
// 初始化变量
|
|
|
BigDecimal rightsTotalAmount = BigDecimal.ZERO;//选中的权益券总价
|
|
|
@@ -157,7 +158,7 @@ public class InsOrderRightsInfoServiceImpl implements InsOrderRightsInfoService
|
|
|
// 计算权益总花费并校验
|
|
|
BigDecimal usedAmount = rightsTotalAmount.add(rightsPackageTotalAmount);
|
|
|
if (usedAmount.compareTo(availableAmount) > 0) {
|
|
|
- AssertionUtils.isFail(true, "权益金额不足!");
|
|
|
+ AssertionUtils.isFail(true, "所选权益金额超过可用金额!");
|
|
|
}
|
|
|
feeOrders.setUsedAmount(usedAmount);//已使用金额
|
|
|
feeOrders.setRemainingAmount(availableAmount.subtract(usedAmount));//剩余金额
|