点餐系统的实现页面详情
1.管理员登录页面
2.管理员菜品页
3.管理员查看订单页
4.订单详情页
5.普通用户页面
6.普通用户下单页面
7.普通用户订单页面
1.创建数据库和表
CREATE DATABASE IF NOT EXISTS ordersysdb CHARACTER SET utf8;
USE ordersysdb;
#创建用户表
CREATE TABLE userinfo
(
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(250),
PASSWORD VARCHAR(50),
isadmin INT COMMENT '0=顾客;1=商家',
PRIMARY KEY (id)
);
#创建菜品表
CREATE TABLE dish(
id INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(250) NOT NULL,
price DECIMAL(0) NOT NULL,
PRIMARY KEY (id)
);
#创建订单表
CREATE TABLE orderinfo
(
id INT NOT NULL AUTO_INCREMENT,
uid INT,
createtime DATETIME DEFAULT NOW(),
STATUS INT COMMENT '0=未完成;1=已完成',
PRIMARY KEY (id)
);
#创建订单详情表
CREATE TABLE orderdetail(
did INT NOT NULL,
oid INT NOT NULL
);
2.创建项目
2.1添加引用
2.2 配置mysql数据库连接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ordersysdb?characterEncoding=utf8&&useSSL=true
spring.datasource.username=root
spring.datasource.password=111111
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
2.3 配置MyBatis 的xml的路径
mybatis.mapper-locations=classpath:mybatis/**Mapper.xml
3.创建实体类
4.实现详情(controller层)
4.1 用户信息操作
@RestController
@RequestMapping("/user")
public class UserInfoController {
@Resource
private UserMapper userMapper;
/**
* 用户注册
*/
@RequestMapping("/reg")
public ResponseBody<Integer> register(UserInfo userInfo) {
int data = userMapper.register(userInfo);
return new ResponseBody<>(0,"",data);
}
/**
* 用户登录
*/
@RequestMapping("/login")
public ResponseBody<UserInfo> login(UserInfo userInfo,HttpServletRequest request) {
UserInfo user = userMapper.login(userInfo);
if (user != null && user.getId() > 0) {
//登录成功
HttpSession session = request.getSession();
session.setAttribute(AppFinal.USERINFO_SESSION_KEY,user);
}
return new ResponseBody<>(0,"",user);
}
/**
* 判断是否为登录状态
*/
@RequestMapping("/islogin")
public ResponseBody<UserInfo> isLogin(HttpServletRequest request) {
UserInfo userInfo = null;
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute(AppFinal.USERINFO_SESSION_KEY) != null) {
userInfo = (UserInfo) session.getAttribute(AppFinal.USERINFO_SESSION_KEY);
}
return new ResponseBody<>(0,"",userInfo);
}
/**
* 退出操作
* @param request
* @return
*/
@RequestMapping("/logout")
public ResponseBody<Integer> loGout(HttpServletRequest request){
int data = 0;
HttpSession session = request.getSession(false);
if (session != null && (session.getAttribute(AppFinal.USERINFO_SESSION_KEY))!=null) {
session.removeAttribute(AppFinal.USERINFO_SESSION_KEY);
data = 1;
}
return new ResponseBody<>(0,"",data);
}
}
4.2 菜品操作
@RestController
@RequestMapping("/dish")
public class DishController {
@Resource
private DishMapper dishMapper;
/**
* 得到菜品列表
*/
@RequestMapping("/getlist")
public ResponseBody<List<Dish>> getDishesList() {
List<Dish> list = dishMapper.getAllList();
return new ResponseBody<>(0,"",list);
}
/**
* 删除单条菜品
*/
@RequestMapping("/del")
public ResponseBody<Integer> del(int id) {
int data = 0;
data = dishMapper.del(id);
return new ResponseBody<>(0,"",data);
}
/**
* 新增菜品
*/
@RequestMapping("/add")
public ResponseBody<Integer> add(String name, BigDecimal price) {
int data = 0;
data = dishMapper.add(name,price);
return new ResponseBody<>(0,"",data);
}
}
4.3 订单操作
public class OrderInfoController {
@Resource
public OrderInfoMapper orderInfoMapper;
@Resource
public OrderDetailMapper orderDetailMapper;
@RequestMapping("/add")
public ResponseBody<Integer> add(String dids, HttpServletRequest request) {
int data = 0;
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute(AppFinal.USERINFO_SESSION_KEY) != null) {
//得到uid,存储订单列表
int uid = ((UserInfo)session.getAttribute(AppFinal.USERINFO_SESSION_KEY)).getId();
//将uid和status两个属性存储进订单表中,拿到订单表的订单主键
OrderInfo orderInfo = new OrderInfo();
orderInfo.setUid(uid);
int oid = orderInfoMapper.add(orderInfo);
if (oid > 0) {
//将oid和菜品id存入订单详情表中
data = orderDetailMapper.add(orderInfo.getId(), dids.split(","));
}
}
return new ResponseBody<>(0,"",data);
}
/**
* 获得订单列表(某个人)
*/
@RequestMapping("/getlist")
public ResponseBody<List<OrderInfo>> getList(HttpServletRequest request) {
List<OrderInfo> list = null;
HttpSession session = request.getSession(false);
if (session != null && session.getAttribute(AppFinal.USERINFO_SESSION_KEY) != null) {
int uid = ((UserInfo)session.getAttribute(AppFinal.USERINFO_SESSION_KEY)).getId();
list = orderInfoMapper.getList(uid);
}
return new ResponseBody<>(0,"",list);
}
/**
* 获得所有的订单列表
*/
@RequestMapping("/listall")
public ResponseBody<List<OrderInfo>> getListAll() {
List<OrderInfo> list = null;
list = orderInfoMapper.getAllList();
return new ResponseBody<>(0,"",list);
}
/**
* 修改订单的状态
*/
@RequestMapping("/upstatus")
public ResponseBody<Integer> upStatus(int oid,int status) {
int data = 0;
data = orderInfoMapper.upStatus(oid,status);
return new ResponseBody<>(0,"",data);
}
}
4.4 订单详情操作
public class OrderDetailController {
@Resource
private OrderDetailMapper orderDetailMapper;
/**
* 得到关联用户的所有订单详情
*/
@RequestMapping("/list")
public ResponseBody<List<OrderDetail>> getList(int oid) {
List<OrderDetail> list = orderDetailMapper.getList(oid);
return new ResponseBody<>(0,"",list);
}
}