Jelajahi Sumber

fix 未获取到车位,重置车队可用座位数

zoujiajian 2 tahun lalu
induk
melakukan
d841cdb220

+ 2 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -797,6 +797,8 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 							GroupsTrips groupsTrips = groupsMapper.selectById(groupsId);
 							if (groupsRelation.getNum() > groupsTrips.getNum()) {
 								groupsRelation.setStatus(GroupsRelation.Status.outside);
+
+								redisService.del(RedisService.key.GROUPS_TRIPS_OUTSIDE_RELATION.getNameFormat(groupsId, groupsRelation.getNum()));
 							} else {
 								groupsRelation.setStatus(GroupsRelation.Status.none);
 							}

+ 5 - 0
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
+import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.common.util.J11HttpC;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.enums.GatewayApiCode;
@@ -83,6 +84,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final OrderDiscountPlusPurchaseSkuRelationMapper orderDiscountPlusPurchaseSkuRelationMapper;
 
+	private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
+
 	private final static String VERIFY_CODE_SECRET = "q1w2e3";
 
 	@Override
@@ -366,6 +369,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 						//寻找快满编车队进行占座
 						relation = groupsRelationMapper.selectRandomOneRelationByGroupsId(groups.getId());
 						if (relation == null) {
+							Long groupsId = groups.getId();
+							TASK_EXECUTOR.execute(() -> groupsMapper.updateAvailableNum(groupsId));
 							throw BusinessRuntimeException.getInstance("系统繁忙,请重试...");
 						}
 					}