——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
(1)用户在线浏览客房,管理自己的个人信息,预订客房。
(2)管理员对酒店的客房信息、活动信息进行管理,同时对客房评论进行管理。


前台





后台:










技术框架
JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) MySQL EasyUI JavaScript
基于javaweb的SSM酒店预定管理系统(前台、后台)(java+java+jsp+ssm+javabean+mysql)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| } if(StringUtils.isEmpty(bookOrder.getArriveDate())){ ret.put("type", "error"); ret.put("msg", "到达时间不能为空!"); return ret; } if(StringUtils.isEmpty(bookOrder.getLeaveDate())){ ret.put("type", "error"); ret.put("msg", "离店时间不能为空!"); return ret; } BookOrder existBookOrder = bookOrderService.find(bookOrder.getId()); if(existBookOrder == null){ ret.put("type", "error"); ret.put("msg", "请选择正确的数据进行编辑!"); return ret; } if(bookOrderService.edit(bookOrder) <= 0){ ret.put("type", "error"); ret.put("msg", "编辑失败,请联系管理员!"); return ret; }
if(existBookOrder.getRoomTypeId().longValue() != bookOrder.getRoomTypeId().longValue()){ RoomType oldRoomType = roomTypeService.find(existBookOrder.getRoomTypeId()); oldRoomType.setAvilableNum(oldRoomType.getAvilableNum() + 1); oldRoomType.setBookNum(oldRoomType.getBookNum() - 1); roomTypeService.updateNum(oldRoomType); if(oldRoomType.getStatus() == 0){ if(oldRoomType.getAvilableNum() > 0){ oldRoomType.setStatus(1); roomTypeService.edit(oldRoomType); } } RoomType newRoomType = roomTypeService.find(bookOrder.getRoomTypeId()); newRoomType.setAvilableNum(newRoomType.getAvilableNum() - 1); newRoomType.setBookNum(newRoomType.getBookNum() + 1); roomTypeService.updateNum(newRoomType); if(newRoomType.getAvilableNum() <= 0){ newRoomType.setStatus(0); roomTypeService.edit(newRoomType); } } ret.put("type", "success"); ret.put("msg", "修改成功!"); return ret;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| queryMap.put("content", content); queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", logService.findList(queryMap)); ret.put("total", logService.getTotal(queryMap)); return ret; }
@RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Map<String, String> add(Log log){ Map<String, String> ret = new HashMap<String, String>(); if(log == null){ ret.put("type", "error"); ret.put("msg", "请填写正确的日志信息!"); return ret; } if(StringUtils.isEmpty(log.getContent())){ ret.put("type", "error"); ret.put("msg", "请填写日志内容!"); return ret; } log.setCreateTime(new Date()); if(logService.add(log) <= 0){ ret.put("type", "error"); ret.put("msg", "日志添加失败,请联系管理员!"); return ret; } ret.put("type", "success"); ret.put("msg", "日志添加成功!"); return ret; }
@RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Map<String, String> delete(String ids){ Map<String, String> ret = new HashMap<String, String>();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| * @param statsValue * @return */ private Map<String, Object> getStatsValue(List<Map> statsValue){ Map<String, Object> ret = new HashMap<String, Object>(); List<String> keyList = new ArrayList<String>(); List<Float> valueList = new ArrayList<Float>(); for(Map m:statsValue){ keyList.add(m.get("stats_date").toString()); valueList.add(Float.valueOf(m.get("money").toString())); } ret.put("keyList", keyList); ret.put("valueList", valueList); return ret; } } package com.demo.interceptor.admin;
public class LoginInterceptor implements HandlerInterceptor {
@Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| Page page ){ Map<String,Object> ret = new HashMap<String, Object>(); Map<String,Object> queryMap = new HashMap<String, Object>(); queryMap.put("name", name); queryMap.put("status", status); queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", roomTypeService.findList(queryMap)); ret.put("total", roomTypeService.getTotal(queryMap)); return ret; }
@RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Map<String, String> delete(Long id){ Map<String, String> ret = new HashMap<String, String>(); if(id == null){ ret.put("type", "error"); ret.put("msg", "请选择要删除的信息!"); return ret; } try { if(roomTypeService.delete(id) <= 0){ ret.put("type", "error"); ret.put("msg", "删除失败,请联系管理员!"); return ret; } } catch (Exception e) { ret.put("type", "error"); ret.put("msg", "该房间类型下存在房间信息,请先删除该房间类型下的所有房间信息!"); return ret; } ret.put("type", "success");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| User user = (User)request.getSession().getAttribute("admin"); if(!user.getPassword().equals(oldpassword)){ ret.put("type", "error"); ret.put("msg", "原密码错误!"); return ret; } user.setPassword(newpassword); if(userService.editPassword(user) <= 0){ ret.put("type", "error"); ret.put("msg", "密码修改失败,请联系管理员!"); return ret; } ret.put("type", "success"); ret.put("msg", "密码修改成功!"); logService.add("用户名为{"+user.getUsername()+"},的用户成功修改密码!"); return ret; }
@RequestMapping(value="/get_cpacha",method=RequestMethod.GET) public void generateCpacha( @RequestParam(name="vl",required=false,defaultValue="4") Integer vcodeLen, @RequestParam(name="w",required=false,defaultValue="100") Integer width, @RequestParam(name="h",required=false,defaultValue="30") Integer height, @RequestParam(name="type",required=true,defaultValue="loginCpacha") String cpachaType, HttpServletRequest request, HttpServletResponse response){ CpachaUtil cpachaUtil = new CpachaUtil(vcodeLen, width, height); String generatorVCode = cpachaUtil.generatorVCode(); request.getSession().setAttribute(cpachaType, generatorVCode); BufferedImage generatorRotateVCodeImage = cpachaUtil.generatorRotateVCodeImage(generatorVCode, true); try { ImageIO.write(generatorRotateVCodeImage, "gif", response.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } } } package com.demo.controller.admin;
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=282021331705103an
https://javayms.pages.dev?id=282021331705103an