当前位置:   article > 正文

基于springboot网上订餐系统_springboot 订餐系统

springboot 订餐系统

开发工具:IDEA,jdk1.8 数据库:mysql5.7

前端框架:layui

技术:springboot+mybatis-plus

项目简介

本项目为点餐系统,主要分三个角色:用户、商户、管理员

用户前台:实现了登录、注册、菜品浏览、查看详情、加入购物车、生成订单、支付、评价、修改个人信息、修改密码、我的订单、我的评价、我的收藏、浏览记录、收货地址、退出登录等功能。

商户后台:登录、注册、修改密码、修改个人信息、系统管理(评价管理、通知公告)、订单管理(退款处理、订单配送、订单列表)、餐饮管理、退出登录。

管理员后台:登录、修改密码、修改个人信息、用户管理、角色管理、菜单管理、评价管理、字典管理、通知公告、餐饮管理、订单管理、订单统计、退出登录。

用户截图:

商户后台:

管理员后台:

  1. /**
  2. * 餐饮评价 信息操作处理
  3. *
  4. * @author IT教程资源
  5. */
  6. @Controller
  7. @RequestMapping("/user/remark")
  8. public class UserGoodsRemarkController extends BaseController {
  9. private String prefix = "normal";
  10. @Autowired
  11. private IUserOrderService userOrderService;
  12. @Autowired
  13. private IUserGoodsRemarkService userGoodsRemarkService;
  14. /**
  15. * 跳转到菜品评论页面
  16. *
  17. * @param orderId
  18. * @param mmap
  19. * @return
  20. */
  21. @GetMapping("/{orderId}")
  22. public String userGoodsRemark(@PathVariable("orderId") Long orderId, ModelMap mmap) {
  23. UserOrder order = userOrderService.selectUserOrderById(orderId);
  24. mmap.put("order", order);
  25. mmap.put("menuType", "order");
  26. mmap.put("topTitle", "用户中心");
  27. return prefix + "/user_remark_save";
  28. }
  29. /**
  30. * 查询餐饮评价列表
  31. *
  32. * @return
  33. */
  34. @PostMapping("/list")
  35. @ResponseBody
  36. public TableDataInfo list() {
  37. Long userId = this.getUserId();
  38. startPage();
  39. List<UserOrderRemark> list = userGoodsRemarkService.selectOrderRemarkForUser(userId);
  40. return getDataTable(list);
  41. }
  42. /**
  43. * 新增保存餐饮评价
  44. *
  45. * @param goodsId
  46. * @param msg
  47. * @param score
  48. * @param orderId
  49. * @return
  50. */
  51. @PostMapping("/save")
  52. public String addSave(Long[] goodsId, String[] msg, Integer[] score, Long orderId) {
  53. UserGoodsRemark[] remarks = new UserGoodsRemark[goodsId.length];
  54. for (int i = 0; i < goodsId.length; i++) {
  55. remarks[i] = new UserGoodsRemark(orderId, goodsId[i], this.getUserId(), score[i], msg[i]);
  56. }
  57. userGoodsRemarkService.insertUserGoodsRemark(remarks);
  58. return "redirect:/user/remark";
  59. }
  60. /**
  61. * 删除餐饮评价
  62. *
  63. * @param id
  64. * @return
  65. */
  66. @GetMapping("/remove")
  67. public String remove(Long id) {
  68. userGoodsRemarkService.deleteUserGoodsRemarkByIds(id.toString());
  69. return "redirect:/user/remark";
  70. }
  71. /**
  72. * 删除餐饮评价(多选)
  73. *
  74. * @param ids
  75. * @return
  76. */
  77. @PostMapping("/remove")
  78. @ResponseBody
  79. public AjaxResult remove(String ids) {
  80. return toAjax(userGoodsRemarkService.deleteUserGoodsRemarkByIds(ids));
  81. }
  82. /**
  83. * 跳转用户菜品评价页面
  84. *
  85. * @return
  86. */
  87. @RequiresPermissions("system:userGoodsRemark:view")
  88. @GetMapping("/seller")
  89. public String remark() {
  90. return "/system/userGoodsRemark/userGoodsRemark";
  91. }
  92. /**
  93. * 查询店家的菜品评价
  94. *
  95. * @param userGoodsRemark
  96. * @return
  97. */
  98. @PostMapping("/listForSeller")
  99. @ResponseBody
  100. public TableDataInfo listForSeller(UserGoodsRemark userGoodsRemark) {
  101. if (!this.getUser().isAdmin()) {
  102. userGoodsRemark.getParams().put("sellerId", this.getUserId());
  103. }
  104. startPage();
  105. List<UserGoodsRemark> list = userGoodsRemarkService.selectUserGoodsRemarkList(userGoodsRemark);
  106. return getDataTable(list);
  107. }
  108. }
package com.project.web.controller.system;

import java.util.List;
import java.util.Map;

