认真学习不得反悔

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

@Controller
public class GoodsController {
@Resource
private RedisTemplate redisTemplate;
@RequestMapping("toLogin")
public String tologin() {
return "login";

}
@RequestMapping("login")
public String login(User user){
ListOperations<String, User> operations=redisTemplate.opsForList();
List<User>list=operations.range("user_list", 0, -1);
for(User u:list) {
if(u.getUsername().equals(user.getUsername())&&u.getPassword().equals(user.getPassword())) {
return "redirect:list";
}
}
return "redirect:toLogin";
}
@RequestMapping("list")
public String list(Model model) {
ListOperations<String,Goods>operations=redisTemplate.opsForList();
List<Goods>list=operations.range("goodsList", 0, -1);
model.addAttribute("list", list);
return "list";
}
@RequestMapping("getNum")
@ResponseBody
public List<Goods> getNum(){
ListOperations<String, Goods> opsOperations=redisTemplate.opsForList();
List<Goods> list=opsOperations.range("goodsList", 0, -1);
return list;

}
@RequestMapping("buy")
public String buy(Integer id,Model model) {

//获取list操作对象
ListOperations<String,Goods> opsForList = redisTemplate.opsForList();

//获取所有的商品数据
List<Goods> list = opsForList.range("goodsList", 0, -1);

//单个商品修改
for (int i=0;i<list.size();i++) {
//遍历所有的商品数据
Goods goods = list.get(i);

//根据商品id,判断其是否是同一个商品
if(goods.getId().equals(id)) {

//如果找到要抢购的商品
if(goods.getNum() > 0) {

//将商品数量-1
goods.setNum(goods.getNum() - 1);

//再存入list中
list.set(i, goods);

model.addAttribute("msg", "秒杀成功");
}else {

model.addAttribute("msg", "秒杀失败");
}
}
}

//删除原来的数据
redisTemplate.delete("goodsList");

//重新存入redis中
opsForList.leftPushAll("goodsList", list);

return "result";
}

}

posted on 2020-04-26 22:48  认真学习不得反悔  阅读(212)  评论(0)    收藏  举报