/**
* 商品列表页面
*/
@RequestMapping(value = "/to_list", produces = "text/html")
@ResponseBody
public String list(HttpServletRequest request, HttpServletResponse response, Model model, User user) {
//取缓存
String html = redisService.get(GoodsKey.getGoodsList, "", String.class);
//如果缓存不等于空,返回静态页面
if (!StringUtils.isEmpty(html)) {
return html;
}
//如果缓存等于空,查询数据库数据
List<GoodsVo> goodsList = goodsService.listGoodsVo();
model.addAttribute("user", user);
model.addAttribute("goodsList", goodsList);
//手动渲染
SpringWebContext ctx = new SpringWebContext(request, response,
request.getServletContext(), request.getLocale(), model.asMap(), applicationContext);
html = thymeleafViewResolver.getTemplateEngine().process("goods_list", ctx);
if (!StringUtils.isEmpty(html)) {
redisService.set(GoodsKey.getGoodsList, "", html);
}
//结果输出
return html;
}
查看商品详情直接用前端页面。
判断秒杀活动是否结束:
if (now < startTime) {//秒杀还没开始,倒计时
seckillStatus = 0;
remainSeconds = (int) ((startTime - now) / 1000);
} else if (now > endTime) {//秒杀已经结束
seckillStatus = 2;
remainSeconds = -1;
} else {//秒杀进行中
seckillStatus = 1;
remainSeconds = 0;
}