import com.project.web.controller.common.BaseController;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.project.common.base.AjaxResult;
import com.project.common.utils.ShiroUtils;
import com.project.system.domain.SysMenu;
import com.project.system.domain.SysRole;
import com.project.system.service.ISysMenuService;

/**
 * 菜单信息
 *
 * @author
 */
@Controller
@RequestMapping("/system/menu")
public class MenuController extends BaseController {
    private String prefix = "system/menu";

    @Autowired
    private ISysMenuService menuService;

    /**
     * 跳转菜单页面
     *
     * @return
     */
    @RequiresPermissions("system:menu:view")
    @GetMapping()
    public String menu() {
        return prefix + "/menu";
    }

    /**
     * 查询菜单列表
     *
     * @param menu
     * @return
     */
    @RequiresPermissions("system:menu:list")
    @GetMapping("/list")
    @ResponseBody
    public List<SysMenu> list(SysMenu menu) {
        List<SysMenu> menuList = menuService.selectMenuList(menu);
        return menuList;
    }

    /**
     * 删除菜单
     *
     * @param menuId
     * @return
     */
    @RequiresPermissions("system:menu:remove")
    @PostMapping("/remove/{menuId}")
    @ResponseBody
    public AjaxResult remove(@PathVariable("menuId") Long menuId) {
        if (menuService.selectCountMenuByParentId(menuId) > 0) {
            return error(1, "存在子菜单,不允许删除");
        }
        if (menuService.selectCountRoleMenuByMenuId(menuId) > 0) {
            return error(1, "菜单已分配,不允许删除");
        }
        ShiroUtils.clearCachedAuthorizationInfo();
        return toAjax(menuService.deleteMenuById(menuId));
    }

    /**
     * 跳转新增菜单页面
     *
     * @param parentId
     * @param mmap
     * @return
     */
    @GetMapping("/add/{parentId}")
    public String add(@PathVariable("parentId") Long parentId, ModelMap mmap) {
        SysMenu menu = null;
        if (0L != parentId) {
            menu = menuService.selectMenuById(parentId);
        } else {
            menu = new SysMenu();
            menu.setMenuId(0L);
            menu.setMenuName("主目录");
        }
        mmap.put("menu", menu);
        return prefix + "/add";
    }

    /**
     * 新增保存菜单
     *
     * @param menu
     * @return
     */
    @RequiresPermissions("system:menu:add")
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(SysMenu menu) {
        menu.setCreateBy(ShiroUtils.getLoginName());
        ShiroUtils.clearCachedAuthorizationInfo();
        return toAjax(menuService.insertMenu(menu));
    }

    /**
     * 跳转修改菜单页面
     *
     * @param menuId
     * @param mmap
     * @return
     */
    @GetMapping("/edit/{menuId}")
    public String edit(@PathVariable("menuId") Long menuId, ModelMap mmap) {
        mmap.put("menu", menuService.selectMenuById(menuId));
        return prefix + "/edit";
    }

    /**
     * 修改保存菜单
     *
     * @param menu
     * @return
     */
    @RequiresPermissions("system:menu:edit")
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(SysMenu menu) {
        menu.setUpdateBy(ShiroUtils.getLoginName());
        ShiroUtils.clearCachedAuthorizationInfo();
        return toAjax(menuService.updateMenu(menu));
    }

    /**
     * 跳转选择菜单图标页面
     *
     * @return
     */
    @GetMapping("/icon")
    public String icon() {
        return prefix + "/icon";
    }

    /**
     * 校验菜单名称
     *
     * @param menu
     * @return
     */
    @PostMapping("/checkMenuNameUnique")
    @ResponseBody
    public String checkMenuNameUnique(SysMenu menu) {
        return menuService.checkMenuNameUnique(menu);
    }

    /**
     * 加载角色菜单列表树
     *
     * @param role
     * @return
     */
    @GetMapping("/roleMenuTreeData")
    @ResponseBody
    public List<Map<String, Object>> roleMenuTreeData(SysRole role) {
        List<Map<String, Object>> tree = menuService.roleMenuTreeData(role, getUser());
        return tree;
    }

    /**
     * 加载所有菜单列表树
     *
     * @param role
     * @return
     */
    @GetMapping("/menuTreeData")
    @ResponseBody
    public List<Map<String, Object>> menuTreeData(SysRole role) {
        List<Map<String, Object>> tree = menuService.menuTreeData();
        return tree;
    }

    /**
     * 选择菜单树
     *
     * @param menuId
     * @param mmap
     * @return
     */
    @GetMapping("/selectMenuTree/{menuId}")
    public String selectMenuTree(@PathVariable("menuId") Long menuId, ModelMap mmap) {
        mmap.put("menu", menuService.selectMenuById(menuId));
        return prefix + "/tree";
    }
}
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/570479
推荐阅读
相关标签
  

闽ICP备14008679号