基于javaweb+mysql的springboot在线点餐系统(java+springboot+maven+mybatis+vue+mysql+redis)

基于javaweb+mysql的springboot在线点餐系统(java+springboot+maven+mybatis+vue+mysql+redis)

运行环境

Java≥8、MySQL≥5.7、Node.js≥10

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行

前端:WebStorm/VSCode/HBuilderX等均可

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot在线点餐系统(java+springboot+maven+mybatis+vue+mysql+redis)

项目描述:

这是一个基于SpringBoot+Vue框架开发的在线点餐系统。首先,这是一个前后端分离的项目。具有一个在线点餐系统该有的所有功能。

项目功能:

此项目分为两个角色:普通用户和管理员。普通用户有登录注册、浏览商品信息、添加购物车、结算订单、查看个人信息、查看个人订单详情等等功能。管理员有管理所有商品信息、管理所有订单信息、管理所有用户信息、查看收益数据图表等等功能。

应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6.3+ Node14.16.1

     */
    @PostMapping("/list")
    public ResponseDTO<List<ProductDTO>> getProductList(@RequestBody ProductDTO productDTO){
        return productService.getProductList(productDTO);
    }

    /**
     * 前台获取最新上线菜单数据
     * @return
     */
    @PostMapping("/new")
    public ResponseDTO<List<ProductDTO>> listByCreateTime(){
        return productService.listByCreateTime();
    }

    /**
     * 前台根据商品id获取商品信息
     * @param productDTO
     * @return
     */
    @PostMapping("/get")
    public ResponseDTO<ProductDTO> getById(@RequestBody ProductDTO productDTO){
        return productService.getById(productDTO);
    }
}

/**
 */
@RestController("AdminCategoryController")
    public ResponseDTO<Boolean> saveCategory(@RequestBody CategoryDTO categoryDTO){
        return categoryService.saveCategory(categoryDTO);
    }

    /**
     * 后台分页获取商品分类数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<CategoryDTO>> getCategoryListByPage(@RequestBody PageDTO<CategoryDTO> pageDTO){
        return categoryService.getCategoryListByPage(pageDTO);
    }

    /**
     * 后台删除商品分类数据
     * @param categoryDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeCategory(@RequestBody CategoryDTO categoryDTO){
        return categoryService.removeCategory(categoryDTO);
    }

    /**
     * 后台获取所有商品分类数据
     * @return
     */
    @PostMapping("/all")
    public ResponseDTO<List<CategoryDTO>> getAllCategoryList(){
        return categoryService.getAllCategoryList();
    }

    /**
     * 获取五个成交额最高的商品分类
     * @return
     */
    @PostMapping("/total-price")
    public ResponseDTO<List<CategoryDTO>> getCategoryListByPrice(){
        return categoryService.getCategoryListByPrice();
    }

}


/**
 */
@RestController("WebProductController")
@RequestMapping("/web/product")
public class ProductController {

    @Resource
    private IProductService productService;

    /**
     * 获取首页推荐商品数据
     * @return
     */
    @PostMapping("/recommend_list")
    public ResponseDTO<List<ProductDTO>> getRecommendList(){
        return productService.getRecommendList();
    }

    /**
     * 获取首页热销商品数据
     * @return
     */
    @PostMapping("/sale_list")
    public ResponseDTO<List<ProductDTO>> getSaleList(){
        return productService.getSaleList();
    }

    /**
     * 获取首页高人气商品数据
     * @return
     */
    @PostMapping("/view_list")
    public ResponseDTO<List<ProductDTO>> getViewList(){
        return productService.getViewList();
    }

    /**
     * 首页获取全部菜单数据
     * @param productDTO
     * @return
     */
    @PostMapping("/save")
    public ResponseDTO<Boolean> saveUser(@RequestBody UserDTO userDTO){
        return userService.saveUser(userDTO);
    }

    /**
     * 后台分页获取用户数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<UserDTO>> getUserListByPage(@RequestBody PageDTO<UserDTO> pageDTO){
        return userService.getUserListByPage(pageDTO);
    }

    /**
     * 后台删除用户数据
     * @param userDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeUser(@RequestBody UserDTO userDTO){
        return userService.removeUser(userDTO);
    }

    /**
     * 后台获取用户总数
     * @return
     */
    @PostMapping("/total")
    public ResponseDTO<Long> getUserTotal(){
        return userService.getUserTotal();
    }

