基于javaweb+mysql的springboot前台展示+后台管理结合的在线购书系统(java+springboot+ssm+mysql+maven)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot前台展示+后台管理结合的在线购书系统(java+springboot+ssm+mysql+maven)
一、项目简述
功能:一个基于JavaWeb的网上书店的设计与实现,归纳 出了几个模块,首先是登录注册模块,图书查找模块,购物车模块,订单模块,个人中心模块,用户管理模块,图 书管理模块等。 该项目是javaJeb技术的实战操作,采用了MVC设计模 式,包括基本的entity, jscript, servlet,以及ajax异步请 求,查询分页,持久化层方法的封装等等,对javaweb技 术的巩固很有帮助,为J2EE的学习打下基础,适用于课程 设计,毕业设计。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Springboot+ SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + maven等等
@GetMapping("/checkLoggedIn")
@ResponseBody
public ResultVO checkUserIsLoggedIn(HttpSession session) {
if (session.getAttribute("user") == null) {
throw new CustomizeException(ResultCode.USER_NOT_LOGGED_IN);
}
return new ResultVO(ResultCode.SUCCESS);
}
}
package com.demo.controller;
/**
* @Description: 图片上传控制器
*/
@RestController
@RequestMapping("/upload")
public class ImageUploadController {
@PostMapping("/book_image")
public ResultVO uploadBookImage(MultipartFile bookImage, HttpServletRequest request) {
//获取项目上传文件夹路径
String srcPath = "src/main/resources/static/images/book_images";
String targetFileName = System.currentTimeMillis() + bookImage.getOriginalFilename().substring(bookImage.getOriginalFilename().lastIndexOf("."));
//上传
try {
File srcFile = new File(new File(srcPath).getAbsolutePath(), targetFileName);
bookImage.transferTo(srcFile);
copyToTargetDir(srcFile, targetFileName);
} catch (Exception e) {
e.printStackTrace();
throw new CustomizeException(ResultCode.FAILED, "上传图片失败");
}
return new ResultVO(ResultCode.SUCCESS, targetFileName);
}
/**
* @Description: 分类管理模块控制器
*/
@RestController
@RequestMapping("category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@Resource
private CategoryMapper categoryMapper;
@GetMapping("/searchcode")
public ResultVO categorySearchByCode(String categoryCode)
{
Category categories = categoryService.selectByByCategoryCode(categoryCode);
if(categories!=null)
return new ResultVO(ResultCode.SUCCESS,categories);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
@PostMapping("/delete")
public ResultVO categoryDelete(String categoryCode)
{
int categories = categoryService.deleteByByCategoryCode(categoryCode);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/insert")
public ResultVO categoryInsert(@Valid Category record)
{
int categories = categoryService.insert(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/update")
public ResultVO categoryUpdate(@Valid Category record)
{
BindException ex=(BindException)e;
bindingResult = ex.getBindingResult();
}
ObjectError error = bindingResult.getAllErrors().get(0);
return new ResultVO(ResultCode.ARGUMENT_NOT_VALID,error.getDefaultMessage(),null);
}
/**
* 其他异常处理
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
public ResultVO ExceptionHandler(Exception e){
log.error(e.getMessage());
return new ResultVO(ResultCode.UNKNOWN_ERROR,e.getMessage());
}
}
package com.demo.controller;
/**
* @Description: 客户端路由控制器
*/
@Controller
public class ClientRouterController {
//跳转首页
@GetMapping({"/","/index"})
public String toHomePage(){
return "index";
}
/**
* @Description: 登录验证拦截器
*/
public class ClientLoginInterceptor implements HandlerInterceptor {
/**
* 拦截请求判断是否已经登录
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if (session.getAttribute("user")==null) {
//用户未登录,抛出异常
throw new CustomizeException(ResultCode.USER_NOT_LOGGED_IN);
}
//已登录,放行请求
return true;
}
}
package com.demo.interceptor;
/**
* @Description: 管理员访问拦截器
*/
@Controller
@RequestMapping("/user_center")
public class UserCenterController {
@Autowired
private OrderHandleService orderHandleService;
/**
* 根据用户ID,获取用户订单
* @return
*/
@GetMapping("/orders")
@ResponseBody
public ResultVO getUserOrders(Integer page, Integer limit, HttpSession session) {
User user = (User) session.getAttribute("user");
List<Order> orders = orderHandleService.getOrdersByUserId(user.getUserId(), page, limit);
PageInfo pageInfo = new PageInfo(orders);
return new ResultVO(ResultCode.SUCCESS, (int)pageInfo.getTotal(),orders);
}
/**
* 删除指定orderId的订单
* @param orderId
* @return
*/
@DeleteMapping("/orders/{orderId}")
@ResponseBody
public ResultVO deleteOrder(@PathVariable("orderId") Integer orderId) {
int orders = orderHandleService.deleteOrderById(orderId);
return new ResultVO(ResultCode.SUCCESS,null);
}
}
package com.demo.controller;
/**
* @Description: 后台页面的路由跳转
*/
@Controller
@RequestMapping("/admin")
public class AdminRouterController {
//跳转用户管理页面
/**
* @Description: 登录验证拦截器
*/
public class ClientLoginInterceptor implements HandlerInterceptor {
/**
* 拦截请求判断是否已经登录
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if (session.getAttribute("user")==null) {
//用户未登录,抛出异常
throw new CustomizeException(ResultCode.USER_NOT_LOGGED_IN);
}
//已登录,放行请求
return true;
}
}
package com.demo.interceptor;
/**
* @Description: 管理员访问拦截器
*/
public class AdminInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
}
/**
* 参数校验异常处理和数据绑定异常处理
* @param e
* @return
*/
@ExceptionHandler(value = {MethodArgumentNotValidException.class, BindException.class})
public ResultVO methodArgumentNotValidExceptionHandler(Exception e) {
BindingResult bindingResult;
if(e instanceof MethodArgumentNotValidException){
MethodArgumentNotValidException ex= (MethodArgumentNotValidException)e;
bindingResult = ex.getBindingResult();
}else {
BindException ex=(BindException)e;
bindingResult = ex.getBindingResult();
}
ObjectError error = bindingResult.getAllErrors().get(0);
return new ResultVO(ResultCode.ARGUMENT_NOT_VALID,error.getDefaultMessage(),null);
}
/**
* 其他异常处理
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
public ResultVO ExceptionHandler(Exception e){
log.error(e.getMessage());
return new ResultVO(ResultCode.UNKNOWN_ERROR,e.getMessage());
}
}
package com.demo.controller;
/**
* @Description: 客户端路由控制器
@PostMapping("/update")
public ResultVO categoryUpdate(@Valid Category record)
{
int categories = categoryService.updateByCategoryCode(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加分页
@GetMapping("/searchall")
public ResultVO categorySearchAll(Integer page,Integer limit)
{
List<Category> categories = categoryService.selectAll(page==null?0:page,limit==null?10:limit);
if(categories.size()!=0)
return new ResultVO(ResultCode.SUCCESS,categories);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
}
package com.demo.exception;
/**
* @Description: 全局异常处理
*/
@RestControllerAdvice
public class GlobalExceptionHandler {
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
/**
* 自定义异常处理
package com.demo.interceptor;
/**
* @Description: 登录验证拦截器
*/
public class ClientLoginInterceptor implements HandlerInterceptor {
/**
* 拦截请求判断是否已经登录
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if (session.getAttribute("user")==null) {
//用户未登录,抛出异常
throw new CustomizeException(ResultCode.USER_NOT_LOGGED_IN);
}
//已登录,放行请求
return true;
}
}
package com.demo.interceptor;
/**
* @Description: 管理员访问拦截器
*/
public class AdminInterceptor implements HandlerInterceptor {
@RequestMapping("/cart")
public class ShoppingCartController {
@Autowired
private ShoppingCartService shoppingCartService;
/**
* 根据用户ID获取该用户的购物车
* @param session
* @return
*/
@GetMapping("/list")
public ResultVO getCartByUserId(HttpSession session) {
User user = (User) session.getAttribute("user");
List<ShoppingCart> carts = shoppingCartService.getShoppingCartsByUserId(user.getUserId());
return new ResultVO(ResultCode.SUCCESS, carts);
}
/**
* 更新购物车的商品数量
* @param cartId 购物车Id
* @param quantity 商品购买数量
* @return
*/
@PutMapping("/list/{cartId}")
public ResultVO updateCartItem(@PathVariable("cartId") Integer cartId,Integer quantity) {
if(quantity<=0){
throw new CustomizeException(ResultCode.FAILED,"购物数量必须大于0");
}
if(quantity>10){
throw new CustomizeException(ResultCode.FAILED,"每件商品限购10件");
}
ShoppingCart cart = new ShoppingCart();
cart.setCartId(cartId);
cart.setQuantity(quantity);
shoppingCartService.updateShoppingCart(cart);
return new ResultVO(ResultCode.SUCCESS);
}
/**
* 添加到购物车请求处理
*
* @param cart 接收前台传来的参数
* @return
public ResultVO getCartByUserId(HttpSession session) {
User user = (User) session.getAttribute("user");
List<ShoppingCart> carts = shoppingCartService.getShoppingCartsByUserId(user.getUserId());
return new ResultVO(ResultCode.SUCCESS, carts);
}
/**
* 更新购物车的商品数量
* @param cartId 购物车Id
* @param quantity 商品购买数量
* @return
*/
@PutMapping("/list/{cartId}")
public ResultVO updateCartItem(@PathVariable("cartId") Integer cartId,Integer quantity) {
if(quantity<=0){
throw new CustomizeException(ResultCode.FAILED,"购物数量必须大于0");
}
if(quantity>10){
throw new CustomizeException(ResultCode.FAILED,"每件商品限购10件");
}
ShoppingCart cart = new ShoppingCart();
cart.setCartId(cartId);
cart.setQuantity(quantity);
shoppingCartService.updateShoppingCart(cart);
return new ResultVO(ResultCode.SUCCESS);
}
/**
* 添加到购物车请求处理
*
* @param cart 接收前台传来的参数
* @return
*/
@PostMapping("/list")
public ResultVO addToShoppingCart(@Valid ShoppingCart cart, HttpSession session) {
User user = (User) session.getAttribute("user");
cart.setUserId(user.getUserId());
shoppingCartService.addToShoppingCart(cart);
return new ResultVO(ResultCode.SUCCESS);
}
/**
* 删除前台传来的cartId的购物车项
* @param cartId
* @return
*/
@DeleteMapping("/list/{cartId}")
public ResultVO deleteCartItem(@PathVariable("cartId") Integer cartId) {
shoppingCartService.deleteShoppingCartByCartId(cartId);
return new ResultVO(ResultCode.SUCCESS);
public class ClientLoginInterceptor implements HandlerInterceptor {
/**
* 拦截请求判断是否已经登录
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if (session.getAttribute("user")==null) {
//用户未登录,抛出异常
throw new CustomizeException(ResultCode.USER_NOT_LOGGED_IN);
}
//已登录,放行请求
return true;
}
}
package com.demo.interceptor;
/**
* @Description: 管理员访问拦截器
*/
public class AdminInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if (session.getAttribute("admin")==null) {
//用户未登录,抛出异常
throw new CustomizeException(ResultCode.USER_NOT_LOGGED_IN);
}
Admin admin = (Admin) session.getAttribute("admin");
//已登录,放行请求
return true;
}
*/
@GetMapping("/orders")
@ResponseBody
public ResultVO getUserOrders(Integer page, Integer limit, HttpSession session) {
User user = (User) session.getAttribute("user");
List<Order> orders = orderHandleService.getOrdersByUserId(user.getUserId(), page, limit);
PageInfo pageInfo = new PageInfo(orders);
return new ResultVO(ResultCode.SUCCESS, (int)pageInfo.getTotal(),orders);
}
/**
* 删除指定orderId的订单
* @param orderId
* @return
*/
@DeleteMapping("/orders/{orderId}")
@ResponseBody
public ResultVO deleteOrder(@PathVariable("orderId") Integer orderId) {
int orders = orderHandleService.deleteOrderById(orderId);
return new ResultVO(ResultCode.SUCCESS,null);
}
}
package com.demo.controller;
/**
* @Description: 后台页面的路由跳转
*/
@Controller
@RequestMapping("/admin")
public class AdminRouterController {
//跳转用户管理页面
@GetMapping("/user_manage")
public String toUserManage(){
return "admin/user";
}
//跳转书籍管理页面
@GetMapping({"/","/book_manage"})
public String toBookManage(){
return "admin/books";
}
//跳转分类管理页面
/**
* @Description: 分类管理模块控制器
*/
@RestController
@RequestMapping("category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@Resource
private CategoryMapper categoryMapper;
@GetMapping("/searchcode")
public ResultVO categorySearchByCode(String categoryCode)
{
Category categories = categoryService.selectByByCategoryCode(categoryCode);
if(categories!=null)
return new ResultVO(ResultCode.SUCCESS,categories);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
@PostMapping("/delete")
public ResultVO categoryDelete(String categoryCode)
{
int categories = categoryService.deleteByByCategoryCode(categoryCode);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/insert")
public ResultVO categoryInsert(@Valid Category record)
{
int categories = categoryService.insert(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/update")
InputStream inBuff = new BufferedInputStream(new FileInputStream(srcFile));
OutputStream outBuff = new BufferedOutputStream(new FileOutputStream(new File(new File(targetPath).getAbsolutePath(), targetFileName)));
byte[] b = new byte[1024 * 5 * 10];
int len;
while ((len = inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
outBuff.flush();
inBuff.close();
outBuff.close();
}
}
package com.demo.controller;
/**
* @Description: 分类管理模块控制器
*/
@RestController
@RequestMapping("category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@Resource
private CategoryMapper categoryMapper;
@GetMapping("/searchcode")
public ResultVO categorySearchByCode(String categoryCode)
}
List<Book> books = bookService.searchBooks(book, page, limit);
PageInfo pageInfo = new PageInfo(books);
return new ResultVO(ResultCode.SUCCESS, (int) pageInfo.getTotal(), books);
}
}
package com.demo.controller;
/**
* @Description: 首页商品展示模块控制器
*/
@Controller
@RequestMapping("/index")
public class BookDisplayController {
@Autowired
private BookDisplayService bookDisplayService;
/**
* 处理前台获取所有分类的请求
* @return
*/
@GetMapping("/category")
*/
@DeleteMapping("/list/{userId}")
public ResultVO deleteUser(@PathVariable("userId") Integer userId) {
int users =userService.deleteByUserId(userId);
return new ResultVO(ResultCode.SUCCESS,null);
}
/* 暂时不需要
@PostMapping("/insert")
public ResultVO insertUser(User record) {
int users =userService.insert(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
*/
/* @GetMapping("/search")
public ResultVO searchUserById(Integer userId) {
User users =userService.selectByUserId(userId);
if(users!=null)
return new ResultVO(ResultCode.SUCCESS,users);
else
return new ResultVO(ResultCode.USER_NOT_FOUND,null);
}*/
/* 原来
@PostMapping("/update1")
public ResultVO updateUser( User record) {
int users =userService.updateByUserId(record);
return new ResultVO(ResultCode.SUCCESS,null);
}*/
/**
* 修改 添加验证注解和RequestBody注解 --By guozongchao
* @param record
* @return
*/
@PostMapping("/update")
public ResultVO updateUser(@RequestBody @Valid User record) {
int users =userService.updateByUserId(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
@GetMapping("/search")
public ResultVO categoryInsert(@Valid Category record)
{
int categories = categoryService.insert(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/update")
public ResultVO categoryUpdate(@Valid Category record)
{
int categories = categoryService.updateByCategoryCode(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加分页
@GetMapping("/searchall")
public ResultVO categorySearchAll(Integer page,Integer limit)
{
List<Category> categories = categoryService.selectAll(page==null?0:page,limit==null?10:limit);
if(categories.size()!=0)
return new ResultVO(ResultCode.SUCCESS,categories);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
}
package com.demo.exception;
/**
* @Description: 全局异常处理
*/
}
package com.demo.exception;
/**
* @Description: 全局异常处理
*/
@RestControllerAdvice
public class GlobalExceptionHandler {
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
/**
* 自定义异常处理
* @param e
* @return
*/
@ExceptionHandler(CustomizeException.class)
public ResultVO customizeExceptionHandler(CustomizeException e){
log.error(e.getMessage());
return new ResultVO(e.getCode(),e.getMsg(),null);
}
/**
* 参数校验异常处理和数据绑定异常处理
* @param e
* @return
*/
@ExceptionHandler(value = {MethodArgumentNotValidException.class, BindException.class})
public ResultVO methodArgumentNotValidExceptionHandler(Exception e) {
BindingResult bindingResult;
if(e instanceof MethodArgumentNotValidException){
MethodArgumentNotValidException ex= (MethodArgumentNotValidException)e;
bindingResult = ex.getBindingResult();
}else {
}
/**
* 根据前台传来的categoryCode,响应对应的分类的书籍
* 需要进行分页响应
* 如果categoryCode为null,则响应所有书籍
* @param categoryCode 分类代码
* @param page 页码
* @param limit 每页的数量
* @return
*/
@GetMapping("/books")
@ResponseBody
public ResultVO getBooksByCategoryCode(@RequestParam(required = false) String categoryCode, @RequestParam(required = false) Integer page, @RequestParam(required = false) Integer limit) {
List<Book> books = bookDisplayService.getBooksByCategoryCode(page==null?1:page, limit==null?10:limit, categoryCode);
PageInfo pageInfo = new PageInfo(books); //获得分页信息
return new ResultVO(ResultCode.SUCCESS, (int) pageInfo.getTotal(),books);
}
/**
* 根据请求的bookId,返回该Id的书籍信息,响应Html视图
* @param bookId
* @return
*/
@GetMapping("/books/details/{bookId}")
public String bookDetailsView(@PathVariable("bookId") Integer bookId, Model model) {
Book book = bookDisplayService.getBookDetailsByBookId(bookId);
model.addAttribute("book", book);
return "details";
}
/**
* 首页根据书名搜索书籍
* @param bookName
* @return
*/
@GetMapping("/books/search")
@ResponseBody
public ResultVO searchBook(@RequestParam(required = true) String bookName) {
List<Book> books = bookDisplayService.searchBooksByBookName(1, 10, bookName);
PageInfo pageInfo = new PageInfo(books);
return new ResultVO(ResultCode.SUCCESS, (int) pageInfo.getTotal(), books);
}
}
package com.demo.controller;
bindingResult = ex.getBindingResult();
}else {
BindException ex=(BindException)e;
bindingResult = ex.getBindingResult();
}
ObjectError error = bindingResult.getAllErrors().get(0);
return new ResultVO(ResultCode.ARGUMENT_NOT_VALID,error.getDefaultMessage(),null);
}
/**
* 其他异常处理
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
public ResultVO ExceptionHandler(Exception e){
log.error(e.getMessage());
return new ResultVO(ResultCode.UNKNOWN_ERROR,e.getMessage());
}
}
package com.demo.controller;
/**
* @Description: 客户端路由控制器
*/
@Controller
public class ClientRouterController {
//跳转首页
@GetMapping({"/","/index"})
public String toHomePage(){
return "index";
}
//跳转登录页面
@GetMapping("/login")
public String toLogin(HttpSession session){
if(session.getAttribute("user")!=null){
return "redirect:/";
}
return "login";
}
{
int categories = categoryService.deleteByByCategoryCode(categoryCode);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/insert")
public ResultVO categoryInsert(@Valid Category record)
{
int categories = categoryService.insert(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加验证
@PostMapping("/update")
public ResultVO categoryUpdate(@Valid Category record)
{
int categories = categoryService.updateByCategoryCode(record);
return new ResultVO(ResultCode.SUCCESS,null);
}
//添加分页
@GetMapping("/searchall")
public ResultVO categorySearchAll(Integer page,Integer limit)
{
List<Category> categories = categoryService.selectAll(page==null?0:page,limit==null?10:limit);
if(categories.size()!=0)
return new ResultVO(ResultCode.SUCCESS,categories);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
}
package com.demo.exception;
public void userRegister(User record) {
User user=userMapper.selectByUserName(record.getUserName());
if(user!=null){
throw new CustomizeException(ResultCode.FAILED,"用户名已存在");
}
userMapper.insert(record);
}
@Override
public void adminLogin(Admin admin, HttpSession session) {
}
}
package com.demo.controller;
/**
* @Description: 用户中心模块
*/
@Controller
@RequestMapping("/user_center")
public class UserCenterController {
@Autowired
private OrderHandleService orderHandleService;
/**
* 根据用户ID,获取用户订单
* @return
*/
@GetMapping("/orders")
@ResponseBody
public ResultVO getUserOrders(Integer page, Integer limit, HttpSession session) {
User user = (User) session.getAttribute("user");
List<Order> orders = orderHandleService.getOrdersByUserId(user.getUserId(), page, limit);
PageInfo pageInfo = new PageInfo(orders);
return new ResultVO(ResultCode.SUCCESS, (int)pageInfo.getTotal(),orders);
return "login";
}
//跳转注册页面
@GetMapping("/register")
public String toRegister(){
return "register";
}
//跳转个人订单页面
@GetMapping("/{userName}/orders")
public String toOrderCenter(@PathVariable("userName") String userName,HttpSession session){
User user= (User) session.getAttribute("user");
if(user!=null && user.getUserName().equals(userName)){
return "user_orders";
}
return "redirect:/login";
}
//跳转购物车页面
@GetMapping("/{userName}/shopping_cart")
public String toUserShoppingCart(@PathVariable("userName") String userName,HttpSession session){
User user= (User) session.getAttribute("user");
if(user!=null && user.getUserName().equals(userName)){
return "shopping_cart";
}
return "redirect:/login";
}
}
package com.demo.service.impl;
/**
* @Description: 登录注册模块实现类
public ResultVO getOrderByUserId(@PathVariable("userId") Integer userId) {
List<Order> orders = orderService.selectByUserId(userId);
if(orders.size()!=0)
{
return new ResultVO(ResultCode.SUCCESS,orders);
}
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}*/
@GetMapping("/list/{orderId}")
public ResultVO getOrderByOrderId(@PathVariable("orderId") Integer orderId) {
Order orders = orderService.selectByOrderId(orderId);
if(orders!=null)
return new ResultVO(ResultCode.SUCCESS,orders);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
/**
* 多条件搜索订单 ---- by guozongchao
* @param order
* @param page
* @param limit
* @return
*/
@GetMapping("/search")
public ResultVO searchOrders(Order order, Integer page, Integer limit) {
if (order.getConsigneeName().isEmpty()) {
order.setConsigneeName(null);
}
List<Order> orders = orderService.searchOrders(order, page, limit);
PageInfo pageInfo = new PageInfo(orders);
return new ResultVO(ResultCode.SUCCESS, (int) pageInfo.getTotal(), orders);
}
}
package com.demo.controller;
if(categories.size()!=0)
return new ResultVO(ResultCode.SUCCESS,categories);
else
return new ResultVO(ResultCode.RECORD_NOT_FOUND,null);
}
}
package com.demo.exception;
/**
* @Description: 全局异常处理
*/
@RestControllerAdvice
public class GlobalExceptionHandler {
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
/**
* 自定义异常处理
* @param e
* @return
*/
@ExceptionHandler(CustomizeException.class)
public ResultVO customizeExceptionHandler(CustomizeException e){
log.error(e.getMessage());
return new ResultVO(e.getCode(),e.getMsg(),null);
}
/**
* 参数校验异常处理和数据绑定异常处理
* @param e