基于javaweb的在线餐饮管理系统(java+ssm+bootstrap+jsp+jquery+mysql)

基于javaweb的在线餐饮管理系统(java+ssm+bootstrap+jsp+jquery+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220819210522

20220819210523

20220819210524

20220819210525

20220819210526

20220819210528

基于javaweb+mysql的在线餐饮管理系统(java+SSM+bootstrap+JSP+jQuery+Mysql)

项目介绍

本项目包含管理员与普通用户两种角色; 管理员角色包含以下功能: 管理员登录,查看销售报表,餐桌管理,菜式管理,菜品管理,点餐明细管理,修改密码等功能。

用户角色包含以下功能: 用户登录,点餐,提交订单,修改密码等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  5.数据库:MySql 5.7版本; 6.是否Maven项目:否;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+jQuery+bootstrap

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中WebContent/WEB-INF/config/config.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入 http://localhost:8080/ssm_restaurentsys/

用户管理控制层:

@Controller

@RequestMapping(value=“/user”)

public class UserController extends BaseController {

@Autowired

UserService userService;

@RequestMapping(value = “/list”, method = RequestMethod.GET)

public String get(HttpServletRequest request, ModelMap modelMap, int type) {

String pageNow = request.getParameter(“pageNow”);

Page page = null;

List users = new ArrayList();

int totalCount = (int) userService.getCount(null);

if (pageNow != null) {

page = new Page(totalCount, Integer.parseInt(pageNow));

} else {

page = new Page(totalCount, 1);

Map<String, Object> whereMap = new HashMap<String, Object>();

whereMap.put(“startPos”, page.getStartPos());

whereMap.put(“pageSize”, page.getPageSize());

whereMap.put(“roleid”, type);

users = userService.getAll(whereMap);

modelMap.addAttribute(“users”, users);

modelMap.addAttribute(“page”, page);

modelMap.addAttribute(“roleid”, type);

return “restaurent/user”;

@RequestMapping(value=“/save”, method = RequestMethod.POST)

public String save(User user, ModelMap modelMap, HttpSession session) {

User oUser = userService.getUserByAccount(user.getAccount());

if(user.getId() == null) {

userService.insert(user);

} else {

if (oUser != null) {

modelMap.put(“tempuser”, user);

modelMap.put(“message”, “用户已存在,请重新输入用户名!”);

return “register”;

userService.update(user);

if (session.getAttribute(“user”) == null) {

return “redirect:/login.jsp”;

} else {

User curUser = (User) session.getAttribute(“user”);

if (curUser.getId() == user.getId()) {

modelMap.put(“type”, user.getType());

modelMap.put(“tempuser”, user);

return “register”;

} else {

modelMap.put(“type”, user.getType());

return “redirect:list.html”;

@RequestMapping(value=“/add”, method = RequestMethod.GET)

public String add(ModelMap modelMap) {

return “register”;

@RequestMapping(value=“/update”, method = RequestMethod.GET)

public String update(int id, ModelMap modelMap) {

User user = userService.getUserByID(id);

modelMap.put(“type”, user.getType());

modelMap.put(“tempuser”, user);

return “register”;

@RequestMapping(value=“/delete”, method = RequestMethod.GET)

public String delete(int id, ModelMap modelMap) {

User user = userService.getUserByID(id);

userService.deleteByID(id);

modelMap.put(“type”, user.getType());

return “redirect:list.html”;

@RequestMapping(value=“/changePassword”, method = RequestMethod.GET)

public String changePassword(ModelMap modelMap) {

return “restaurent/changepwd”;

@RequestMapping(value=“/savePassword”, method = RequestMethod.POST)

public String savePassword(HttpSession session, String mpass, String password, ModelMap modelMap) {

User user = (User) session.getAttribute(“user”);

User cuser = userService.getUserByID(user.getId());

if (!cuser.getPassword().equals(mpass)) {

modelMap.put(“error”, “旧密码错误,请重新输入!”);

} else {

modelMap.put(“message”, “密码修改成功!”);

cuser.setPassword(password);

userService.update(cuser);

return “restaurent/changepwd”;

订单管理控制层:

@Controller

@RequestMapping(value=“/order”)

public class OrderController extends BaseController {

@Autowired

OrderService orderService;

@Autowired

DishService dishService;

@Autowired

DishTypeService dishTypeService;

@Autowired

TableService tableService;

@RequestMapping(value = “/list”, method = RequestMethod.GET)

public String get(HttpServletRequest request, ModelMap modelMap, SearchVO searchVO) {

String pageNow = request.getParameter(“pageNow”);

Page page = null;

Map<String, Object> whereMap = new HashMap<String, Object>();

if (!StringUtil.isEmpty(searchVO.getName())) {

whereMap.put(“account”, searchVO.getName());

if (!StringUtil.isEmpty(searchVO.getStartDate())) {

whereMap.put(“startDate”, searchVO.getStartDate());

if (!StringUtil.isEmpty(searchVO.getEndDate())) {

whereMap.put(“endDate”, searchVO.getEndDate());

int totalCount = (int) orderService.getCount(whereMap);

if (pageNow != null) {

page = new Page(totalCount, Integer.parseInt(pageNow));

} else {

page = new Page(totalCount, 1);

whereMap.put(“startPos”, page.getStartPos());

whereMap.put(“pageSize”, page.getPageSize());

List orders = orderService.getAll(whereMap);

modelMap.addAttribute(“orders”, orders);

modelMap.addAttribute(“page”, page);

return “restaurent/orders”;

@RequestMapping(value=“/detail”, method = RequestMethod.GET)

public String daily(int orderId, ModelMap modelMap) {

Orders order = orderService.getById(orderId);

List orderDetails = orderService.getOrderDetailByOrderId(orderId);

modelMap.put(“order”, order);

modelMap.put(“orderDetails”, orderDetails);

return “restaurent/orderdetail”;

@RequestMapping(value = “/select”, method = RequestMethod.GET)

public String get(HttpServletRequest request, ModelMap modelMap, @RequestParam(required = false) Integer dishType) {

List dishTypes = dishTypeService.getAll();

if (dishType == null) {

dishType = dishTypes.get(0).getId();

List dishes = dishService.getDishesByDishType(dishType);

modelMap.addAttribute(“dishTypes”, dishTypes);

modelMap.addAttribute(“dishes”, dishes);

modelMap.addAttribute(“typeId”, dishType);

return “user/select”;

@RequestMapping(value=“/temp”, method = RequestMethod.GET)

@ResponseBody

public String temp(int number, int dishId, HttpSession session) {

List orderDetails = new ArrayList();

if (session.getAttribute(“orderDetails”) != null) {

orderDetails = (List) session.getAttribute(“orderDetails”);

boolean isContain = false;

for (OrderDetail orderDetail : orderDetails) {

if (orderDetail.getDishId().equals(dishId)) {

orderDetail.setQuantity(orderDetail.getQuantity().intValue() + number);

isContain = true;

if (!isContain) {

Dishes dish = dishService.getDishesById(dishId);

OrderDetail detail = new OrderDetail();

detail.setDishId(dishId);

detail.setDishName(dish.getName());

detail.setPrice(dish.getPrice());

detail.setQuantity(number);

orderDetails.add(detail);

session.setAttribute(“orderDetails”, orderDetails);

return “success”;

@RequestMapping(value=“/order”, method = RequestMethod.GET)

public String order(@RequestParam(required = false) Integer dishType, @RequestParam(required = false) Integer number, HttpSession session, ModelMap modelMap) {

List orderDetails = new ArrayList();

if (session.getAttribute(“orderDetails”) != null) {

orderDetails = (List) session.getAttribute(“orderDetails”);

int total = 0;

for (OrderDetail orderDetail : orderDetails) {

if (orderDetail.getDishId().equals(dishType) && number != null) {

orderDetail.setQuantity(number);

total += orderDetail.getPrice().intValue() * orderDetail.getQuantity().intValue();

session.setAttribute(“orderDetails”, orderDetails);

List

tables = tableService.getAll();

modelMap.put(“tables”, tables);

modelMap.put(“total”, total);

return “user/order”;

@RequestMapping(value=“/save”, method = RequestMethod.POST)

public String save(Orders order, ModelMap modelMap, HttpSession session) {

if (session.getAttribute(“orderDetails”) != null) {

List orderDetails = (List) session.getAttribute(“orderDetails”);

if (orderDetails.size() > 0) {

User user = (User) session.getAttribute(“user”);

order.setAccount(user.getAccount());

order.setDealDate(new Date());

order.setStatus(“已下单”);

order.setUserId(user.getId());

Table table = tableService.getTableById(order.getTableId());

order.setTableNo(table.getTableNo());

orderService.insertDetail(order, orderDetails);

session.removeAttribute(“orderDetails”);

return “redirect:order.html”;

@RequestMapping(value=“/cancel”, method = RequestMethod.GET)

public String cancel(int id, ModelMap modelMap) {

Orders order = orderService.getById(id);

order.setStatus(“已取消”);

orderService.update(order);

return “redirect:list.html”;

@RequestMapping(value=“/pay”, method = RequestMethod.POST)

public String pay(int id, double payment, ModelMap modelMap) {

Orders order = orderService.getById(id);

order.setPayment(payment);

order.setStatus(“已付款”);

orderService.update(order);

return “redirect:list.html”;

@RequestMapping(value=“/daily”, method = RequestMethod.GET)

public String daily(ModelMap modelMap) {

List orders = orderService.getDaily(new HashMap<String, Object>());

modelMap.put(“orders”, orders);

return “restaurent/daily”;

@RequestMapping(value=“/monthly”, method = RequestMethod.GET)

public String monthly(ModelMap modelMap) {

List orders = orderService.getMonthly(new HashMap<String, Object>());

modelMap.put(“orders”, orders);

return “restaurent/monthly”;

菜品管理控制层:

@Controller

@RequestMapping(value=“/dish”)

public class DishController extends BaseController {

@Autowired

DishService dishService;

@Autowired

DishTypeService dishTypeService;

@RequestMapping(value = “/list”, method = RequestMethod.GET)

public String get(SearchVO searchVO, HttpServletRequest request, ModelMap modelMap) {

String pageNow = request.getParameter(“pageNow”);

Page page = null;

Map<String, Object> whereMap = new HashMap<String, Object>();

if (!StringUtil.isEmpty(searchVO.getName())) {

whereMap.put(“name”, " name like ‘%" + searchVO.getName() + "%’");

int totalCount = (int) dishService.getCount(whereMap);

if (pageNow != null) {

page = new Page(totalCount, Integer.parseInt(pageNow));

} else {

page = new Page(totalCount, 1);

whereMap.put(“startPos”, page.getStartPos());

whereMap.put(“pageSize”, page.getPageSize());

List dishes = dishService.getAll(whereMap);

modelMap.addAttribute(“dishes”, dishes);

modelMap.addAttribute(“page”, page);

return “restaurent/dishes”;

@RequestMapping(value=“/save”, method = RequestMethod.POST)

public String save(@RequestParam(required=false, value=“file”)MultipartFile file, Dishes dish, ModelMap modelMap, HttpSession session) {

String path = dish.getPic();

if (file != null && !file.isEmpty()) {

String fileName = file.getOriginalFilename();

String ext = fileName.substring(fileName.lastIndexOf(“.”));

path = “/pic/” + System.currentTimeMillis() + ext;

String dir = session.getServletContext().getRealPath(path);

try {

FileUtils.copyInputStreamToFile(file.getInputStream(), new File(dir));

} catch (IOException e) {

e.printStackTrace();

} else if (StringUtil.isEmpty(path)){

path = “/pic/default.jpg”;

dish.setPic(path);

DishType dishType = dishTypeService.getDishTypeById(dish.getDishType());

dish.setTypeName(dishType.getName());

if(dish.getId() == null) {

dishService.insert(dish);

} else {

dishService.update(dish);

return “redirect:list.html”;

@RequestMapping(value=“/add”, method = RequestMethod.GET)

public String add(ModelMap modelMap) {

List dishtypes = dishTypeService.getAll();

modelMap.put(“dishtypes”, dishtypes);

return “restaurent/adddish”;

@RequestMapping(value=“/update”, method = RequestMethod.GET)

public String update(int id, ModelMap modelMap) {

Dishes dish = dishService.getDishesById(id);

List dishtypes = dishTypeService.getAll();

modelMap.put(“dishtypes”, dishtypes);

modelMap.put(“dish”, dish);

return “restaurent/adddish”;

@RequestMapping(value=“/delete”, method = RequestMethod.GET)

public String delete(int id, ModelMap modelMap) {

dishService.deleteById(id);

return “redirect:list.html”;


前端: 1.游客模式(可以观看店家信息) 2.用户登录后可以进行点餐,点餐后可以对菜和店家进行点评进行点评,结账 3.订座 4.个人信息管理 后端: 1.五表权限(员工登录做菜,老板登录观看用户记录和菜铺 管理,订单管理) 2.菜谱管理(增删查改),菜系管理 3.统计菜的点击次数,评价,用户消费总金额,最后一次消费时间 1.用户表:user userId(用户id),userName(用户名),password(密码), createTime(创建时间),lastTime(最后一次登录时间),number 预留号码 2.角色表:role roleId(角色id),roleName(角色名称) 3.权限表:authority 权限id(authorityId),权限名称(authorityId),权限地址(url) 4.用户角色表:user_role 用户id(userId),角色id(roleId) 5.角色权限表:role_authority 角色id(roleId),权限Id(authorityId) 6.消费记录表:record 用户id(userId),用户名称(userName), 消费时间(consumptionTime),消费金额(consumptionMoney) 7.订单表:indent 下单id(indentId),下单用户(userName),下单时间 (indentTime),下单菜谱(menuName) 8.菜谱表:menu 菜谱Id(menuId),菜谱名称(menuName),价格(price),菜系 Id(vegetableId), 图片地址(picture),用户购买量 (userCount),好评数量(good), 一 般数量(general),差 评数量(bad),增加时间(addTime) 9.菜系表:vegetableType 菜系id(vegetableId),菜系名称(vegetableName),增加时间 (addTime) 10.评价表:evaluate 用户id(userId),评价菜谱名(menuName),评价内容 (evaluateContent),评价时间(evaluateTime) 原生态系列,底层代码更好的了解整个项目所需要的哪些细节 具体功能还有很多,就不一一描述了, 希望能帮到大家。
网选课系统是一个非常实用的系统,可以方便学生进行选课操作,也可以方便教师进行课程管理。下面是一个基于JavaWeb的网上选课系统的设计思路: 1. 系统架构 该系统采用 B/S 架构,即浏览器/服务器架构。前端使用 HTML、CSS、JavaScript 和 JQuery,后端使用 Java+SSM 框架和 MySQL 数据库。 2. 系统功能 (1)学生模块:学生可以登录系统后进行选课操作,查看已选课程,并对已选课程进行退选操作。 (2)教师模块:教师可以登录系统后进行课程管理操作,包括添加课程、修改课程、删除课程等操作。 (3)管理员模块:管理员可以登录系统后对学生和教师进行管理,包括添加学生、添加教师、修改学生信息、修改教师信息等操作。 (4)公告管理:管理员可以发布公告,学生和教师可以浏览公告。 (5)选课规则管理:管理员可以设置选课规则,例如每个学生最多选择多少门课程,每门课程最多选多少人等。 3. 数据库设计 该系统需要设计以下数据库表: (1)学生表:包括学生编号、学生姓名、学生性别、学生年龄、所在班级等字段。 (2)教师表:包括教师编号、教师姓名、教师性别、所教课程、教龄等字段。 (3)课程表:包括课程编号、课程名称、授课教师、上课时间、选课人数等字段。 (4)选课记录表:包括学生编号、课程编号等字段。 (5)公告表:包括公告编号、公告内容、发布时间等字段。 4. 技术实现 该系统采用 Java+SSM 框架进行实现,其中: (1)后端技术:采用 SpringMVC 框架进行控制器的开发,采用 MyBatis 框架进行数据库操作。 (2)前端技术:采用 HTML、CSS、JavaScript 和 JQuery 进行页面布局和交互效果的实现。 (3)数据库技术:采用 MySQL 数据库进行数据存储和管理。 5. 总结 网上选课系统是一个非常实用的系统,它可以方便学生进行选课操作,也可以方便教师进行课程管理。该系统采用 B/S 架构,采用 Java+SSM 框架进行开发,实现了学生模块、教师模块、管理员模块、公告管理和选课规则管理等功能。在实现时需要注意数据库表的设计和技术实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值