java点餐系统_java实现一个点餐系统

importjava.time.LocalDate;importjava.time.LocalDateTime;//import java.util.ArrayList;

importjava.util.Collections;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Scanner;//import java.util.Set;

public class AdminSys implements DAO{static Map map = new HashMap<>();//static Set keys = map.keySet();

UserSys u = newUserSys();

OrderSys o= newOrderSys();

DishesSys d= newDishesSys();

Scanner sc= newScanner(System.in);/*** 添加菜品*/

public voidaddDishes() {

System.out.println("请输入您要添加的菜品:(按照:菜品ID/菜品名/菜品类型/单价/月销量/总数量)");

String str=sc.next();

String[] info= str.split("/");// if (info.length < 6) {

System.out.println("天啦撸,输入失败啦,请重新输入!");

addDishes();

}else{

LocalDate dtime=LocalDate.now();

Dishes t= new Dishes(info[0], info[1], info[2], dtime, Double.parseDouble(info[3]),

Integer.parseInt(info[4]), Integer.parseInt(info[5]));

d.insert(t);

System.out.println("小主,恭喜你!添加成功了");

}

}/*** 查看所有菜品信息(包含分页功能)*/

public void showAllDishes(intpageSize) {

List list =d.findAll();int start = 0;//先写一个死循环,进入else后break掉

while (true) {if (list.size() > (pageSize +start)) {

System.out.println(list.subList(start, pageSize+start));

}else{

System.out.println(list.subList(start, list.size()));break;

}

start= start +pageSize;

}

}/*** 查看指定类别的菜品信息

**/

public voidselecBytypeOfAdmin() {

System.out.println("请输入您要查询菜品的类别:");

String typename=sc.next();

d.selectBytype(typename);

}/*** 根据菜品id修改菜品价格*/

public voidselectByDishesID() {

System.out.println("请输入您要查询的菜品id:");

String id=sc.next();

Dishes dish=d.findById(id);if (dish == null) {

System.out.println("没有当前id的菜品呢");

}else{

System.out.println("当前菜品为:" +dish);

System.out.println("请输入新的菜品单价:");double newprice =sc.nextDouble();

Dishes t= newDishes(dish.getdID(), dish.getDname(), dish.getDtype(), dish.getDtime(), newprice,

dish.getDsales(), dish.getDstocks());

d.insert(t);

System.out.println("修改成功" +d.findById(t.getdID()));

}

}/*** 删除指定id的菜品

*

*@paramargs*/

public voiddeleteDishes() {

System.out.println("请输入您要删除的菜品id");

String id=sc.next();

d.delete(id);

System.out.println("删除成功!!");

}/*** 添加客户*/

public voidaddUser() {

System.out.println("请输入您要添加的用户:按照(id/姓名/性别/密码/送餐地址/手机号)");

String str=sc.next();

String[] info= str.split("/");if (info.length < 6) {

System.out.println("您输入的信息有误,请重新输入....");

addUser();

}else{

LocalDateTime utime=LocalDateTime.now();

u.insert(new User(info[0], info[1], info[2], info[3], info[4], info[5], utime));

System.out.println("添加成功");

}

}/*** 查看客户列表*/

public voidfindUser() {

List userlist =u.findAll();for(User user : userlist) {

System.out.println(user);

}

}/*** 根据id查找指定用户*/

publicUser findUserByid(String id) {returnu.findById(id);

}/*** 删除指定id的客户*/

public voiddeleteUserByAdmin() {

System.out.println("请输入您要删除的id:");

String id=sc.next();

u.delete(id);

}/*** 订单列表显示*/

public voidshowAllOrder() {

List allOrder =o.findAll();for(Order order : allOrder) {

System.out.println(order);

}

}/*** 根据订单id修改订单状态*/

public voidchangeOrderValue() {

System.out.println("请输入您要修改状态的订单id");

String id=sc.next();

Order order=o.findById(id);if (order == null) {

System.out.println("没有当前id的订单,请检查输入");

}else{

System.out.println("已找到当前id订单" +order);

System.out.println("请输入您要修改的状态:0:未支付 1:已支付 2:配送中 3:已完成");int value =sc.nextInt();

Order t= newOrder(order.getOrderID(), order.getUtime(), order.getDishes(), order.getOrdernum(),

order.getuID(), order.getOrderprice(), value);

o.insert(t);

System.out.println("修改成功了!!!");

}

}/*** 显示所有菜品(按菜品销量从高到低排序输出)*/