    /**
     * 后台获取在线用户
     * @return
     */
    @PostMapping("/online")
    public ResponseDTO<List<UserDTO>> getOnlineUser(){
        return userService.getOnlineUser();
    }

    /**
     * 后台用户登录
     * @param userDTO
     * @return
     */
    }

    /**
     * 获取个人订单信息
     * @param orderDTO
     * @return
     */
    @PostMapping("/self-order")
    public ResponseDTO<List<OrderDTO>> getByUserId(@RequestBody OrderDTO orderDTO){
        return orderService.getByUserId(orderDTO);
    }

    /**
     * 取消订单操作
     * @param orderDTO
     * @return
     */
    @PostMapping("/cancel")
    public ResponseDTO<Boolean> cancelOrder(@RequestBody OrderDTO orderDTO){
        return orderService.updateOrderState(orderDTO);
    }

}

/**
 */
@RestController("WebCategoryController")
@RequestMapping("/web/category")
public class CategoryController {

    @Resource
    private ICategoryService categoryService;

    /**
@RestController("AdminOrderController")
@RequestMapping("/admin/order")
public class OrderController {

    @Resource
    private IOrderService orderService;

    /**
     * 后台分页获取订单数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<OrderDTO>> getOrderListByPage(@RequestBody PageDTO<OrderDTO> pageDTO){
        return orderService.getOrderListByPage(pageDTO);
    }

    /**
     * 后台修改订单状态
     * @param orderDTO
     * @return
     */
    @PostMapping("/edit-state")
    public ResponseDTO<Boolean> editState(@RequestBody OrderDTO orderDTO){
        return orderService.updateOrderState(orderDTO);
    }

    /**
     * 根据订单id获取订单详情信息
     * @param orderDTO
     * @return
     */
    @PostMapping("/order-item")
    public ResponseDTO<OrderDTO> getOrderItemByOrderId(@RequestBody OrderDTO orderDTO){
        return orderService.getOrderItemByOrderId(orderDTO);
    }

    /**
     * 后台删除订单数据
     * @param orderDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeOrder(@RequestBody OrderDTO orderDTO){
        return orderService.removeOrder(orderDTO);
    }

     * 获取个人订单信息
     * @param orderDTO
     * @return
     */
    @PostMapping("/self-order")
    public ResponseDTO<List<OrderDTO>> getByUserId(@RequestBody OrderDTO orderDTO){
        return orderService.getByUserId(orderDTO);
    }

    /**
     * 取消订单操作
     * @param orderDTO
     * @return
     */
    @PostMapping("/cancel")
    public ResponseDTO<Boolean> cancelOrder(@RequestBody OrderDTO orderDTO){
        return orderService.updateOrderState(orderDTO);
    }

}

/**
 */
@RestController("WebCategoryController")
@RequestMapping("/web/category")
public class CategoryController {

    @Resource
    private ICategoryService categoryService;

    /**

}

/**
 */
@RestController("WebUserController")
@RequestMapping("/web/user")
public class UserController {

    @Resource
    private IUserService userService;

    /**
     * 用户注册操作处理
     * @param userDTO
     * @return
     */
    @PostMapping("/register")
    public ResponseDTO<Boolean> register(@RequestBody UserDTO userDTO){
        return userService.register(userDTO);
    }

    /**
     * 前台登录操作处理
     * @param userDTO
     * @return
     */
    @PostMapping("/login")
    public ResponseDTO<UserDTO> webLogin(@RequestBody UserDTO userDTO){
        return userService.webLogin(userDTO);
    }

    /**

/**
 */
@RestController("AdminUserController")
@RequestMapping("/admin/user")
public class UserController {

    @Resource
    private IUserService userService;

    /**
     * 后台保存用户数据(添加、修改)
     * @param userDTO
     * @return
     */
    @PostMapping("/save")
    public ResponseDTO<Boolean> saveUser(@RequestBody UserDTO userDTO){
        return userService.saveUser(userDTO);
    }

    /**
     * 后台分页获取用户数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<UserDTO>> getUserListByPage(@RequestBody PageDTO<UserDTO> pageDTO){
        return userService.getUserListByPage(pageDTO);
    }

    /**
     * 后台删除用户数据
     * @param userDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeUser(@RequestBody UserDTO userDTO){
        return userService.removeUser(userDTO);
    }

    /**
     * 后台获取用户总数
    @PostMapping("/count-state-date")
    public ResponseDTO<List<Integer>> getOrderCountByDateAndState(){
        return orderService.getOrderCountByDateAndState();
    }

}

/**
 */
@RestController("AdminUserController")
@RequestMapping("/admin/user")
public class UserController {

