|
@@ -329,6 +329,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
|
|
|
|
|
private final OrderDonUserDiscountPopularizeRecordMapper orderDonUserDiscountPopularizeRecordMapper;
|
|
private final OrderDonUserDiscountPopularizeRecordMapper orderDonUserDiscountPopularizeRecordMapper;
|
|
|
|
|
|
|
|
|
|
+ private final OrderDonIndependentRenewRecordMapper independentRenewRecordMapper;
|
|
|
|
|
+
|
|
|
private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
|
|
private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
@Transactional(rollbackFor = Throwable.class)
|
|
@@ -1035,6 +1037,21 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
setDistributeOrderMark(orderDon, goodsDon.getType(), userId);
|
|
setDistributeOrderMark(orderDon, goodsDon.getType(), userId);
|
|
|
}
|
|
}
|
|
|
orderDon.setRealMoney(orderDon.getMoney());
|
|
orderDon.setRealMoney(orderDon.getMoney());
|
|
|
|
|
+ //独立规格续费升级
|
|
|
|
|
+ RenewUpgradePackage renewUpgradeIndependentPackage = null;
|
|
|
|
|
+ if ((payRequest.getPackageId() != null || payRequest.getOriginalOrderId() != null) && sku.getNum() == 1) {
|
|
|
|
|
+ renewUpgradeIndependentPackage = 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 (renewUpgradeIndependentPackage == null) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance("续费规格不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal discount = renewUpgradeIndependentPackage.getDiscount();
|
|
|
|
|
+ orderDon.setMoney(sku.getPrice().multiply(discount));
|
|
|
|
|
+ }
|
|
|
//扣除使用优惠券、余额的订单金额
|
|
//扣除使用优惠券、余额的订单金额
|
|
|
deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon.getType(), payRequest.getGcCash(), payRequest.getGcpIds(), false, null);
|
|
deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon.getType(), payRequest.getGcCash(), payRequest.getGcpIds(), false, null);
|
|
|
this.saveOrUpdate(orderDon);
|
|
this.saveOrUpdate(orderDon);
|
|
@@ -1096,8 +1113,13 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
log.error("记录续费升级错误:{}", StringUtil.getErrorText(e));
|
|
log.error("记录续费升级错误:{}", StringUtil.getErrorText(e));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
//记录订单ip关联
|
|
//记录订单ip关联
|
|
|
recordOrderDonLocationRelate(orderDon.getId(), payRequest.getIp());
|
|
recordOrderDonLocationRelate(orderDon.getId(), payRequest.getIp());
|
|
|
|
|
+ if (renewUpgradeIndependentPackage != null) {
|
|
|
|
|
+ //独立规格续费订单记录
|
|
|
|
|
+ recordIndependentRenewOrderDon(orderDon, renewUpgradeIndependentPackage, groupsTrips);
|
|
|
|
|
+ }
|
|
|
//订单金额为0 且订单为已完成 更新虚物车票
|
|
//订单金额为0 且订单为已完成 更新虚物车票
|
|
|
if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
|
|
if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
|
|
|
OrderDon updateOrder = orderDonMapper.selectById(orderDon.getId());
|
|
OrderDon updateOrder = orderDonMapper.selectById(orderDon.getId());
|
|
@@ -3934,6 +3956,17 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
orderDonUpgradeRenewRecordMapper.insert(orderDonUpgradeRenewRecord);
|
|
orderDonUpgradeRenewRecordMapper.insert(orderDonUpgradeRenewRecord);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private void recordIndependentRenewOrderDon(OrderDon orderDon, RenewUpgradePackage renewUpgradePackage, GroupsTrips groupsTrips) {
|
|
|
|
|
+ OrderDonIndependentRenewRecord independentRenewRecord = new OrderDonIndependentRenewRecord();
|
|
|
|
|
+ independentRenewRecord.setOrderId(orderDon.getId());
|
|
|
|
|
+ independentRenewRecord.setUserId(orderDon.getUserId());
|
|
|
|
|
+ independentRenewRecord.setPackageId(renewUpgradePackage.getId());
|
|
|
|
|
+ independentRenewRecord.setDiscount(renewUpgradePackage.getDiscount());
|
|
|
|
|
+ independentRenewRecord.setOriSkuId(groupsTrips.getSkuId());
|
|
|
|
|
+ independentRenewRecord.setRelationId(orderDon.getRelationId());
|
|
|
|
|
+ independentRenewRecordMapper.insert(independentRenewRecord);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
//镜像续费升级
|
|
//镜像续费升级
|
|
|
private void handleMirrorRenew(GoodsDonSku sku, OrderDon order, GroupsTrips groupsTrips, Long relationId, Date newDate) {
|
|
private void handleMirrorRenew(GoodsDonSku sku, OrderDon order, GroupsTrips groupsTrips, Long relationId, Date newDate) {
|
|
|
if (sku.getGoodsId() == 18 && sku.getIsMirror() && order.getOrderType() == 2) {
|
|
if (sku.getGoodsId() == 18 && sku.getIsMirror() && order.getOrderType() == 2) {
|