public voidshowAllDishesByUser() {

List list =d.findAll();

Collections.sort(list, (p1, p2)-> p1.getDsales() -p2.getDsales());

System.out.println(list);

}/*** 点餐(输入菜品id和购买数量)*/

public voidshopDishes(User user) {

showAllDishesByUser();

System.out.println("请输入您要购买的id和数量:按照(id/数量)");

String str=sc.next();

String[] info= str.split("/");//判断输入是否符合要求,不符合则要求重新输入

if (info.length < 2) {

System.out.println("输入有误,请重新输入:");

shopDishes(user);

}else{

LocalDateTime l=LocalDateTime.now();//String orderID, LocalDateTime utime, Dishes dishes, int ordernum, String uID,//Double orderprice,int orderValue

Order t = new Order(info[0], l, d.findById(info[0]), Integer.parseInt(info[1]), user.getuID(),

o.findById(info[0]).getOrderprice(), o.findById(info[0]).getOrderValue());

o.insert(t);

System.out.println("订单已生成!!!" + o.findById(info[0]));

}

}/*** 根据菜品类别显示所有菜品*/

public voidShowOfTypeByUser() {

System.out.println("请输入您要查找的类别:");

String str=sc.next();

System.out.println(d.findByType(str));

}/*** 查看所有订单(当前登录用户的)*/

public voidshowAllOrderByUser(User user) {

List list =o.findByuId(user.getuID());for(Order order : list) {

System.out.println(order);

}

}/*** 修改密码(当前登录用户的)*/

public voidchangePwdByUser(User user) {

u.changepwd(user.getuID());

System.out.println("修改成功!!");

}/*** 个人信息显示*/

public voidshowByUser(User user) {

User findById=u.findById(user.getuID());

System.out.println(findById);

}//待补充功能,删除管理员

@Overridepublic voiddelete(String id) {

}//待补充功能,添加管理员

@Overridepublic voidinsert(Admin t) {//TODO Auto-generated method stub

}//待补充功能,通过id即账号查找管理员

@OverridepublicAdmin findById(String id) {returnmap.get(id);

}//待补充功能,显示所有管理员

@Overridepublic ListfindAll() {//TODO Auto-generated method stub

return null;

}//先设置系统默认数据

public voidaddMessage() {

map.put("qwl", new Admin("10086", "qwl", "123456"));

LocalDate time=LocalDate.now();

Dishes d1= new Dishes("1", "红烧猪蹄", "肉类", time, 12.5, 20, 30);

d.insert(d1);

Dishes d2= new Dishes("2", "鸡公煲", "肉类", time, 21.5, 30, 20);

d.insert(d2);

Dishes d3= new Dishes("3", "麻辣香锅", "火锅类", time, 30, 5, 10);

d.insert(d3);

Dishes d4= new Dishes("4", "水煮肉片", "肉类", time, 15, 12, 15);

d.insert(d4);

Dishes d5= new Dishes("5", "水果沙拉", "水果类", time, 6, 70, 60);

d.insert(d5);//String orderID, LocalDateTime utime, Dishes dishes, int ordernum, String uID,//Double orderprice,int orderValue

LocalDateTime localdatetime =LocalDateTime.now();

Order o1= new Order("1", localdatetime, d1, 10, "1001", 60.0, 1);

o.insert(o1);

Order o2= new Order("2", localdatetime, d2, 5, "1002", 50.0, 10);

o.insert(o2);

Order o3= new Order("3", localdatetime, d3, 5, "1003", 40.0, 5);

o.insert(o3);

Order o4= new Order("4", localdatetime, d4, 5, "1004", 30.0, 6);

o.insert(o4);

Order o5= new Order("5", localdatetime, d5, 5, "1005", 20.0, 8);

o.insert(o5);//String uID, String uname, String usex, String upwd, String uadress, String//utel, LocalDateTime utime

User u1 = new User("1001", "张三", "男", "123456", "湖北", "13545286487", localdatetime);

u.insert(u1);

User u2= new User("1002", "李四", "男", "234567", "湖南", "15927948976", localdatetime);

u.insert(u2);

User u3= new User("1003", "王五", "男", "345678", "江苏", "15927986854", localdatetime);

u.insert(u3);

User u4= new User("1004", "刘柳", "女", "456789", "浙江", "18771580860", localdatetime);

u.insert(u4);

User u5= new User("1005", "赵琦", "女", "567890", "新疆", "18771580750", localdatetime);

u.insert(u5);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值