zoujiajian 1 жил өмнө
parent
commit
597555c684

+ 23 - 14
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -583,6 +583,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		orderDon.setPhone(orderPhone);
 		this.saveOrUpdate(orderDon);
 
+		Long orderId = orderDon.getId();
+		Long fUid = orderDon.getUserId();
 		if (orderDon.getIsDp() != null && orderDon.getIsDp()) {
 			//保存订单优惠加购规格 关系
 			OrderDiscountPlusPurchaseSkuRelation orderDiscountPlusPurchaseSkuRelation = new OrderDiscountPlusPurchaseSkuRelation();
@@ -617,8 +619,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				try {
 					Optional.ofNullable(Jsons.parseObject(val, OrderDonPostDataDto.class))
 							.ifPresent(orderDonPostDataDto -> {
-								log.info("用户ID:{}预下单 回传用户缓存 订单回传记录保存,callback:{},callbackType:{}", orderDon.getUserId(), orderDonPostDataDto.getCallback(), orderDonPostDataDto.getCallbackType());
-								orderDonPostService.savePostData(orderDon.getId(), orderDonPostDataDto.getCallback(), orderDonPostDataDto.getCallbackType());
+								log.info("用户ID:{}预下单 回传用户缓存 订单回传记录保存,callback:{},callbackType:{}", fUid, orderDonPostDataDto.getCallback(), orderDonPostDataDto.getCallbackType());
+								orderDonPostService.savePostData(orderId, orderDonPostDataDto.getCallback(), orderDonPostDataDto.getCallbackType());
 							});
 				} catch (Exception e) {
 					log.error("解析用户缓存回传信息错误,msg:{}", StringUtil.getErrorText(e));
@@ -638,7 +640,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		//礼品卡现金使用记录
 		if (CollUtil.isNotEmpty(orderDon.getGcUseRecords())) {
 			orderDon.getGcUseRecords().forEach(data -> {
-				data.setOrderId(orderDon.getId());
+				data.setOrderId(orderId);
 			});
 			giftCardOrderUseRecordService.saveBatch(orderDon.getGcUseRecords());
 		}
@@ -672,11 +674,12 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		unifiedHandlerOrderRecordFunc(orderDon.getId(), payRequest);
 		//余额支付订单
 		if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
+			orderDon = orderDonMapper.selectById(orderId);
 			unifiedHandlerOrderNotify(orderDon, goodsDon, sku);
 		}
 		if (orderDon.getStatus() == OrderDon.Status.noPayment) {
 			jobManager.addJob(EXPIRY_TIME, () -> {
-				closeOrder(orderDon.getId(), null);
+				closeOrder(orderId, null);
 			});
 		}
 		return orderDon;
@@ -1068,15 +1071,12 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		//扣除使用优惠券、余额的订单金额
 		deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon.getType(), payRequest.getGcCash(), payRequest.getGcpIds(), false, null);
 		this.saveOrUpdate(orderDon);
-		if (orderDon.getStatus() == OrderDon.Status.noPayment) {
-			jobManager.addJob(EXPIRY_TIME, () -> {
-				closeOrder(orderDon.getId(), null);
-			});
-		}
+
+		Long orderId = orderDon.getId();
 		//礼品卡现金使用记录
 		if (CollUtil.isNotEmpty(orderDon.getGcUseRecords())) {
 			orderDon.getGcUseRecords().forEach(data -> {
-				data.setOrderId(orderDon.getId());
+				data.setOrderId(orderId);
 			});
 			giftCardOrderUseRecordService.saveBatch(orderDon.getGcUseRecords());
 		}
@@ -1130,8 +1130,14 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		recordOrderDonLocationRelate(orderDon.getId(), payRequest.getIp());
 		//订单金额为0 且订单为已完成 更新虚物车票
 		if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
+			orderDon = orderDonMapper.selectById(orderId);
 			unifiedHandlerOrderNotify(orderDon, goodsDon, sku);
 		}
+		if (orderDon.getStatus() == OrderDon.Status.noPayment) {
+			jobManager.addJob(EXPIRY_TIME, () -> {
+				closeOrder(orderId, null);
+			});
+		}
 		return orderDon;
 	}
 
@@ -3571,13 +3577,15 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			upgradeOrderDon.setType(UpgradeOrderDon.Type.ALI_PAY);
 			upgradeOrderDonMapper.insert(upgradeOrderDon);
 
-			deductUpgradeBalancePayOrderMoney(upgradeOrderDon, payRequest.getBalance(),user );
+			deductUpgradeBalancePayOrderMoney(upgradeOrderDon, payRequest.getBalance(),user);
+			Long orderId = upgradeOrderDon.getId();
 			if (upgradeOrderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
+				upgradeOrderDon = upgradeOrderDonMapper.selectById(orderId);
 				unifiedHandlerUpgradeOrderNotify(upgradeOrderDon, upgradePackage);
 			}
 			if (upgradeOrderDon.getStatus() == UpgradeOrderDon.Status.noPayment) {
 				jobManager.addJob(EXPIRY_TIME, () -> {
-					closeUpgradeOrder(upgradeOrderDon.getId(), null);
+					closeUpgradeOrder(orderId, null);
 				});
 			}
 			return upgradeOrderDon;
@@ -3930,13 +3938,14 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		orderDonMapper.insert(orderDon);
 		//记录续费升级的规格
 		recordRenewOrderDon(orderDon, renewUpgradePackage, groupsTrips);
-
+		Long orderId = orderDon.getId();
 		if (orderDon.getMoney().compareTo(BigDecimal.ZERO) == 0) {
+			orderDonMapper.selectById(orderId);
 			unifiedHandlerOrderNotify(orderDon, goodsDon, goodsDonSku);
 		}
 		if (orderDon.getStatus() == OrderDon.Status.noPayment) {
 			jobManager.addJob(EXPIRY_TIME, () -> {
-				closeOrder(orderDon.getId(), null);
+				closeOrder(orderId, null);
 			});
 		}
 		return orderDon;