public void selling(OrderItem orderItem){
long userId = orderItem.getUser().getId();
/*
用zset的score作为该商品的库存
*/
Double store = srt.opsForZSet().score("inventory:" + userId, orderItem.getName());
/*
想知道watch命令是否可以代替下述代码
*/
if (store == 0){
logger.warn("该商品不存在啊抱歉");
return;
}else{
if (store < orderItem.getCount().doubleValue()){
logger.warn("要售卖的数量超过库存了!请减少数量并重试");
return;
}
}
/*
watch命令
*/
srt.watch("inventory:"+userId);
/*
把商品放到市场上
*/
srt.opsForZSet().add("market",orderItem.getName()+":"+orderItem.getCount()+":"+orderItem.getUser().getId(),orderItem.getPrice().doubleValue());
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^