Java项目:在线餐饮管理系统(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<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";
			}
			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> 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";
	}
	
	@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) {
			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) {
			List<OrderDetail> orderDetails = (List<OrderDetail>) 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<StatsVO> 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<StatsVO> 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> 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<DishType> 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<DishType> 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";
	}
}

源码获取:俺的博客首页 "资源" 里下载!

猜你喜欢

转载自blog.csdn.net/pastclouds/article/details/125612802