基于javaweb+mysql的ssm在线餐饮管理系统(java+ssm+bootstrap+jsp+jquery+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SSM在线餐饮管理系统(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项目:否;
技术栈
- 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+CSS+JavaScript+jQuery+bootstrap
使用说明
- 使用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/
userService.update(cuser);
return "restaurent/changepwd";
}
}
@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() + "%'");
}
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<OrderDetail> orderDetails = new ArrayList<OrderDetail>();
if (session.getAttribute("orderDetails") != null) {
orderDetails = (List<OrderDetail>) 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<Table> 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) {
@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<User> users = new ArrayList<User>();
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 "restaurent/tablelist";
}
@RequestMapping(value="/save", method = RequestMethod.POST)
public String save(Table table, ModelMap modelMap, HttpSession session) {
if(table.getId() == null) {
tableService.insert(table);
} else {
tableService.update(table);
}
return "redirect:list.html";
}
@RequestMapping(value="/add", method = RequestMethod.GET)
public String add(ModelMap modelMap) {
return "restaurent/addtable";
}
@RequestMapping(value="/update", method = RequestMethod.GET)
public String update(int id, ModelMap modelMap) {
Table table = tableService.getTableById(id);
modelMap.put("table", table);
return "restaurent/addtable";
}
@RequestMapping(value="/delete", method = RequestMethod.GET)
public String delete(int id, ModelMap modelMap) {
tableService.deleteById(id);
return "redirect:list.html";
}
}
tableService.deleteById(id);
return "redirect:list.html";
}
}
@Controller
public class PublicController extends BaseController {
@Autowired
private UserService userService;
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String handleLogin(@RequestParam("username") String username,
@RequestParam("password") String password, ModelMap modelMap, HttpSession session) {
User user = userService.getUserByAccount(username);
if (user != null && user.getPassword().equals(password)) {
session.setAttribute("user", user);
if ("admin".equals(user.getType())) {
return "redirect:main.html";
} else {
return "redirect:usermain.html";
}
} else {
modelMap.put("errors", "用户名或密码错误!");
return "login";
}
}
@RequestMapping(value = "/logout", method = RequestMethod.POST)
public String logout(HttpSession session) {
session.removeAttribute("user");
return "login";
}
}
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> 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<OrderDetail> orderDetails = orderService.getOrderDetailByOrderId(orderId);
modelMap.put("order", order);
modelMap.put("orderDetails", orderDetails);
return "restaurent/orderdetail";
List<OrderDetail> orderDetails = new ArrayList<OrderDetail>();
if (session.getAttribute("orderDetails") != null) {
orderDetails = (List<OrderDetail>) 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<OrderDetail> orderDetails = new ArrayList<OrderDetail>();
if (session.getAttribute("orderDetails") != null) {
orderDetails = (List<OrderDetail>) session.getAttribute("orderDetails");
}
int total = 0;
for (OrderDetail orderDetail : orderDetails) {
if (orderDetail.getDishId().equals(dishType) && number != null) {
orderDetail.setQuantity(number);
}
return "redirect:list.html";
}
}
@Controller
@RequestMapping(value="/table")
public class TableController extends BaseController {
@Autowired
TableService tableService;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String get(HttpServletRequest request, ModelMap modelMap) {
List<Table> tables = tableService.getAll();
modelMap.addAttribute("tables", tables);
return "restaurent/tablelist";
}
@RequestMapping(value="/save", method = RequestMethod.POST)
public String save(Table table, ModelMap modelMap, HttpSession session) {
if(table.getId() == null) {
tableService.insert(table);
} else {
tableService.update(table);
}
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> 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";
}
public String save(Table table, ModelMap modelMap, HttpSession session) {
if(table.getId() == null) {
tableService.insert(table);
} else {
tableService.update(table);
}
return "redirect:list.html";
}
@RequestMapping(value="/add", method = RequestMethod.GET)
public String add(ModelMap modelMap) {
return "restaurent/addtable";
}
@RequestMapping(value="/update", method = RequestMethod.GET)
public String update(int id, ModelMap modelMap) {
Table table = tableService.getTableById(id);
modelMap.put("table", table);
return "restaurent/addtable";
}
@RequestMapping(value="/delete", method = RequestMethod.GET)
public String delete(int id, ModelMap modelMap) {
tableService.deleteById(id);
return "redirect:list.html";
}
}
@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<User> users = new ArrayList<User>();
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";
}
@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<User> users = new ArrayList<User>();
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);
@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)
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<OrderDetail> 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<DishType> dishTypes = dishTypeService.getAll();
if (dishType == null) {
dishType = dishTypes.get(0).getId();
}
List<Dishes> 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<OrderDetail> orderDetails = new ArrayList<OrderDetail>();
if (session.getAttribute("orderDetails") != null) {
orderDetails = (List<OrderDetail>) 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) {
}
}
public abstract class BaseController {
protected Map<String, Object> getWhereMap(HttpServletRequest request)
{
Map<String, Object> map = new HashMap<String, Object>();
int start = StringUtil.parseToInt(request.getParameter("start"), 0);
int limit = StringUtil.parseToInt(request.getParameter("limit"), 50);
map.put("start", start);
map.put("limit", limit);
return map;
}
protected Map<String, Object> getMessageMap(boolean success, String message) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("success", success);
map.put("message", message);
return map;
}
}
public String add(ModelMap modelMap) {
return "restaurent/addtable";
}
@RequestMapping(value="/update", method = RequestMethod.GET)
public String update(int id, ModelMap modelMap) {
Table table = tableService.getTableById(id);
modelMap.put("table", table);
return "restaurent/addtable";
}
@RequestMapping(value="/delete", method = RequestMethod.GET)
public String delete(int id, ModelMap modelMap) {
tableService.deleteById(id);
return "redirect:list.html";
}
}
@Controller
public class PublicController extends BaseController {
@Autowired
private UserService userService;
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String handleLogin(@RequestParam("username") String username,
@RequestParam("password") String password, ModelMap modelMap, HttpSession session) {
User user = userService.getUserByAccount(username);
if (user != null && user.getPassword().equals(password)) {
session.setAttribute("user", user);
if ("admin".equals(user.getType())) {
return "redirect:main.html";
} else {
return "redirect:usermain.html";
}
} else {
modelMap.put("errors", "用户名或密码错误!");
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String get(HttpServletRequest request, ModelMap modelMap) {
List<Table> tables = tableService.getAll();
modelMap.addAttribute("tables", tables);
return "restaurent/tablelist";
}
@RequestMapping(value="/save", method = RequestMethod.POST)
public String save(Table table, ModelMap modelMap, HttpSession session) {
if(table.getId() == null) {
tableService.insert(table);
} else {
tableService.update(table);
}
return "redirect:list.html";
}
@RequestMapping(value="/add", method = RequestMethod.GET)
public String add(ModelMap modelMap) {
return "restaurent/addtable";
}
@RequestMapping(value="/update", method = RequestMethod.GET)
public String update(int id, ModelMap modelMap) {
Table table = tableService.getTableById(id);
modelMap.put("table", table);
return "restaurent/addtable";
}
@RequestMapping(value="/delete", method = RequestMethod.GET)
public String delete(int id, ModelMap modelMap) {
tableService.deleteById(id);
return "redirect:list.html";
}
}