基于Java餐饮掌上设备点餐系统设计实现(源码+lw+部署文档+讲解等)

博主介绍 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战**✌**

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

系统介绍:

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了餐饮掌上设备点餐系统的开发全过程。通过分析餐饮掌上设备点餐系统管理的不足,创建了一个计算机管理餐饮掌上设备点餐系统的方案。文章介绍了餐饮掌上设备点餐系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。

本餐饮掌上设备点餐系统有管理员,用户,餐饮店,员工四个角色。管理员可以管理员工,菜系,餐桌,菜品,订单,加盟申请等信息。用户可以查看并且下单,员工可以查看用户的下单信息,餐饮店可以管理相关的菜品和下单信息,并且可以申请加盟等操作。因而具有一定的实用性。

本站后台采用Java的SSM框架进行后台管理开发,前端采用VUE框架,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得餐饮掌上设备点餐系统管理工作系统化、规范化。

设计的系统功能结构图如下图所示:

图4-2系统功能结构图

程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。

程序操作流程图

功能截图:

5.1.1 菜品信息管理

管理员可以查询,修改,删除餐饮店发布的菜品信息。具体界面的展示如图5.1所示。

图5.1 菜品信息界面

5.1.2 用户信息管理

管理员可以对用户进行查询修改,删除操作。具体界面如图5.2所示。

图5.3 用户信息管理界面

5.1.3 我的订单管理

系统管理员可以对我的订单进行查询,修改,删除操作。界面如下图所示:

图5.4 我的订单管理界面

5.1.4 菜系管理

系统管理员可以对菜系进行添加修改删除操作。界面如下图所示:

图5.4 菜系管理界面

5.2 用户模块的实现

5.2.1 菜品信息

系统首页上面有导航,可以餐饮店,菜品信息,个人中心等导航,不管是查看餐饮店还是菜品信息都可以查到具体的菜品信息,用户只有登录后才可以进行下单操作。界面如下图所示:

图5.5 菜品信息

5.2.2 我的订单

用户登录后,在我的后台里面可以看到自己的订单,可以对订单进行支付操作。界面如下图所示:

图5.6 我的订单

5.3 员工模块的实现

5.3.1 餐桌状态管理

员工登录后可以在餐桌状态管理里面对餐桌状态信息进行添加,修改,删除,查询操作。界面如下图所示:

图5.7 餐桌状态界面

5.4 餐饮店模块的实现

5.4.1 菜品信息管理

餐饮店可以对菜品信息进行添加,修改,删除,查询操作。界面如下图所示:

图5.8 菜品信息管理界面

5.4.2 销售统计管理

餐饮店可以对销售进行统计操作,也可以查看统计报表。界面如下图所示:

图5.9 统计报表界面

5.4.3 员工管理

餐饮店可以对员工信息进行添加,修改,删除,查询操作。界面如下图所示:

图5.10 员工管理界面

代码实现:

java 复制代码
/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private TokenService tokenService;

    /**
     * 登录
     */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String role, HttpServletRequest request) {
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("权限不正常");
            }
            if(user==null || !user.getPassword().equals(password)) {
                return R.error("账号或密码不正确");
            }
            String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
            return R.ok().put("token", token);
        }else{
            return R.error("账号或密码或权限不对");
        }

    }
    
    /**
     * 注册
     */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 退出
     */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return R.ok("退出成功");
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
    @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user==null) {
            return R.error("账号不存在");
        }
        user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
    
    /**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
        PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
        Integer id = (Integer)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

论文参考:

源码获取:

大家点赞、收藏、关注、评论啦 、查看 👇🏻获取联系方式👇🏻

精彩专栏推荐订阅:下方专栏👇🏻

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

相关推荐
Dcs3 分钟前
VSCode等多款主流 IDE 爆出安全漏洞!插件“伪装认证”可执行恶意命令!
java
神仙别闹7 分钟前
基于Python实现LSTM对股票走势的预测
开发语言·python·lstm
保持学习ing9 分钟前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
京东云开发者20 分钟前
Java的SPI机制详解
java
超级小忍42 分钟前
服务端向客户端主动推送数据的几种方法(Spring Boot 环境)
java·spring boot·后端
程序无bug1 小时前
Spring IoC注解式开发无敌详细(细节丰富)
java·后端
小莫分享1 小时前
Java Lombok 入门
java
程序无bug1 小时前
Spring 对于事务上的应用的详细说明
java·后端
食亨技术团队1 小时前
被忽略的 SAAS 生命线:操作日志有多重要
java·后端
苦学编程的谢1 小时前
Maven
java·maven·intellij-idea