perf:分布式锁卡风险

This commit is contained in:
Xiang
2026-03-23 10:40:24 +08:00
parent d40a15cbb5
commit eb441b03e5
2 changed files with 13 additions and 0 deletions

View File

@@ -18,6 +18,12 @@ public class RedisKeyConstant {
private static final String JNTYZX_VENUE_SUBSCRIBE_KEY = "jntyzx:venue:subscribe:";
private static final String JNTYZX_ORDER_CLOSE_CARD_KEY = "jntyzx:order:close:card:";
public static String getCloseCardKey(String username) {
return JNTYZX_ORDER_CLOSE_CARD_KEY + username + ":" +getDate();
}
public static String getVenueSubscribeKey(String placeName) {
return JNTYZX_VENUE_SUBSCRIBE_KEY + placeName + ":" + getDate();
}

View File

@@ -50,6 +50,12 @@ public class OrderInfoServiceImpl implements IJtOrderService {
return true;
}
String user = (String) redisService.get(RedisKeyConstant.getCloseCardKey(userTokenInfoDO.getName()));
if (StringUtils.isNotBlank(user)) {
log.info("用户:{}有锁卡风险,不在请求接口!");
return true;
}
JntyzxResponse<OrderCreateResp> orderResp = jntyzxHttpService.createOrder(venueInfoDOS, userTokenInfoDO.getToken(), userTokenInfoDO.getOpenId());
if (Objects.isNull(orderResp)) {
return false;
@@ -80,6 +86,7 @@ public class OrderInfoServiceImpl implements IJtOrderService {
}
if (orderResp.getMessage().contains("限制")) {
log.info("改会员卡被限制,不在请求,用户:{}", userTokenInfoDO.getName());
redisService.set(RedisKeyConstant.getCloseCardKey(userTokenInfoDO.getName()), "true");
throw new BusinessException("会员卡被限制,不在请求");
}
if (orderResp.getMessage().contains("已有人预订")) {