@RequestMapping("/addBookOrder") public ModelAndView addOrder(Integer uid,String oname,String ocity,String oaddress,HttpSession session){ Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr=sdf.format(date); int oid; BookOrder bookOrder=new BookOrder(); bookOrder.setDate(dateStr); bookOrder.setOname(oname); bookOrder.setAdress(ocity + " " + oaddress); bookOrder.setStatus(Constant.UN_DO); bookOrder.setUid(uid); bookOrderService.addBookOrder(bookOrder); BookOrderExample example = new BookOrderExample(); Criteria cri = example.createCriteria(); cri.andDateEqualTo(dateStr); oid = bookOrderService.selectOid(example); Cart cart =(Cart)session.getAttribute("cart"); Map<Book, Integer> map=cart.getGoods(); Iterator<Entry<Book, Integer>> iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry<Book, Integer> entry = (Entry<Book, Integer>) iter.next(); Book book = entry.getKey(); Integer number = entry.getValue(); OrderDetail orderDetail = new OrderDetail(); orderDetail.setOrderId(oid); orderDetail.setBookId(book.getBid()); orderDetail.setBookNum(number); orderDetail.setStatus(Constant.UN_COMMENT); orderDetailService.addOrderDetail(orderDetail); bookService.reduceStore(book.getBid(), number); } session.removeAttribute("cart"); return new ModelAndView("redirect:/shoppingResult.do"); }解释这段代码
时间: 2024-01-10 18:02:57 浏览: 130
这是一个使用Spring MVC框架编写的Java Web应用程序的控制器代码,主要包含一个请求映射方法:
1. "/addBookOrder":用于添加图书订单,接收请求参数包括用户id、收货人姓名、城市、地址和HttpSession对象。首先获取当前时间,并将其格式化为字符串类型;然后创建一个BookOrder对象,设置订单创建时间、收货人姓名、地址、订单状态和用户id,并通过bookOrderService的addBookOrder方法添加到数据库中,获取该订单的id;接着从session中获取购物车对象,遍历购物车中的商品,将每个商品和其数量封装成一个OrderDetail对象,设置订单id、图书id、图书数量和订单状态,并通过orderDetailService的addOrderDetail方法添加到数据库中,同时通过bookService的reduceStore方法减少库存数量。最后清空购物车,并重定向到"shoppingResult.do"页面。
这段代码实现了将用户购买的图书生成订单并保存到数据库中,同时更新每个图书的库存。
相关问题
@RequestMapping("/addUser") public ModelAndView addUser(String userName,String passWord,String gender,String email,String phone,String address){ User user = new User(); user.setUname(userName); user.setPassword(passWord); user.setGender(gender); user.setEmail(email); user.setPhone(phone); user.setAdress(address); userService.addUser(user); return new ModelAndView("redirect:/manaUser.do"); } @RequestMapping("/updateUserPage") public String updateUserPage(Model model,HttpSession session){ User sessionUser= (User) session.getAttribute("user"); User user=userService.findUserById(sessionUser.getUid()); model.addAttribute("user",user); return "front/update"; } @RequestMapping("/updateUser") public ModelAndView updateUser(Integer uid,String uname,String gender,String email,String phone,String address){ User user=new User(); user.setUid(uid); user.setUname(uname); user.setGender(gender); user.setEmail(email); user.setPhone(phone); user.setAdress(address); userService.userModify(user); return new ModelAndView("redirect:/index.do"); }解释这段代码
这是一段使用Spring MVC框架编写的Java Web应用程序的控制器代码,主要包含三个请求映射方法:
1. "/addUser":用于添加新用户,接收请求参数包括用户名、密码、性别、电子邮件、电话和地址,将这些信息封装成一个User对象,通过userService的addUser方法添加到数据库中,并重定向到"manaUser.do"页面。
2. "/updateUserPage":用于跳转到用户信息修改页面,接收一个Model对象和一个HttpSession对象,从session中获取当前用户的id,通过userService的findUserById方法获取该用户的信息,将这些信息封装成一个User对象,放入Model中,最后返回"front/update"页面。
3. "/updateUser":用于更新用户信息,接收请求参数包括用户id、用户名、性别、电子邮件、电话和地址,将这些信息封装成一个User对象,通过userService的userModify方法更新用户信息,并重定向到"index.do"页面。
使用ResponseEntity<>改写以下代码:@Controller @RequestMapping("/user") public class UserController { @RequestMapping(value = "/login", method = RequestMethod.POST) public ModelAndView login(User user,HttpSession httpSession) { ModelAndView modelAndView = new ModelAndView(); if (user.getUserName().equals("张三") && user.getPassword().equals("123")) { //modelAndView.addObject("user", user); httpSession.setAttribute("user",user); modelAndView.setViewName("success"); } else { modelAndView.setViewName("fail"); } return modelAndView; } }
@Controller
@RequestMapping("/user")
public class UserController {
@PostMapping("/login")
public ResponseEntity<String> login(User user, HttpSession httpSession) {
if (user.getUserName().equals("张三") && user.getPassword().equals("123")) {
httpSession.setAttribute("user", user);
return ResponseEntity.ok("success");
} else {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("fail");
}
}
}
注意,这里返回的是一个ResponseEntity<String>对象,其中泛型指定了返回值的类型为String。如果登录成功,使用ResponseEntity.ok()返回一个状态码为200的响应,并将成功信息放入响应体;如果登录失败,使用ResponseEntity.status(HttpStatus.UNAUTHORIZED)返回一个状态码为401的响应,并将失败信息放入响应体。
阅读全文