Преглед изворни кода

fix 奈飞月付续费其他规格订单更换座位id

zoujiajian пре 2 година
родитељ
комит
fc443f7a86

+ 17 - 6
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1656,12 +1656,15 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 	}
 
 	/**
-	 * @param preSkuId      续费之前的规格id
-	 * @param preRelationId 续费之前的座位id
-	 * @param orderId       订单id
-	 * @param afterSku      续费之后的规格
+	 * @param orderDon 续费订单
+	 * @param afterSku 续费之后的规格
 	 */
-	private void changeTicketAndRecord(Long preSkuId, Long preRelationId, Long orderId, Integer num, GoodsDonSku afterSku, Long userId) {
+	private void changeTicketAndRecord(OrderDon orderDon, GoodsDonSku afterSku) {
+		Long preSkuId = orderDon.getSkuId();
+		Long preRelationId = orderDon.getRelationId();
+		Long orderId = orderDon.getId();
+		Integer num = orderDon.getNum();
+		Long userId = orderDon.getUserId();
 		//清理之前的车票
 		GroupsRelation relation = groupsRelationMapper.selectById(preRelationId);
 		if (relation != null) {
@@ -1679,6 +1682,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			afterRelation.setExpiryTime(afterExpiryTime);
 			groupsRelationMapper.updateById(afterRelation);
 
+			//更新订单对应的relation_id
+			orderDon.setRelationId(afterRelation.getId());
+			orderDonMapper.updateById(orderDon);
+
 			//保存更换车票记录
 			saveChangeTicketRecord(preStartTime, preExpiryTime, preRelationId, userId, preSkuId, orderId, num, afterSku, afterRelation.getId());
 
@@ -1706,6 +1713,10 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 					.set(GroupsRelation::getExpiryTime, relationView.getExpiryTime())
 					.eq(GroupsRelation::getId, relationView.getId()));
 
+			//更新订单对应的relation_id
+			orderDon.setRelationId(relationView.getId());
+			orderDonMapper.updateById(orderDon);
+
 			//保存更换车票记录
 			saveChangeTicketRecord(preStartTime, preExpiryTime, relationView.getId(), userId, preSkuId, orderId, num, afterSku, relationView.getId());
 		}
@@ -1981,7 +1992,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 	public void updateGroupsTicket(OrderDon orderDon, GoodsDon goodsDon, GoodsDonSku sku) {
 		if (orderDon.getOrderType() == 2 && orderDon.getIsChangeTicket()) {
 			//将奈飞月付车票更换成其他规格的车票
-			changeTicketAndRecord(orderDon.getPreSkuId(), orderDon.getRelationId(), orderDon.getId(), orderDon.getNum(), sku, orderDon.getUserId());
+			changeTicketAndRecord(orderDon, sku);
 		} else {
 			//修改车位状态并发送模板消息
 			updateCarParkAndSendMsg(goodsDon, sku, orderDon);