基于javaweb+mysql的ssm+maven酒店管理系统(java+ssm+jsp+mysql+maven)

基于javaweb+mysql的ssm+maven酒店管理系统(java+ssm+jsp+mysql+maven)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb+mysql的SSM+Maven酒店管理系统(java+ssm+jsp+mysql+maven)

主要技术:java springmvc mybatis mysql tomcat js jauery jsp log4j等一些常见基本技术适用于Java毕设和学习使用

主要实现: 前台:登录、注册、酒店信息浏览、搜索酒店信息、查看房间、预定房间、等

后台:部门管理、房间管理、楼层管理、订单管理、入住管理、营业额报表、承担控制权限、员工管理、角色管理、预定报表等

主要功能截图如下: 前端登陆注册和一些基本信息查看等

    public DataGridViewResult initMenuTree(Integer roleId){
        //调用查询菜单列表的方法
        List<Menu> menuList = menuService.findMenuList();

        //根据角色ID查询该角色已经拥有的菜单ID的方法
        List<Integer> currentRoleMenuIds = menuService.findMenuIdListByRoleId(roleId);
        //定义集合,保存菜单信息
        List<Menu> currentMenus = new ArrayList<Menu>();
        //判断集合是否存在数据
        if(currentRoleMenuIds!=null && currentRoleMenuIds.size()>0){
        //根据菜单ID查询该菜单的信息
            currentMenus = menuService.findMenuByMenuId(currentRoleMenuIds);
        }
        //创建集合保存树节点信息
        List<TreeNode> treeNodes = new ArrayList<TreeNode>();
        //循环遍历集合
        for (Menu menu : menuList) {
            //定义变量,标识是否选中
            String checkArr = "0";//0表示复选框不选中,1表示选中复选框
            //内层循环遍历当前角色拥有的权限菜单
            //循环比较的原因:比较两个集合中的数据是否有相同的,有相同的表示当前角色拥有这个权限
            for (Menu currentMenu : currentMenus) {
                //如果ID相等,表示当前角色有这个菜单,有这个菜单则需要将复选框选中
                if(menu.getId() == currentMenu.getId()){
                    checkArr ="1";//选中
                    break;
                }
            }

            //定义变量,表示菜单是否展开
            Boolean spread = (menu.getSpread()==null || menu.getSpread()==1) ? true : false;
            treeNodes.add(new TreeNode(menu.getId(),menu.getPid(),menu.getTitle(),spread,checkArr));
        }
        //将数据返回到页面
        return new DataGridViewResult(treeNodes);
    }

    /**
     * 分配菜单
     * @param ids
     * @param roleId
     * @return
     */
    @RequestMapping("/saveRoleMenu")
    public String saveRoleMenu(String ids,Integer roleId){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用保存角色菜单关系的方法
        if(roleService.saveRoleMenu(ids,roleId)>0){
     */
    @RequestMapping("/list/{id}")
    public String list(@PathVariable Integer id,Model model){
        //调用查询所有房型列表的方法
        List<RoomType> roomTypeList = roomTypeService.findRoomTypeList(null);
        //创建查询条件类
        RoomVo roomVo = new RoomVo();
        roomVo.setRoomtypeid(id);//房型ID
        roomVo.setStatus(3);//可预订
        //查询房间列表
        List<Room> roomList = roomService.findRoomListByPage(roomVo);
        //将数据放到模型中
        model.addAttribute("roomTypeList",roomTypeList);
        model.addAttribute("roomList",roomList);
        model.addAttribute("typeId",id);//将当前选中的房型ID保存到模型中,目的是在页面中回显选中的文本(改变选中的颜色)
        return "hotelList";
    }
}

/**
 * HP - the login name of the current user.
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"修改成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"修改失败");
        }
        //map中存放的信息已json形式返回
        return JSON.toJSONString(map);
    }

    //查询该部门下是否有员工
    @RequestMapping("/checkDeptHasEmployee")
    public String checkDeptHasEmployee(Integer id){
        Map<String,Object> map = new HashMap<String, Object>();
        int countById = employeeService.getEmployeeCountById(id);
        if (countById>0){
            //该部门下存在员工
            map.put(SystemConstant.EXISI,true);//存在
            map.put(SystemConstant.MESSAGE,"该部门下存在员工,不能删除");
        }else{
            map.put(SystemConstant.EXISI,false);//不存在
        }
        return JSON.toJSONString(map);
    }

    //删除部门信息
    @RequestMapping("/deleteById")
    public String deleteById(Integer id){
        Map<String,Object> map = new HashMap<String, Object>();
        int deleteById = deptService.deleteById(id);
        if (deleteById>0){
            map.put(SystemConstant.SUCCESS,true);//删除成功
            map.put(SystemConstant.MESSAGE,"删除成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);//删除失败
            map.put(SystemConstant.MESSAGE,"删除失败");
        }
        return JSON.toJSONString(map);
    }

    //查询所有部门
    @RequestMapping("/deptList")
    public String deptList(){
        return JSON.toJSONString(deptService.findDeptList());
    }
}


/**
 * HP - the login name of the current user.
 * 16:36 - the current system time.
 */
@Controller
@RequestMapping("/user")
public class UserController {
    
    @Autowired
    private UserService userService;

    /**
     * 注册
     * @param user
     * @return
     */
    @RequestMapping("/register")
    @ResponseBody
    public String register(User user){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用注册的方法
        if(userService.addUser(user)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"恭喜你,注册成功!");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"很遗憾,注册失败,请重新尝试!");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 登录
     * @param
     * @return
     */
    @RequestMapping("/login")
    @ResponseBody
    public String login(String loginName, String password, HttpSession Session){
        Map<String,Object> map = new HashMap<String,Object>();

        //调用注册的方法
        User loginUser = userService.login(loginName, password);


@RestController
@RequestMapping("/admin/checkout")
public class CheckoutAdminController {
    
    @Resource
    private CheckoutService checkoutService;

    /**
     * 办理退房
     * @param checkout
     * @return
     */
    @RequestMapping("/addCheckout")
    public String addCheckin(Checkout checkout, HttpSession session){
        Map<String,Object> map = new HashMap<String,Object>();
        //获取当前登录用户
        Employee employee = (Employee) session.getAttribute(SystemConstant.LOGINUSER);
        //创建人
        checkout.setCreatedBy(employee.getId());
        //调用添加入住信息的方法
        if(checkoutService.addCheckout(checkout)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"退房成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"退房失败");
        }
        return JSON.toJSONString(map);
    }
}

            Session.setAttribute(SystemConstant.FRONT_LOGIN_USER,loginUser);
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"用户名或密码错误,请重新登录!");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 根据用户名查询用户信息
     * @param loginName
     * @return
     */
    @RequestMapping("/checkName")
    @ResponseBody
    public String checkName(String loginName){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用注册的方法
        if(userService.findUserByName(loginName)!=null){
            map.put(SystemConstant.EXISI,true);
            map.put(SystemConstant.MESSAGE,"用户名存在,请重新输入");
        }else{
            map.put(SystemConstant.EXISI,false);
        }
        return JSON.toJSONString(map);
    }

}

/**

@RestController
@RequestMapping("/admin/checkout")
public class CheckoutAdminController {
    
    @Resource
    private CheckoutService checkoutService;

    /**
     * 办理退房
     * @param checkout
     * @return
     */
    @RequestMapping("/addCheckout")
    public String addCheckin(Checkout checkout, HttpSession session){
        Map<String,Object> map = new HashMap<String,Object>();
        //获取当前登录用户
        Employee employee = (Employee) session.getAttribute(SystemConstant.LOGINUSER);
        //创建人
        checkout.setCreatedBy(employee.getId());
        //调用添加入住信息的方法
        if(checkoutService.addCheckout(checkout)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"退房成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"退房失败");
        }
        return JSON.toJSONString(map);
    }
}

     * @param ordersVo
     * @return
     */
    @RequestMapping("/list")
    public DataGridViewResult list(OrdersVo ordersVo){
        //设置分页信息
        PageHelper.startPage(ordersVo.getPage(),ordersVo.getLimit());
        //调用分页查询订单列表的方法
        List<Orders> ordersList = ordersService.findOrdersList(ordersVo);
        //创建分页对象
        PageInfo<Orders> pageInfo = new PageInfo<Orders>(ordersList);
        //返回数据
        return new DataGridViewResult(pageInfo.getTotal(),pageInfo.getList());
    }

    /**
     * 确认订单
     * @param orders
     * @return
     */
    @RequestMapping("/confirmOrders")
    public String confirmOrders(Orders orders){
        Map<String,Object> map = new HashMap<String,Object>();
        //将订单状态改成已确认(status=2)
        orders.setStatus(2);
        //调用修改的方法
        if(ordersService.updateOrders(orders)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"订单确认成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"订单确认失败");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 批量确认订单
     * @param ids
     * @return
     */
    @RequestMapping("/batchConfirm")
    public String batchConfirm(String ids){
        Map<String,Object> map = new HashMap<String,Object>();
        int count = 0;
        //将字符串拆分成数组
        String[] idsStr = ids.split(",");
        //循环确认
        for (int i = 0; i < idsStr.length; i++) {
            //创建Orders对象
            Orders orders = new Orders();
            orders.setStatus(2);//已确认
            orders.setId(Integer.valueOf(idsStr[i]));

    /**
     * 删除员工
     * @param id
     * @return
     */
    @RequestMapping("/deleteById")
    public String deleteById(int id){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用删除员工的方法
        if(employeeService.deleteById(id)>0){
            map.put(SystemConstant.SUCCESS, true);
            map.put(SystemConstant.MESSAGE, "删除成功");
        }else{
            map.put(SystemConstant.SUCCESS, false);
            map.put(SystemConstant.MESSAGE, "删除失败");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 重置密码
     * @param id
     * @return
     */
    @RequestMapping("/resetPwd")
    public String resetPwd(int id){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用删除员工的方法
        if(employeeService.resetPwd(id)>0){
            map.put(SystemConstant.SUCCESS, true);
            map.put(SystemConstant.MESSAGE, "重置密码成功");
        }else{
            map.put(SystemConstant.SUCCESS, false);
            map.put(SystemConstant.MESSAGE, "重置密码失败");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 分配角色
     * @param roleIds
     * @param empId
     * @return
     */
    @RequestMapping("/saveEmployeeRole")
    public String saveEmployeeRole(String roleIds,Integer empId){
        Map<String,Object> map = new HashMap<String, Object>();
            map.put(SystemConstant.SUCCESS,true);//删除成功
            map.put(SystemConstant.MESSAGE,"删除成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);//删除失败
            map.put(SystemConstant.MESSAGE,"删除失败");
        }
        return JSON.toJSONString(map);
    }

    //查看该角色编号下是否有员工
    @RequestMapping("/checkRoleHasEmployee")
    public String checkDeptHasEmployee(Integer id){
        Map<String,Object> map = new HashMap<String, Object>();
        int countById = employeeService.getEmployeeCountByRoleId(id);
        if (countById>0){
            //该角色是否有员工在用
            map.put(SystemConstant.EXISI,true);//存在
            map.put(SystemConstant.MESSAGE,"该角色有员工使用,不能删除");
        }else{
            map.put(SystemConstant.EXISI,false);//存在
        }
        return JSON.toJSONString(map);
    }

    /**
     * 初始化菜单
     * @return
     */
    @RequestMapping("/initMenuTree")
    public DataGridViewResult initMenuTree(Integer roleId){
        //调用查询菜单列表的方法
        List<Menu> menuList = menuService.findMenuList();

        //根据角色ID查询该角色已经拥有的菜单ID的方法
        List<Integer> currentRoleMenuIds = menuService.findMenuIdListByRoleId(roleId);
        //定义集合,保存菜单信息
        List<Menu> currentMenus = new ArrayList<Menu>();
        //判断集合是否存在数据
        if(currentRoleMenuIds!=null && currentRoleMenuIds.size()>0){
        //根据菜单ID查询该菜单的信息
            currentMenus = menuService.findMenuByMenuId(currentRoleMenuIds);
        }
        //创建集合保存树节点信息
        List<TreeNode> treeNodes = new ArrayList<TreeNode>();
        //循环遍历集合
        for (Menu menu : menuList) {
            //定义变量,标识是否选中
            String checkArr = "0";//0表示复选框不选中,1表示选中复选框
            //内层循环遍历当前角色拥有的权限菜单
            //循环比较的原因:比较两个集合中的数据是否有相同的,有相同的表示当前角色拥有这个权限
            date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
        }
        return JSON.toJSONString(chartsService.getCurrentDateHotelByDate(date));
    }

}

/**
 * HP - the login name of the current user.
 * 10:52 - the current system time.
 * 处理跳转页面的(后台页面)
 */

@Controller
@RequestMapping("/admin")
public class SystemController {

    /**
     * 去到登录页面
     * @return
     */
    @RequestMapping("/login.html")
    public String login(){
        return "admin/login";
    }

    /**
     * 去到后台欢迎页
     * return
     */
    private UserService userService;

    /**
     * 注册
     * @param user
     * @return
     */
    @RequestMapping("/register")
    @ResponseBody
    public String register(User user){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用注册的方法
        if(userService.addUser(user)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"恭喜你,注册成功!");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"很遗憾,注册失败,请重新尝试!");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 登录
     * @param
     * @return
     */
    @RequestMapping("/login")
    @ResponseBody
    public String login(String loginName, String password, HttpSession Session){
        Map<String,Object> map = new HashMap<String,Object>();

        //调用注册的方法
        User loginUser = userService.login(loginName, password);

        //登录判断
        if(loginUser!=null){
            //将密码清空
            loginUser.setPassword(null);
            map.put(SystemConstant.SUCCESS,true);
            //保存登录用户信息到session中
            Session.setAttribute(SystemConstant.FRONT_LOGIN_USER,loginUser);
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"用户名或密码错误,请重新登录!");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 根据用户名查询用户信息
     * @param loginName
    //修改菜单
    @RequestMapping("/updateMenu")
    public String updateMenu(Menu menu){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用新增菜单的方法
        if(menuService.updateMenu(menu)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"修改成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"修改失败");
        }
        return JSON.toJSONString(map);
    }

    //通过id查询此菜单下是否有子菜单
    @RequestMapping("/checkMenuHasChild")
    public String checkMenuHasChild(Integer id){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用新增菜单的方法
        if(menuService. getMenuCountByMenuId(id)>0){
            map.put(SystemConstant.EXISI,true);
            map.put(SystemConstant.MESSAGE,"该菜单下存在子菜单,无法删除");
        }else{
            map.put(SystemConstant.EXISI,false);
        }
        return JSON.toJSONString(map);
    }

    //删除菜单
    @RequestMapping("/deleteById")
    public String deleteById(Integer id){
        Map<String,Object> map = new HashMap<String,Object>();
        //调用新增菜单的方法
        if(menuService.deleteById(id)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"删除成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"删除失败");
        }
        return JSON.toJSONString(map);
    }

}

@RestController
@RequestMapping("/admin/roomType")
public class RoomTypeController {

    @Autowired
    private RoomTypeService roomTypeService;

    /**
     * 查询房型列表
     * @param roomTypeVo
     * @return
     */
    @RequestMapping("/list")
    private DataGridViewResult list(RoomTypeVo roomTypeVo){
        //设置分页信息
        PageHelper.startPage(roomTypeVo.getPage(),roomTypeVo.getLimit());
        //查询房型列表
        List<RoomType> roomTypeList = roomTypeService.findRoomTypeList(roomTypeVo);
        //创建分页对象
        PageInfo<RoomType> pageInfo = new PageInfo<RoomType>(roomTypeList);
        //返回数据
        return new DataGridViewResult(pageInfo.getTotal(),pageInfo.getList());
    }

    /**
     * 添加房型
     * @param roomType
     * @return
     */
    @RequestMapping("/addRoomType")
    public String addRoomType(RoomType roomType){
        Map<String,Object> map = new HashMap<String,Object>();
        roomType.setReservednum(0);
        if(roomTypeService.addRoomType(roomType)>0){
            map.put(SystemConstant.SUCCESS,true);//成功
            map.put(SystemConstant.MESSAGE,"添加成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);//失败
            map.put(SystemConstant.MESSAGE,"添加失败");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 修改房型
     * @param roomType
     * @return
     */
    }

    /**
     * 修改楼层
     * @param floor
     * @return
     */
    @RequestMapping("/updateFloor")
    public String updateFloor(Floor floor){
        Map<String,Object> map = new HashMap<String, Object>();
        if (floorService.updateFloor(floor)>0){
            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"修改成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"修改失败");
        }
        return JSON.toJSONString(map);
    }

    /**
     * 查询所有楼层
     * @return
     */
    @RequestMapping("/findAll")
    public String findAll(){
        return JSON.toJSONString(floorService.findFloorList(null));
    }

}

            map.put(SystemConstant.SUCCESS,true);
            map.put(SystemConstant.MESSAGE,"删除成功");
        }else{
            map.put(SystemConstant.SUCCESS,false);
            map.put(SystemConstant.MESSAGE,"删除失败");
        }
        return JSON.toJSONString(map);
    }

}

/**
 * HP - the login name of the current user.
 * 16:53 - the current system time.
 */
@RestController
@RequestMapping("/admin/employee")
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;


    /**
     * 去到房型管理页面
     * @return
     */
    @RequestMapping("/toRoomTypeManager")
    public String toRoomTypeManager(){
        return "admin/roomType/roomTypeManager";
    }

    /**
     * 去到房间管理页面
     * @return
     */
    @RequestMapping("/toRoomManager")
    public String toRoomManager(){
        return "admin/room/roomManager";
    }

    /**
     * 去到预订管理页面
     * @return
     */
    @RequestMapping("/toOrdersManager")
    public String toOrdersManager(){
        return "admin/orders/ordersManager";
    }
    /**
     * 去到入住管理页面
     * @return
     */
    @RequestMapping("/toCheckinManager")
    public String toCheckinManager(){
        return "admin/checkin/checkinManager";
    }

    /**
     * 去到年度营业额报表统计分析页面
     * @return
     */
    @RequestMapping("/toYearTotalPriceManager")
    public String toYearTotalPriceManager(){

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值