|
|
@@ -1031,6 +1031,22 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
orderDon.setRealMoney(orderDon.getMoney());
|
|
|
//扣除使用优惠券、余额的订单金额
|
|
|
deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon.getType(), payRequest.getGcCash(), payRequest.getGcpIds(), false, null);
|
|
|
+ //独立规格续费升级
|
|
|
+ if ((payRequest.getPackageId() != null || payRequest.getOriginalOrderId() != null) && sku.getNum() == 1) {
|
|
|
+ RenewUpgradePackage renewUpgradePackage = renewUpgradePackageMapper.selectOne(Wrappers.lambdaQuery(RenewUpgradePackage.class)
|
|
|
+ .eq(RenewUpgradePackage::getSkuId, tripsSkuId)
|
|
|
+ .apply("JSON_CONTAINS(upgrade_sku_ids,'\"" + renewSkuId + "\"')")
|
|
|
+ .eq(RenewUpgradePackage::getStatus, 1)
|
|
|
+ .eq(RenewUpgradePackage::getDeleted, 1)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (renewUpgradePackage == null) {
|
|
|
+ throw BusinessRuntimeException.getInstance("续费规格不存在");
|
|
|
+ }
|
|
|
+ BigDecimal discount = renewUpgradePackage.getDiscount();
|
|
|
+ orderDon.setMoney(sku.getPrice().multiply(discount));
|
|
|
+ //独立规格续费订单记录
|
|
|
+ recordIndependentRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
|
|
|
+ }
|
|
|
this.saveOrUpdate(orderDon);
|
|
|
if (orderDon.getStatus() == OrderDon.Status.noPayment) {
|
|
|
jobManager.addJob(EXPIRY_TIME, () -> {
|
|
|
@@ -1090,22 +1106,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
log.error("记录续费升级错误:{}", StringUtil.getErrorText(e));
|
|
|
}
|
|
|
}
|
|
|
- //独立规格续费升级
|
|
|
- if ((payRequest.getPackageId() != null || payRequest.getOriginalOrderId() != null) && sku.getNum() == 1) {
|
|
|
- RenewUpgradePackage renewUpgradePackage = renewUpgradePackageMapper.selectOne(Wrappers.lambdaQuery(RenewUpgradePackage.class)
|
|
|
- .eq(RenewUpgradePackage::getSkuId, tripsSkuId)
|
|
|
- .apply("JSON_CONTAINS(upgrade_sku_ids,'\"" + renewSkuId + "\"')")
|
|
|
- .eq(RenewUpgradePackage::getStatus, 1)
|
|
|
- .eq(RenewUpgradePackage::getDeleted, 1)
|
|
|
- .last("limit 1"));
|
|
|
- if (renewUpgradePackage == null) {
|
|
|
- throw BusinessRuntimeException.getInstance("续费规格不存在");
|
|
|
- }
|
|
|
- BigDecimal discount = renewUpgradePackage.getDiscount();
|
|
|
- orderDon.setMoney(sku.getPrice().multiply(discount));
|
|
|
- //独立规格续费订单记录
|
|
|
- recordIndependentRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
|
|
|
- }
|
|
|
|
|
|
//记录订单ip关联
|
|
|
recordOrderDonLocationRelate(orderDon.getId(), payRequest.getIp());
|