/** * orderId:成功 * -1:秒杀失败 * 0: 排队中 */ @RequestMapping(value = "/result", method = RequestMethod.GET) @ResponseBody public Result<Long> seckillResult(Model model, User user, @RequestParam("goodsId") long goodsId) { model.addAttribute("user", user); if (user == null) { return Result.error(CodeMsg.SESSION_ERROR); } long orderId = seckillService.getSeckillResult(user.getId(), goodsId); return Result.success(orderId); }
public long getSeckillResult(long userId, long goodsId){ SeckillOrder order = orderService.getOrderByUserIdGoodsId(userId, goodsId); if (order != null){ return order.getOrderId(); }else{ boolean isOver = getGoodsOver(goodsId); if(isOver) { return -1; }else { return 0; } } }
private boolean getGoodsOver(long goodsId) { return redisService.exists(SeckillKey.isGoodsOver, ""+goodsId); }