h5商城网站是什么,网站推广目的,哪里有html企业网站模板下载,建设部网站最新消息文章目录 功能界面用户登录界面显示餐桌状态预定显示所有菜品点餐查看账单结账退出满汉楼 程序框架图项目依赖项目结构方法调用图功能实现登录显示餐桌状态订座显示所有菜品点餐查看账单结账退出满汉楼 扩展思考多表查询如果将来字段越来越多怎么办#xff1f; 员工信息字段可… 文章目录 功能界面用户登录界面显示餐桌状态预定显示所有菜品点餐查看账单结账退出满汉楼 程序框架图项目依赖项目结构方法调用图功能实现登录显示餐桌状态订座显示所有菜品点餐查看账单结账退出满汉楼 扩展思考多表查询如果将来字段越来越多怎么办 员工信息字段可能有很多而且员工数有会很多为提高效率可以采用分表设计 数据库设计满汉楼用户表满汉楼餐桌表菜谱表账单表 功能 界面
用户登录界面 显示餐桌状态 预定 显示所有菜品 点餐 查看账单 结账 退出满汉楼
程序框架图 软件分层是逻辑概念 1.可以用不同包来存放对应的类 2.体现了一个调用的关系 3.可以各司其职 项目依赖 commons-dbutils-1.8.1.jar druid-1.1.10.jar mysql-connector-java-5.1.23-bin.jar 项目结构 方法调用图 功能实现
准备工具类Utility 在实际开发中公司都会提供相应的工具类和开发库可以提高开发效率 登录 接受用户输入员工号和密码 通过员工ID和密码获取员工信息 如果找到匹配的员工信息则返回该员工对象否则返回null 如果!null则登录成功否则登录失败 显示餐桌状态 调用diningTableService的list方法获取所有餐桌的列表然后遍历列表打印每个餐桌的编号和状态到控制台。最后打印一条分隔线表示显示完毕。 订座
功能说明 如果该餐桌处于已经预定或者就餐状态给出提示 思路分析 (1)要检测餐桌是否存在。 (2)要检测餐桌的状态 允许用户选择要预订的餐桌并输入预订信息。如果用户选择取消预订则方法会输出取消预订的消息。如果用户确认预订方法会检查所选餐桌是否存在且未被预订然后接收用户的预订信息并尝试更新餐桌状态。如果预订成功会输出预订成功的消息如果失败会输出预订失败的消息。 如果用户选择取消预订则方法会输出取消预订的消息。 显示所有菜品 调用menuService的list方法获取所有菜品列表然后遍历列表并打印每个菜品的编号、名称、类别和价格。 最后打印一条分隔线表示显示完毕。 点餐
1.功能说明 要求对餐桌号菜品编号做合理性校验如果不合理给出提示信息 2.思路分析 (1)餐桌号菜品编号检验 (2)点餐成功需要修改餐桌状态 (3)生成账单 允许用户选择餐桌号、菜品编号和点餐数量并确认是否进行点餐。 如果用户选择取消点餐或输入的餐桌号、菜品编号不存在则方法会提前退出。 如果用户确认点餐则调用billService的orderMenu方法进行点餐操作并根据点餐结果输出相应的提示信息。 查看账单 该方法调用billService的list方法获取所有账单列表并打印账单的详细信息包括编号、菜品号、菜品量、金额、桌号、日期和状态。打印完毕后输出一条分隔线表示显示完毕。 结账
思路分析 (1)对餐桌号进行校验 (2)修改bill表的state (3)修改diningTable信息 (4)不需要增加新表不需要增加新的类需要增加方法 提供结账服务允许用户选择餐桌进行结账操作。用户可以选择不同的结账方式并在确认后执行结账。如果用户在过程中选择取消或输入无效信息将终止结账流程。 退出满汉楼 扩展思考
多表查询 package com.hspedu.mhl.domain;import java.util.Date;/*** program: mhl* since: jdk1.8* description: 这是一个javabean 可以和多张表进行对应* author: Administrator* create: 2024-12-18 20:43**/
public class MultiTableBean {private Integer id;private String billId;private Integer menuId;private Integer nums;private Double money;private Integer diningTableId;private Date billDate;private String state;// 增加一个来自menu表的列nameprivate String name;// 增加一个来自menu表的priceprivate Double price;public MultiTableBean() {}public MultiTableBean(Integer id, String billId, Integer menuId, Integer nums, Double money, Integer diningTableId, Date billDate, String state, String name, Double price) {this.id id;this.billId billId;this.menuId menuId;this.nums nums;this.money money;this.diningTableId diningTableId;this.billDate billDate;this.state state;this.name name;this.price price;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price price;}public String getName() {return name;}public void setName(String name) {this.name name;}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getBillId() {return billId;}public void setBillId(String billId) {this.billId billId;}public Integer getMenuId() {return menuId;}public void setMenuId(Integer menuId) {this.menuId menuId;}public Integer getNums() {return nums;}public void setNums(Integer nums) {this.nums nums;}public Double getMoney() {return money;}public void setMoney(Double money) {this.money money;}public Integer getDiningTableId() {return diningTableId;}public void setDiningTableId(Integer diningTableId) {this.diningTableId diningTableId;}public Date getBillDate() {return billDate;}public void setBillDate(Date billDate) {this.billDate billDate;}public String getState() {return state;}public void setState(String state) {this.state state;}Overridepublic String toString() {return id \t\t menuId \t\t\t name \t\t\t price \t\t\t nums \t\t\t money \t\t diningTableId \t\t billDate \t\t state;}
}如果将来字段越来越多怎么办 员工信息字段可能有很多而且员工数有会很多为提高效率可以采用分表设计 数据库设计
满汉楼用户表
# 员工表
CREATE TABLE employee (id INT PRIMARY KEY auto_increment,empId VARCHAR (50) UNIQUE NOT NULL DEFAULT ,pwd CHAR(32) NOT NULL DEFAULT ,name VARCHAR (50) NOT NULL DEFAULT ,job VARCHAR (50) NOT NULL DEFAULT
) CHARSETutf8;# 测试数据
insert into employee values(null,6668612,md5(1123456),张三丰,经理);
insert into employee values (null,6668622, md5(1123456),小龙女,服务员);
insert into employee values(null,6668633, md5(123456),张无忌,收银员);
insert into employee values(null,666666,md5(123456),老韩,经理);满汉楼餐桌表
# 餐桌表
CREATE TABLE diningTable(id INT PRIMARY KEY auto_increment,state VARCHAR (20) NOT NULL DEFAULT ,orderName VARCHAR(50) NOT NULL DEFAULT ,orderTel VARCHAR (20) NOT NULL DEFAULT
) CHARSETutf8;# 测试数据
insert into diningTable values(NULL, 空, ,);
insert into diningTable values(NULL, 空, ,);
insert into diningTable values(NULL, 空, ,);菜谱表
# 菜谱表
CREATE TABLE menu(id INT PRIMARY KEY auto_increment,name VARCHAR(50) not null default ,type varchar(50) not null DEFAULT ,price DOUBLE not null DEFAULT 0
) CHARSET utf8;# 测试数据
insert into menu VALUES(NULL,八宝饭,主食, 10);
insert into menu VALUES(NULL,叉烧饭,主食, 20);
insert into menu VALUES(NULL,宫保鸡丁,热菜, 30);
insert into menu VALUES(NULL,山药拨鱼,凉菜, 14);
insert into menu VALUES(NULL,银丝卷,甜食, 9);
insert into menu VALUES(NULL,水煮鱼,热菜, 26);
insert into menu VALUES(NULL,甲鱼汤,汤类, 100);
insert into menu VALUES(NULL,鸡蛋汤,汤类, 16);账单表
CREATE TABLE bill(id INT PRIMARY KEY auto_increment,billId VARCHAR(50) NOT NULL DEFAULT ,menuId INT NOT NULL DEFAULT 0,nums INT NOT NULL DEFAULT 0,money DOUBLE NOT NULL DEFAULT 0,diningTableId INT NOT NULL DEFAULT 0,billDate DATETIME NOT NULL,state VARCHAR(50) NOT NULL DEFAULT
)CHARSET utf8自增主键 账单号(UUID) 菜品编号 份数 金额 餐桌 订单日期 状态