Java 实战练手项目之酒店管理系统的实现流程
作者:qq_1334611189
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个酒店管理系统,大家可以在过程中查缺补漏,提升水平
一、项目简述
功能包括(管理员和用户角色): 酒店预订,酒店管理,员工管理,入住原理,订单管理, 楼层管理,退房管理,营业额报表等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
管理员控制器层:
/** * 控制器层 * @author Administrator * */ @Controller @CrossOrigin @RequestMapping("/admin") public class AdminController { @Autowired private AdminService adminService; @Autowired BCryptPasswordEncoder encoder; /** * 查询全部数据 * @return */ @ResponseBody @RequestMapping(method= RequestMethod.GET) public Result findAll(){ return new Result(true, StatusCode.OK,"查询成功",adminService.findAll()); } /** * 根据ID查询 * @param id ID * @return */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.GET) public Result findById(@PathVariable Long id){ return new Result(true,StatusCode.OK,"查询成功",adminService.findById(id)); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @ResponseBody @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<Admin> pageList = adminService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<Admin>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @ResponseBody @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",adminService.findSearch(searchMap)); } /** * 增加 * @param admin */ @ResponseBody @RequestMapping(method=RequestMethod.POST) public Result add(@RequestBody Admin admin ){ adminService.add(admin); return new Result(true,StatusCode.OK,"增加成功"); } /** * 修改 * @param admin */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.PUT) public Result update(@RequestBody Admin admin, @PathVariable Long id ){ admin.setId(id); adminService.update(admin); return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable String id ){ adminService.deleteById(id); return new Result(true,StatusCode.OK,"删除成功"); } /** * 管理员跳转 * @return */ @RequestMapping(value = "/adminlogin") public String adminlogin() { return "admin/login/login"; } /** * admin登录 * @param loginMap * @param request * @return */ @ResponseBody @RequestMapping(value="/login",method= RequestMethod.POST) public Result login(@RequestParam Map<String,String> loginMap,HttpServletRequest request){ Admin admin = adminService.finbyNameAndPassword(loginMap.get("name"),loginMap.get("password")); if (admin!=null){ request.getSession().setAttribute("admin",admin); Map map=new HashMap(); map.put("name",admin.getName()); return new Result(true,StatusCode.OK,"登录成功"); }else { return new Result(false,StatusCode.ERROR,"账号密码错误"); } } /** * 管理员登录成功 * @return */ @RequestMapping(value = "/index") public String success(){ return "admin/index"; } /** * 用户列表 * @return */ @RequestMapping(value = "/userList") public String user(){ return "admin/usermanage/userList"; } @RequestMapping(value = "/echars") public String analysis(){ return "admin/echars/console"; } /** * 管理员退出登录 * @return */ @RequestMapping(value = "/logout") public String logout(HttpSession session){ session.removeAttribute("admin"); return "admin/login/login"; } /** * 管理员修改密码 * @return */ @ResponseBody @RequestMapping(value = "/passwd") public Result passwd(HttpSession session,String passwd,String oldpad){ Admin admindmin= (Admin) session.getAttribute("admin"); Admin admins=adminService.findById(admindmin.getId()); boolean old=encoder.matches(oldpad,admins.getPassword()); if (old){ String newPassd=encoder.encode(passwd); admins.setPassword(newPassd); adminService.update(admins); return new Result(true,StatusCode.OK,"成功"); }else { return new Result(false,StatusCode.ERROR,"更新失败"); } } }
轮播内容控制器层:
/** * 轮播内容控制器层 * @author Administrator * */ @Controller @CrossOrigin @RequestMapping("/carousel") public class CarouselController { @Autowired private CarouselService carouselService; /** * 查询全部数据 * @return */ @ResponseBody @RequestMapping(value = "/list",method= RequestMethod.GET) public Result findAll(){ List<Carousel> all = carouselService.findAll(); return new Result(true, StatusCode.OK,"查询成功",all,all.size()); } /** * 根据ID查询 * @param id ID * @return */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.GET) public Result findById(@PathVariable Long id){ return new Result(true,StatusCode.OK,"查询成功",carouselService.findById(id)); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @ResponseBody @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<Carousel> pageList = carouselService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<Carousel>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @ResponseBody @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",carouselService.findSearch(searchMap)); } /** * 轮播内容添加 * @param carousel */ @ResponseBody @RequestMapping(value = "/add",method=RequestMethod.POST) public Result add(Carousel carousel){ if(StringUtils.isEmpty(carousel.getTitle())){ return new Result(false,StatusCode.ERROR,"请填写第一行内容"); } if(StringUtils.isEmpty(carousel.getScenictime())){ return new Result(false,StatusCode.ERROR,"请填写第二行内容"); } if(StringUtils.isEmpty(carousel.getComment())){ return new Result(false,StatusCode.ERROR,"请填写第三行内容"); } if(carouselService.add(carousel)==null){ return new Result(false,StatusCode.ERROR,"轮播信息添加失败"); } return new Result(true,StatusCode.OK,"添加成功"); } /** * 轮播内容修改 * @param carousel */ @ResponseBody @RequestMapping(value="/edit",method= RequestMethod.PUT) public Result update(Carousel carousel){ if(StringUtils.isEmpty(carousel.getTitle())){ return new Result(false,StatusCode.ERROR,"请填写第一行内容"); } if(StringUtils.isEmpty(carousel.getScenictime())){ return new Result(false,StatusCode.ERROR,"请填写第二行内容"); } if(StringUtils.isEmpty(carousel.getComment())){ return new Result(false,StatusCode.ERROR,"请填写第三行内容"); } if(carouselService.update(carousel)==null){ return new Result(false,StatusCode.ERROR,"轮播信息修改成功!"); } return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable Long id ){ try{ carouselService.deleteById(id); }catch (Exception e){ e.printStackTrace(); new Result(false,StatusCode.ERROR,"删除失败"); } return new Result(true,StatusCode.OK,"删除成功"); } /** * 后台轮播列表 * @return */ @RequestMapping(value = "/carouselList") public String carouselList(){ return "admin/carouselmanage/carouselList"; } }
景点控制器层:
/** * 景点控制器层 * */ @Controller @CrossOrigin @RequestMapping("/scenic") public class ScenicController { @Autowired private ScenicService scenicService; /** * 查询全部数据 * @return */ @ResponseBody @RequestMapping(value = "list",method= RequestMethod.GET) public Result findAll(){ List<Scenic> all = scenicService.findAll(); return new Result(true, StatusCode.OK,"查询成功",all,all.size()); } /** * 根据ID查询 * @param id ID * @return */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.GET) public Result findById(@PathVariable Long id){ return new Result(true,StatusCode.OK,"查询成功",scenicService.findById(id)); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @ResponseBody @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<Scenic> pageList = scenicService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<Scenic>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @ResponseBody @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",scenicService.findSearch(searchMap)); } /** * 景点添加操作 * @param scenic */ @ResponseBody @RequestMapping(method=RequestMethod.POST) public Result add(@RequestBody Scenic scenic){ if(StringUtils.isEmpty(scenic.getName())){ return new Result(false,StatusCode.ERROR,"请填写景点名称"); } if(StringUtils.isEmpty(scenic.getContry())){ return new Result(false,StatusCode.ERROR,"请填写景点所在地"); } if(StringUtils.isEmpty(scenic.getComment())){ return new Result(false,StatusCode.ERROR,"请填写景点概述"); } if(StringUtils.isEmpty(scenic.getMiaoshu())){ return new Result(false,StatusCode.ERROR,"请填写详细描述"); } scenic.setCommentCount(0); scenic.setStart(0); if(scenicService.add(scenic)==null){ return new Result(false,StatusCode.ERROR,"景点添加失败"); } return new Result(true,StatusCode.OK,"景点添加成功"); } /** * 景点修改操作 * @param scenic */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.PUT) public Result update(@RequestBody Scenic scenic, @PathVariable Long id ){ if(StringUtils.isEmpty(scenic.getName())){ return new Result(false,StatusCode.ERROR,"请填写景点名称"); } if(StringUtils.isEmpty(scenic.getContry())){ return new Result(false,StatusCode.ERROR,"请填写景点所在地"); } if(StringUtils.isEmpty(scenic.getComment())){ return new Result(false,StatusCode.ERROR,"请填写景点概述"); } if(StringUtils.isEmpty(scenic.getMiaoshu())){ return new Result(false,StatusCode.ERROR,"请填写详细描述"); } Scenic scenic1ById = scenicService.findById(id); if(scenic1ById==null){ return new Result(false,StatusCode.ERROR,"该景点不存在"); } BeanUtils.copyProperties(scenic,scenic1ById,"id","startdate","img","commentCount"); if(scenicService.update(scenic1ById)==null){ return new Result(false,StatusCode.ERROR,"景点修改失败"); } return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable String id ){ scenicService.deleteById(id); return new Result(true,StatusCode.OK,"删除成功"); } @RequestMapping(value = "/scenicList") public String scenicList(){ return "admin/scenicmanage/scenicList"; } @RequestMapping(value = "/scenicAdd") public String scenicAdd(){ return "admin/scenicmanage/scenicAdd"; } }
用户控制器层:
/** * 控制器层 * @author Administrator * */ @RestController @CrossOrigin @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @Autowired private RedisTemplate redisTemplate; @Autowired private HttpServletRequest request; @Autowired BCryptPasswordEncoder encoder; /** * 查询全部数据 * * @return */ @RequestMapping(value = "userList",method = RequestMethod.GET) public Result findAll() { List<User> all = userService.findAll(); return new Result(true, StatusCode.OK, "查询成功",all,all.size()); } /** * 根据ID查询 * * @param id ID * @return */ @RequestMapping(value = "/{id}", method = RequestMethod.GET) public Result findById(@PathVariable Long id) { return new Result(true, StatusCode.OK, "查询成功", userService.findById(id)); } /** * 分页+多条件查询 * @param searchMap 查询条件封装 * @param page 页码 * @param size 页大小 * @return 分页结果 */ @RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST) public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){ Page<User> pageList = userService.findSearch(searchMap, page, size); return new Result(true,StatusCode.OK,"查询成功", new PageResult<User>(pageList.getTotalElements(), pageList.getContent()) ); } /** * 根据条件查询 * @param searchMap * @return */ @RequestMapping(value="/search",method = RequestMethod.POST) public Result findSearch( @RequestBody Map searchMap){ return new Result(true,StatusCode.OK,"查询成功",userService.findSearch(searchMap)); } /** * 增加 * @param user */ @RequestMapping(method=RequestMethod.POST) public Result add(@RequestBody User user ){ userService.add(user); return new Result(true,StatusCode.OK,"增加成功"); } /** * 修改 * @param user */ @ResponseBody @RequestMapping(value="/{id}",method= RequestMethod.PUT) public Result update(User user, @PathVariable Long id ){ User oldUser=userService.findById(id); user.setId(id); user.setPassword(oldUser.getPassword()); userService.update(user); return new Result(true,StatusCode.OK,"修改成功"); } /** * 修改 * @param user */ @RequestMapping(value="/change",method= RequestMethod.POST,consumes = "application/json") public Result update(@RequestBody User user, HttpSession session){ User us= (User) session.getAttribute("user"); user.setId(us.getId()); user.setPassword(us.getPassword()); userService.update(user); return new Result(true,StatusCode.OK,"修改成功"); } /** * 删除 * @param id */ @RequestMapping(value="/{id}",method= RequestMethod.DELETE) public Result delete(@PathVariable String id ){ userService.deleteById(id); return new Result(true,StatusCode.OK,"删除成功"); } /** * 用户注册 * @param code * @param user * @return */ @ResponseBody @RequestMapping(value = "/register/",method = RequestMethod.POST) public Result regist(@RequestParam(name = "code") String code,User user,HttpServletRequest request){ String sCode = (String) request.getSession().getAttribute("user_register_email_code"); if(!sCode.equalsIgnoreCase(code)){ return new Result(false,StatusCode.ERROR,"验证码错误!"); } userService.add(user); return new Result(true,StatusCode.OK,"注册成功"); } /** *判断账号是否存在 * @param user * @return */ @RequestMapping(value = "/checkPhone",method = RequestMethod.POST) @ResponseBody public Result checkPhone(User user){ String phone = user.getMobile(); if(!StringUtil.isMobile(phone)){ return new Result(false,StatusCode.ERROR,"请填写正确的手机号!"); } User userphone= userService.findByMobile(phone); if (userphone == null){ return new Result(true,StatusCode.OK,"该手机号可以注册"); } return new Result(false,StatusCode.ERROR,"该手机号已经被注册"); } /** * 邮箱验证 * @param user * @return */ @RequestMapping(value = "/email",method = RequestMethod.POST) @ResponseBody public Result findemail(User user){ String email = user.getEmail(); if(!StringUtil.emailFormat(email)){ return new Result(true,StatusCode.ERROR,"请填写正确的邮箱格式"); } User useremail= userService.findByEmail(email); if (useremail == null){ return new Result(true,StatusCode.OK,"该邮箱可以注册"); } return new Result(false,StatusCode.ERROR,"该邮箱已经被注册"); } /** * 用户登录 * @param loginMap * @return */ @ResponseBody @RequestMapping(value="/login",method=RequestMethod.POST) public Result login(@RequestParam Map<String,String> loginMap,HttpServletRequest request){ String mobile = loginMap.get("login"); if (StringUtil.isMobile(mobile)){ User user = userService.findByMobileAndPassword(loginMap.get("login"),loginMap.get("password")); if(user!=null){ request.getSession().setAttribute("user",user); Map map=new HashMap(); return new Result(true,StatusCode.OK,"登陆成功"); }else{ return new Result(false,StatusCode.LOGINERROR,"用户名或密码错误"); } }else { User user = userService.findByNameAndPassword(loginMap.get("login"),loginMap.get("password")); if(user!=null){ request.getSession().setAttribute("user",user); Map map=new HashMap(); map.put("name",user.getName());//姓名 return new Result(true,StatusCode.OK,"登陆成功",map); }else{ return new Result(false,StatusCode.LOGINERROR,"用户名或密码错误"); } } } /** * 用户注销 * @param request * @param response * @throws IOException */ @RequestMapping(value="/logout",method=RequestMethod.GET) public void logout(HttpServletRequest request,HttpServletResponse response) throws IOException { request.getSession().setAttribute("user", null); response.sendRedirect(request.getContextPath() + "/dist/view"); } }
以上就是Java 实战练手项目之酒店管理系统的实现流程的详细内容,更多关于Java 酒店管理系统的资料请关注脚本之家其它相关文章!