外卖点餐系统部分模块设计

外面点餐系统(部分)

泛型接口

1.定义一个泛型接口DAO 创建以下方法:
(1)Public void insert(T t) 添加T类型对象到Map中
(2)Public T findById(String id); 根据id获取Map中的元素
(3)Public List findAll(); 返回map中的所有元素值集
(4)Public void delete(String id); 根据id删除Map中的元素

package com.peng.lesson23.restaurant;

import java.util.List;

public interface DAO<T> {
   

	public void insert(T t);// 添加T类型对象到Map中

	public T findById(int id);// 根据id获取Map中的元素

	public List<T> findAll();// 返回Map中的所有元素值

	public void delete(String id);// 根据id删除Map中的元素
}

定义四个实体类

2.使用基于以上的接口完成一个外卖点餐系统部分模块设计,其中包含实体类:
(1)菜品类(菜品id,菜品名,菜品类型,上架时间,单价,月销售,总数量)
(2)管理员类(管理员id,账号,密码)
(3)客户类(客户id,客户名,性别,密码,送餐地址,手机号,创建时间)
(4)订单类(订单号,订单创建时间,菜品id,购买数,客户id,总价格,订单状态)
说明:
1)菜品类型可自行设计数据类型(int或String),如1:面食 2:米饭 3:湘菜 …
2)菜品上架时间、客户创建时间、订单创建时间根据添加时间自动分配系统时间
3)订单状态类型为int(0:未支付 1:已支付 2:配送中 3:已完成)
要求实现如下功能:
1.实现不同角色用户登录系统
(1)管理员登录系统看到如下菜单:
①添加菜品
②查看所有菜品信息(包含分页功能)
③查看指定类别的菜品信息
④根据菜品id修改菜品价格
⑤删除指定id的菜品
⑥添加客户
⑦查看客户列表
⑧删除指定id的客户
⑨订单列表显示
⑩根据订单id修改订单状态
⑪退出
(2)客户登录看到如下菜单:
①显示所有菜品(按菜品销量从高到低排序输出)
1)点餐(输入菜品id和购买数量)
②根据菜品类别显示所有菜品
③查看所有订单(当前登录用户的)
④修改密码(当前登录用户的)
⑤个人信息显示

除实体类其他的几个类结构如下:

FoodsManager类
package com.peng.lesson23.restaurant;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;

public class FoodsManager implements DAO<Foods> {
   
	static Map<Integer, Foods> foods = new HashMap<>();

	//默认菜品
	static {
   
		foods.put(1, new Foods(1, "北京烤鸭", "京菜", LocalDate.of(2017, 6, 22), 58.0, 236, 999));
		foods.put(2, new Foods(2, "麻婆豆腐", "川菜", LocalDate.of(2018, 3, 13), 22.0, 121, 999));
		foods.put(3, new Foods(3, "农家小炒肉", "湘菜", LocalDate.of(2018, 5, 19), 36.0, 225, 999));
		foods.put(4, new Foods(4, "秘制油焖大虾", "川菜", LocalDate.of(2018, 5, 19), 88.8, 371, 999));
		foods.put(5, new Foods(5, "清蒸武昌鱼", "鄂菜", LocalDate.of(2018, 5, 19), 59.0, 159, 999));
		foods.put(6, new Foods(6, "排骨藕汤", "鄂菜", LocalDate.of(2018, 5, 19), 30.0, 162, 999));
		foods.put(7, new Foods(7, "东安子鸡", "湘菜", LocalDate.of(2018, 7, 2), 45.0, 228, 999));
		foods.put(8, new Foods(8, "腊味合蒸", "湘菜", LocalDate.of(2018, 7, 2), 45.0, 109, 999));
		foods.put(9, new Foods(9, "广式烧鹅", "粤菜", LocalDate.of(2018, 7, 2), 58.0, 143, 999));
		foods.put(9, new Foods(10, "京酱肉丝", "京菜", LocalDate.of(2017, 10, 21), 45.0, 192, 999));
		foods.put(9, new Foods(11, "白切鸡", "粤菜", LocalDate.of(2018, 10, 21), 58.0, 162, 999));
		foods.put(9, new Foods(12, "宫保鸡丁", "川菜", LocalDate.of(2018, 10, 21), 58.0, 297, 999));
	}
	
	@Override
	// 菜品添加
	public void insert(Foods t) {
   
		foods.put(t.getFid(), t);
	}

	@Override
	// 根据菜品id查询菜品
	public Foods findById(int id) {
   
		return foods.get
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值