perf:分布式锁卡风险
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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("已有人预订")) {
|
||||
|
||||
Reference in New Issue
Block a user