    @Resource
    private IUserService userService;

    /**
     * 后台保存用户数据(添加、修改)
     * @param userDTO
     * @return
     */
    @PostMapping("/save")
    public ResponseDTO<Boolean> saveUser(@RequestBody UserDTO userDTO){
        return userService.saveUser(userDTO);
    }

    /**
     * 后台分页获取用户数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<UserDTO>> getUserListByPage(@RequestBody PageDTO<UserDTO> pageDTO){

/**
 */
@RestController("WebOrderController")
@RequestMapping("/web/order")
public class OrderController {

    @Resource
    private IOrderService orderService;

    /**
     * 提交订单操作
     * @param orderDTO
     * @return
     */
    @PostMapping("/add")
    public ResponseDTO<Boolean> addOrder(@RequestBody OrderDTO orderDTO){
        return orderService.addOrder(orderDTO);
    }

    /**
     * 获取个人订单信息
     * @param orderDTO
     * @return
     */
    @PostMapping("/self-order")
    public ResponseDTO<List<OrderDTO>> getByUserId(@RequestBody OrderDTO orderDTO){
        return orderService.getByUserId(orderDTO);
    }

    /**
     * 取消订单操作
     * @param orderDTO
     * @return
     */
    @PostMapping("/cancel")
    public ResponseDTO<Boolean> cancelOrder(@RequestBody OrderDTO orderDTO){
        return orderService.updateOrderState(orderDTO);
    }

    private static final Logger logger = LoggerFactory.getLogger(PhotoController.class);

    /**
     * 系统统一的图片查看方法
     *
     * @param filename
     * @return
     */
    @RequestMapping(value = "/view")
    public ResponseEntity<?> viewPhoto(@RequestParam(name = "filename", required = true) String filename) {
        Resource resource = resourceLoader.getResource("file:" + uploadPhotoPath + filename);
        try {
            return ResponseEntity.ok(resource);
        } catch (Exception e) {
            return ResponseEntity.notFound().build();
        }
    }

    /**
     * 自定义上传图片处理
     *
     * @param photo
     * @param request
     * @return
     */
    @PostMapping(value = "/upload_photo")
    public ResponseDTO<String> uploadPhoto(MultipartFile photo, HttpServletRequest request) {
        if (photo == null) {
            return ResponseDTO.errorByMsg(CodeMsg.PHOTO_EMPTY);
        }
        //检查上传文件大小 不能超过2MB
        if (photo.getSize() > 2 * 1024 * 1024) {
            return ResponseDTO.errorByMsg(CodeMsg.PHOTO_SURPASS_MAX_SIZE);
        }
        //获取文件后缀
        String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".") + 1, photo.getOriginalFilename().length());
        if (!CommonUtil.isPhoto(suffix)) {
            return ResponseDTO.errorByMsg(CodeMsg.PHOTO_FORMAT_NOT_CORRECT);
        }
        String path = request.getContextPath();
        String savePath = uploadPhotoPath + CommonUtil.getFormatterDate(new Date(), "yyyyMMdd") + "\\";

/**
 */

/**
 * 运行时触发异常捕获
 */
@ControllerAdvice
public class ExceptionsHandler {

    private  final Logger logger = LoggerFactory.getLogger(ExceptionsHandler.class);

    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public ResponseDTO<Boolean> handle(RuntimeException e) {
        e.printStackTrace();
        if(!CommonUtil.isEmpty(e.getMessage())) {
            logger.info("异常信息={}", e.getMessage());
            if ("订单交易失败,请稍后重试!".equals(e.getMessage())) {
                return ResponseDTO.errorByMsg(CodeMsg.ORDER_ADD_ERROR);
            }
        }
        return ResponseDTO.errorByMsg(CodeMsg.SYSTEM_ERROR);
    }

    @ExceptionHandler(MaxUploadSizeExceededException.class)
    @ResponseBody
    public ResponseDTO<Boolean> handle(MaxUploadSizeExceededException e) {
        e.printStackTrace();
        return ResponseDTO.errorByMsg(CodeMsg.PHOTO_SURPASS_MAX_SIZE);
    }
}

/**
 */
@RestController("WebOrderController")
@RequestMapping("/web/order")
public class OrderController {

    @Resource
    private IOrderService orderService;

