Selaa lähdekoodia

fix 额外硬塞车队座位数

zoujiajian 2 vuotta sitten
vanhempi
sitoutus
3ff9ed9dca

+ 10 - 5
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -767,7 +767,11 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 						if (GroupsRelation.Status.locking == groupsRelation.getStatus() || GroupsRelation.Status.outside == groupsRelation.getStatus()) {
 							log.info("清理用户userId:{}未支付订单", orderDon.getUserId());
 							groupsRelation.setUserId(0L);
-							if (GroupsRelation.Status.outside != groupsRelation.getStatus()) {
+							Long groupsId = groupsRelation.getGroupsId();
+							GroupsTrips groupsTrips = groupsMapper.selectById(groupsId);
+							if (groupsRelation.getNum() > groupsTrips.getNum()) {
+								groupsRelation.setStatus(GroupsRelation.Status.outside);
+							} else {
 								groupsRelation.setStatus(GroupsRelation.Status.none);
 							}
 							groupsRelation.setYhsId(0l);
@@ -1221,7 +1225,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			GroupsTrips groupsTrips = groupsMapper.selectById(relation.getGroupsId());
 			if (GroupsRelation.Status.locking.equals(relation.getStatus()) || GroupsRelation.Status.validity.equals(relation.getStatus()) || GroupsRelation.Status.outside.equals(relation.getStatus())) {
 				log.info("订单号orderNo:{}开始修改车位:{}状态", order.getOrderNo(), relation.getId());
-				if (relation.getStatus() != GroupsRelation.Status.outside) {
+				if (relation.getNum() > groupsTrips.getNum()) {
+					relation.setStatus(GroupsRelation.Status.outside);
+				} else {
 					relation.setStatus(GroupsRelation.Status.validity);
 				}
 				//续费后,下一次续费意愿状态为false
@@ -1941,9 +1947,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		//锁定座位
 		setRelation(relation.getId(), relation.getGroupsId(), userId, sku.getGoodsId(), isLoginPopularize, relation.getStatus());
 		relation.setUserId(userId);
-		if (relation.getStatus() != GroupsRelation.Status.outside) {
-			relation.setStatus(GroupsRelation.Status.locking);
-		}
+		//重新置为锁定
+		relation.setStatus(GroupsRelation.Status.locking);
 		relation.setYhsId(yhsId);
 		groupsRelationMapper.updateById(relation);
 		redisService.del(RedisKey.GROUPS_RELATION_NUM_KEY + relation.getId());