傻瓜式外卖点餐系统(无数据库)
项目源码和GitHub地址已经为大家整理好了,有需要的直接文末扫码领取。
tips:
-
菜品类(菜品id,菜品名,菜品类型,上架时间,单价,月销售,总数量)
-
管理员类(管理员id,账号,密码)
-
客户类(客户id,客户名,性别,密码,送餐地址,手机号,创建时间)
-
订单类(订单号,订单创建时间,菜品id,购买数,客户id,总价格,订单状态)
说明:
-
菜品类型可自行设计数据类型(int或String),如1:面食 2:米饭 3:湘菜 …
-
菜品上架时间、客户创建时间、订单创建时间根据添加时间自动分配系统时间
-
订单状态类型为int(0:未支付 1:已支付 2:配送中 3:已完成)
要求实现如下功能: -
实现不同角色用户登录系统
(1) 管理员登录系统看到如下菜单:
① 添加菜品
② 查看所有菜品信息(包含分页功能)
③ 查看指定类别的菜品信息
④ 根据菜品id修改菜品价格
⑤ 删除指定id的菜品
⑥ 添加客户
⑦ 查看客户列表
⑧ 删除指定id的客户
⑨ 订单列表显示
⑩ 根据订单id修改订单状态
11 退出
(2) 客户登录看到如下菜单:
① 显示所有菜品(按菜品销量从高到低排序输出)
-------->点餐(输入菜品id和购买数量)
② 根据菜品类别显示所有菜品
③ 查看所有订单(当前登录用户的)
④ 修改密码(当前登录用户的)
⑤ 个人信息显示
以上就是全部要求,首先咱们可以先建一个接口,方便对四个管理类进行操作;
package com.softeem.lesson23.test2;
一、再根据要求,先把四个类的属性类建立起来:
1. Admin类(管理员类)
package com.softeem.lesson23.test2;
2. Dishes类(菜品类)
package com.softeem.lesson23.test2;
3. Order类(订单类)
package com.softeem.lesson23.test2;
4. User类(用户类)
package com.softeem.lesson23.test2;
这一步没什么难度,直接把每一个属性都设置一下,然后设置为私有,注意属性的数据类型,这个很重要,方便后期管理类对其进行操作。
二、属性管理类
这个是整个demo比较难得地方,我的想法是建立Admin属性管理类,Order属性管理类,Dishes属性类,User属性管理类,再在Admin属性管理类里把Order属性管理类,Dishes属性类,User属性管理类先new出来,然后,每个属性管理类实现各自的方法,只需要在Admin属性管理类中调用各个属性管理类的方法,就可以实现通过Admin类管理其他类的数据,但是,每个类需要建一个Map集合,存储各自的元素,此处应该注意每个属性管理类Map的键方便后期对Map进行操作,然后建立菜单类,规定User和Admin能调用的方法。
话不多说,直接上代码,一下代码是通过Admin管理类延伸的,所以先看Admin管理类。
1. Admin管理类
package com.softeem.lesson23.test2;
2. Order属性管理类
package com.softeem.lesson23.test2;
3. User属性管理类
package com.softeem.lesson23.test2;
4. Dishes属性管理类
package com.softeem.lesson23.test2;
以上基本就是代码的核心部分,剩下的部分就简化很多了,建立一个菜单类,分别对其进行不同调用就行了
三、菜单类
package com.softeem.lesson23.test2;
这里switch采取String(jdk1.7以后才支持)可以让用户就算输入错误也不会报错导致程序运行终止,又要重新输入(我摊牌了,就是懒)。
四、测试类
package com.softeem.lesson23.test2;
五、实现部分界面截图
最后
项目源码和GitHub地址已经为大家整理好了,有需要的直接文末扫码领取。
还有最近金九银十结束后我为大家整理了好多资料,这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
有需要的直接下方扫码领取。