    /**
     * 后台分页获取订单数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<OrderDTO>> getOrderListByPage(@RequestBody PageDTO<OrderDTO> pageDTO){
        return orderService.getOrderListByPage(pageDTO);
    }

    /**
     * 后台修改订单状态
     * @param orderDTO
     * @return
     */
    @PostMapping("/edit-state")
    public ResponseDTO<Boolean> editState(@RequestBody OrderDTO orderDTO){
        return orderService.updateOrderState(orderDTO);
    }

    /**
     * 根据订单id获取订单详情信息
     * @param orderDTO
     * @return
     */
    @PostMapping("/order-item")
    public ResponseDTO<OrderDTO> getOrderItemByOrderId(@RequestBody OrderDTO orderDTO){
        return orderService.getOrderItemByOrderId(orderDTO);
    }

    /**
     * 后台删除订单数据
     * @param orderDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeOrder(@RequestBody OrderDTO orderDTO){
        return orderService.removeOrder(orderDTO);
    }

    /**
     * 后台获取订单总数
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<List<CartDTO>> listCart(@RequestBody CartDTO cartDTO){
        return cartService.listCart(cartDTO);
    }

    /**
     * 更新购物车中商品数量
     * @param cartDTO
     * @return
     */
    @PostMapping("/update")
    public ResponseDTO<Boolean> updateQuantity(@RequestBody CartDTO cartDTO){
        return cartService.updateQuantity(cartDTO);
    }
}

/**
 */

/**
 * 运行时触发异常捕获
 */
@ControllerAdvice
public class ExceptionsHandler {

    private  final Logger logger = LoggerFactory.getLogger(ExceptionsHandler.class);

    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public ResponseDTO<Boolean> handle(RuntimeException e) {
        e.printStackTrace();
        if(!CommonUtil.isEmpty(e.getMessage())) {
            logger.info("异常信息={}", e.getMessage());
            if ("订单交易失败,请稍后重试!".equals(e.getMessage())) {
                return ResponseDTO.errorByMsg(CodeMsg.ORDER_ADD_ERROR);
            }
        }
        return ResponseDTO.errorByMsg(CodeMsg.SYSTEM_ERROR);
    }

    @ExceptionHandler(MaxUploadSizeExceededException.class)
     * 后台删除用户数据
     * @param userDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeUser(@RequestBody UserDTO userDTO){
        return userService.removeUser(userDTO);
    }

    /**
     * 后台获取用户总数
     * @return
     */
    @PostMapping("/total")
    public ResponseDTO<Long> getUserTotal(){
        return userService.getUserTotal();
    }

    /**
     * 后台获取在线用户
     * @return
     */
    @PostMapping("/online")
    public ResponseDTO<List<UserDTO>> getOnlineUser(){
        return userService.getOnlineUser();
    }

    /**
     * 后台用户登录
     * @param userDTO
     * @return
     */
    @PostMapping("/login")
    public ResponseDTO<UserDTO> login(@RequestBody UserDTO userDTO){
        return userService.adminLogin(userDTO);
    }

    /**
     * 后台检查管理员是否登录
     * @param userDTO
     * @return
     */
    @PostMapping("/check_login")
    public ResponseDTO<UserDTO> checkLogin(@RequestBody UserDTO userDTO){
        return userService.checkLogin(userDTO);
    }

    /**
     * 后台用户退出登录
     * @return
     */
    @PostMapping("/logout")
    public ResponseDTO<Boolean> logout(@RequestBody UserDTO userDTO){
     */
    @PostMapping("/save")
    public ResponseDTO<Boolean> saveRole(@RequestBody RoleDTO roleDTO){
        return roleService.saveRole(roleDTO);
    }

    /**
     * 后台分页获取角色数据
     * @param pageDTO
     * @return
     */
    @PostMapping("/list")
    public ResponseDTO<PageDTO<RoleDTO>> getRoleListByPage(@RequestBody PageDTO<RoleDTO> pageDTO){
        return roleService.getRoleListByPage(pageDTO);
    }

    /**
     * 后台获取所有角色数据
     * @return
     */
    @PostMapping("/all")
    public ResponseDTO<List<RoleDTO>> getAllRoleList(){
        return roleService.getAllRoleList();
    }

    /**
     * 后台删除角色数据
     * @param roleDTO
     * @return
     */
    @PostMapping("/remove")
    public ResponseDTO<Boolean> removeRole(@RequestBody RoleDTO roleDTO){
        return roleService.removeRole(roleDTO);
    }
}

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值