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_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) {
|
public static String getVenueSubscribeKey(String placeName) {
|
||||||
return JNTYZX_VENUE_SUBSCRIBE_KEY + placeName + ":" + getDate();
|
return JNTYZX_VENUE_SUBSCRIBE_KEY + placeName + ":" + getDate();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ public class OrderInfoServiceImpl implements IJtOrderService {
|
|||||||
return true;
|
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());
|
JntyzxResponse<OrderCreateResp> orderResp = jntyzxHttpService.createOrder(venueInfoDOS, userTokenInfoDO.getToken(), userTokenInfoDO.getOpenId());
|
||||||
if (Objects.isNull(orderResp)) {
|
if (Objects.isNull(orderResp)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -80,6 +86,7 @@ public class OrderInfoServiceImpl implements IJtOrderService {
|
|||||||
}
|
}
|
||||||
if (orderResp.getMessage().contains("限制")) {
|
if (orderResp.getMessage().contains("限制")) {
|
||||||
log.info("改会员卡被限制,不在请求,用户:{}", userTokenInfoDO.getName());
|
log.info("改会员卡被限制,不在请求,用户:{}", userTokenInfoDO.getName());
|
||||||
|
redisService.set(RedisKeyConstant.getCloseCardKey(userTokenInfoDO.getName()), "true");
|
||||||
throw new BusinessException("会员卡被限制,不在请求");
|
throw new BusinessException("会员卡被限制,不在请求");
|
||||||
}
|
}
|
||||||
if (orderResp.getMessage().contains("已有人预订")) {
|
if (orderResp.getMessage().contains("已有人预订")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user