基于springboot网上订餐系统

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

前端框架:layui

技术:springboot+mybatis-plus

项目简介

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

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

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

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

用户截图:

基于springboot网上订餐系统_第1张图片

基于springboot网上订餐系统_第2张图片

基于springboot网上订餐系统_第3张图片

基于springboot网上订餐系统_第4张图片

基于springboot网上订餐系统_第5张图片

基于springboot网上订餐系统_第6张图片

基于springboot网上订餐系统_第7张图片

基于springboot网上订餐系统_第8张图片

基于springboot网上订餐系统_第9张图片

基于springboot网上订餐系统_第10张图片

商户后台:

基于springboot网上订餐系统_第11张图片

基于springboot网上订餐系统_第12张图片

基于springboot网上订餐系统_第13张图片

基于springboot网上订餐系统_第14张图片

基于springboot网上订餐系统_第15张图片

管理员后台:

基于springboot网上订餐系统_第16张图片

基于springboot网上订餐系统_第17张图片

基于springboot网上订餐系统_第18张图片

基于springboot网上订餐系统_第19张图片

基于springboot网上订餐系统_第20张图片

基于springboot网上订餐系统_第21张图片

基于springboot网上订餐系统_第22张图片

基于springboot网上订餐系统_第23张图片

基于springboot网上订餐系统_第24张图片

基于springboot网上订餐系统_第25张图片

基于springboot网上订餐系统_第26张图片

基于springboot网上订餐系统_第27张图片

/**
 * 餐饮评价 信息操作处理
 *
 * @author IT教程资源
 */
@Controller
@RequestMapping("/user/remark")
public class UserGoodsRemarkController extends BaseController {
    private String prefix = "normal";

    @Autowired
    private IUserOrderService userOrderService;
    @Autowired
    private IUserGoodsRemarkService userGoodsRemarkService;

    /**
     * 跳转到菜品评论页面
     *
     * @param orderId
     * @param mmap
     * @return
     */
    @GetMapping("/{orderId}")
    public String userGoodsRemark(@PathVariable("orderId") Long orderId, ModelMap mmap) {
        UserOrder order = userOrderService.selectUserOrderById(orderId);
        mmap.put("order", order);
        mmap.put("menuType", "order");
        mmap.put("topTitle", "用户中心");
        return prefix + "/user_remark_save";
    }

    /**
     * 查询餐饮评价列表
     *
     * @return
     */
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list() {
        Long userId = this.getUserId();
        startPage();
        List list = userGoodsRemarkService.selectOrderRemarkForUser(userId);
        return getDataTable(list);
    }

    /**
     * 新增保存餐饮评价
     *
     * @param goodsId
     * @param msg
     * @param score
     * @param orderId
     * @return
     */
    @PostMapping("/save")
    public String addSave(Long[] goodsId, String[] msg, Integer[] score, Long orderId) {
        UserGoodsRemark[] remarks = new UserGoodsRemark[goodsId.length];
        for (int i = 0; i < goodsId.length; i++) {
            remarks[i] = new UserGoodsRemark(orderId, goodsId[i], this.getUserId(), score[i], msg[i]);
        }
        userGoodsRemarkService.insertUserGoodsRemark(remarks);
        return "redirect:/user/remark";
    }

    /**
     * 删除餐饮评价
     *
     * @param id
     * @return
     */
    @GetMapping("/remove")
    public String remove(Long id) {
        userGoodsRemarkService.deleteUserGoodsRemarkByIds(id.toString());
        return "redirect:/user/remark";
    }

    /**
     * 删除餐饮评价(多选)
     *
     * @param ids
     * @return
     */
    @PostMapping("/remove")
    @ResponseBody
    public AjaxResult remove(String ids) {
        return toAjax(userGoodsRemarkService.deleteUserGoodsRemarkByIds(ids));
    }

    /**
     * 跳转用户菜品评价页面
     *
     * @return
     */
    @RequiresPermissions("system:userGoodsRemark:view")
    @GetMapping("/seller")
    public String remark() {
        return "/system/userGoodsRemark/userGoodsRemark";
    }

    /**
     * 查询店家的菜品评价
     *
     * @param userGoodsRemark
     * @return
     */
    @PostMapping("/listForSeller")
    @ResponseBody
    public TableDataInfo listForSeller(UserGoodsRemark userGoodsRemark) {
        if (!this.getUser().isAdmin()) {
            userGoodsRemark.getParams().put("sellerId", this.getUserId());
        }
        startPage();
        List list = userGoodsRemarkService.selectUserGoodsRemarkList(userGoodsRemark);
        return getDataTable(list);
    }
}
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 list(SysMenu menu) {
        List 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> roleMenuTreeData(SysRole role) {
        List> tree = menuService.roleMenuTreeData(role, getUser());
        return tree;
    }

    /**
     * 加载所有菜单列表树
     *
     * @param role
     * @return
     */
    @GetMapping("/menuTreeData")
    @ResponseBody
    public List> menuTreeData(SysRole role) {
        List> 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";
    }
}

你可能感兴趣的:(springboot,毕业设计,springboot网上订餐,毕设)