酒店管理系统第二阶段报告

博客展示了系统的前后端部分内容。后端包含登录服务和客房管理功能,前端有相关截图。还给出了转载来源。

主要是部分代码以及系统截图展示:

后端:

1.登录服务:

  1 public class LoginController {
  2 
  3     private LoginService service = new LoginServiceImpl();
  4 
  5     /**
  6      * 主 Login 表格使用
  7      *
  8      * @param page    页数
  9      * @param limit   长度
 10      * @param make    状态标志
 11      * @param loginId 选中的用户 ID
 12      * @return 查询内容
 13      */
 14     @RequestMapping("loginTable.do")
 15     @ResponseBody
 16     public Object loginTable(String page, String limit, String make, String loginId) {
 17 
 18         String code = "0"; //状态码
 19         String msg = "数据查询正常"; //状态信息
 20         String count; //数据总数
 21         List<Login> list; //数据内容
 22 
 23         if (make.equals("4")) { //删除
 24             //System.out.println("执行删除操作");
 25             service.deleteLogin(Integer.parseInt(loginId));
 26         }
 27 
 28         list = service.query(Integer.parseInt(page), Integer.parseInt(limit));
 29         count = String.valueOf(service.queryLoginNum());
 30 
 31         PojotoGson pojotoGson = new PojotoGson(code, msg, count, list);
 32         Gson gson = new Gson();
 33         return gson.toJson(pojotoGson);
 34     }
 35 
 36     /**
 37      * 修改用户密码
 38      *
 39      * @param loginName 用户名
 40      * @param loginPwd  用户密码
 41      * @return 0/1
 42      */
 43     @RequestMapping("updatePwd.do")
 44     @ResponseBody
 45     public String updatePwd(String loginName, String loginPwd) {
 46 
 47         String data = "0";
 48         try {
 49             Login login = service.queryLogin(loginName); // 查询
 50             login.setLoginPwd(loginPwd); // 更改
 51             service.updateLogin(login); // 更新
 52             return "1";
 53         } catch (Exception e) {
 54             e.printStackTrace();
 55             return data;
 56         }
 57     }
 58 
 59     /**
 60      * 导出 Excel 表
 61      *
 62      * @param response response
 63      */
 64     @RequestMapping("toExcel.do")
 65     @ResponseBody
 66     public void toExcel(HttpServletResponse response) {
 67 
 68         List<Login> loginList;
 69 
 70         loginList = service.query(1, service.queryLoginNum());
 71 
 72         String[] headers = {"用户ID", "用户登录名", "用户密码", "用户昵称", "用户权限"};
 73         String fileName = "用户信息";
 74 
 75         ExportExcel<Login> ee = new ExportExcel<>();
 76         ee.exportExcel(headers, loginList, fileName, response);
 77     }
 78 
 79     /**
 80      * 新增用户
 81      *
 82      * @param request request
 83      * @return 重复 1 、成功 OK 、失败 0
 84      */
 85     @RequestMapping("insertLogin.do")
 86     @ResponseBody
 87     public String insertLogin(HttpServletRequest request) {
 88 
 89         try {
 90 
 91             BufferedReader reader = request.getReader(); // 获取前端传递的json数据
 92             String json = reader.readLine();
 93             Gson gson = new Gson(); // 解析json
 94             Login login = gson.fromJson(json, Login.class);
 95             if (service.queryLogin(login.getLoginName()) != null)
 96                 return "1"; // 已经存在的用户
 97             service.insertLogin(login);
 98             System.out.println(login);
 99             return "ok";
100         } catch (Exception e) {
101             return "0";
102         }
103 
104     }
105 
106     /**
107      * 登录成功与否的判断
108      *
109      * @param loginName 用户名
110      * @param loginPwd  密码
111      * @param session   session
112      * @return 整型 1 -1 0
113      */
114     @RequestMapping("login.do")
115     @ResponseBody
116     public String toLogin(String loginName, String loginPwd, HttpSession session) {
117 
118         String data = String.valueOf(service.queryByName(loginName, loginPwd));
119 
120         if (data.equals("1")) {
121             Login login = service.queryLogin(loginName);
122             session.setAttribute("loginName", loginName);
123             session.setAttribute("loginId", login.getLoginId());
124             session.setAttribute("loginNickName", login.getLoginNickName());
125             session.setAttribute("loginAdmin", login.getLoginAdmin());
126 
127             //写入登录记录
128             LogInfo logInfo = new LogInfo("登录", login.getLoginId(), login.getLoginName());
129             LogInfoService logInfoService = new LogInfoServiceImpl();
130             logInfoService.insertLogInfo(logInfo);
131         }
132         Gson gson = new Gson();
133 
134         return gson.toJson(data);
135     }
136 
137     /**
138      * 退出系统清空 session
139      *
140      * @param session session
141      * @return ""
142      */
143     @RequestMapping("exitSystem.do")
144     @ResponseBody
145     public String toList(HttpSession session) {
146         int loginId = (int) session.getAttribute("loginId");
147         String loginName = (String) session.getAttribute("loginName");
148 
149         //写入退出记录
150         LogInfo logInfo = new LogInfo("退出", loginId, loginName);
151         LogInfoService logInfoService = new LogInfoServiceImpl();
152         logInfoService.insertLogInfo(logInfo);
153         session.removeAttribute("loginId");
154         session.removeAttribute("loginName");
155         session.removeAttribute("loginNickPwd");
156         session.removeAttribute("loginAdmin");
157         session.invalidate();
158 
159         return "";
160     }
161 
162 
163 }

2.客房管理

public class RoomTypeController {

    private RoomTypeService service = new RoomTypeServiceImpl();

    /**
     * 主表格使用
     *
     * @param page     页数
     * @param limit    长度
     * @param make     状态标志
     * @param logId    选中的用户 ID
     * @param typeName 选中的用户 typeName
     * @return 查询内容
     */
    @RequestMapping("roomTypeTable.do")
    @ResponseBody
    public Object RoomTypeTable(String page, String limit, String make, String typeId, String typeName
            , String price, String splicPrice, String exceedance, String isSplice) {

        String code = "0"; //状态码
        String msg = "数据查询正常"; //状态信息
        String count; //数据总数
        List<RoomType> list; //数据内容

        list = service.queryList(Integer.parseInt(page), Integer.parseInt(limit));
        count = String.valueOf(service.queryLoginNum());

        if (make.equals("4")) { //删除
            service.delete(typeId);
            list = service.queryList(Integer.parseInt(page), Integer.parseInt(limit));
            count = String.valueOf(service.queryLoginNum());
        } else if (make.equals("3")) { //搜索
            list = service.queryByName(typeName);
            count = String.valueOf(list.size());
        } else if (make.equals("2")) {
            RoomType roomType = new RoomType(typeId, typeName, price, splicPrice
                    , Integer.parseInt(exceedance), isSplice);
            service.update(roomType);
        }

        PojotoGson pojotoGson = new PojotoGson(code, msg, count, list);
        Gson gson = new Gson();
        return gson.toJson(pojotoGson);
    }

    /**
     * 0:已经存在 1:未存在 2:与自身相同
     *
     * @param newName 新
     * @param oldName 旧
     * @return 0 1 2
     */
    @RequestMapping("queryRepeat.do")
    @ResponseBody
    public String queryRepeat(String newName, String oldName) {

        String check = String.valueOf(service.queryRepeat(newName,oldName));
        return check;
    }

    /**
     * 导出 Excel 表
     *
     * @param response response
     */
    @RequestMapping("toExcel.do")
    @ResponseBody
    public void toExcel(HttpServletResponse response) {

        List<RoomType> list;

        list = service.queryList(1, service.queryLoginNum());

        String[] headers = {"类型编号", "类型名称", "价格", "拼房价格", "可超预定数", "是否可拼房"};
        String fileName = "房间类型信息";

        ExportExcel<RoomType> ee = new ExportExcel<>();
        ee.exportExcel(headers, list, fileName, response);
    }

    /**
     * 新增
     *
     * @param request request
     * @return 重复 1 、成功 OK 、失败 0
     */
    @RequestMapping("insertRoomType.do")
    @ResponseBody
    public String insertRoomType(HttpServletRequest request) {

        try {
            BufferedReader reader = request.getReader(); // 获取前端传递的json数据
            String json = reader.readLine();
            Gson gson = new Gson(); // 解析json
            RoomType roomType = gson.fromJson(json, RoomType.class);
            if (service.queryRepeat(roomType.getTypeName(), roomType.getTypeName()) == 0)
                return "1"; // 已经存在的用户
            service.insert(roomType);
            return "ok";
        } catch (Exception e) {
            return "0";
        }
    }
}

前端:

<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE html>
<html lang="zh-cn">

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
        <title>酒店管理系统</title>
        <link rel='Shortcut Icon' type='image/x-icon' href='../img/windows.ico'>
        <script type="text/javascript" src="./js/jquery-2.2.4.min.js"></script>
        <link href="css/animate.css" rel="stylesheet">
        <script type="text/javascript" src="./component/layer-v3.0.3/layer/layer.js"></script>
        <link rel="stylesheet" href="component/font-awesome-4.7.0/css/font-awesome.min.css">
        <link href="css/default.css" rel="stylesheet">
        <script type="text/javascript" src="./js/win10.js"></script>
        <script type="text/javascript" src="../js/Cookie.js"></script>
        <style>
            * {
                font-family: "Microsoft YaHei", 微软雅黑, "MicrosoftJhengHei", 华文细黑, STHeiti, MingLiu
            }
            
            .layui-layer-title {
                border-bottom: 1px solid #2b2b33;
            }
            /*去除窗体标题栏与主栏的差异,默认的属性是#eee*/
            
            .win10-block-content-text {
                line-height: 44px;
                text-align: center;
                font-size: 16px;
            }
            /*磁贴自定义样式*/
        </style>

        <script>
            if(window.top == window.self) {
                //alert('页面不是在框架中打开的');
            } else {
                //alert('页面是在框架中打开的');
                //所以最简单的方法就是判断主页面是否在框架里,如果在就直接刷新父类界面
                parent.location.reload();
            }

            //从cookie读取登录用户
            var loginName = getCookie("loginName");
            var loginNickName = "<%=session.getAttribute("loginNickName")%>";
            setCookie("loginNickName",loginNickName);

            Win10.onReady(function() {
                //设置壁纸
                Win10.setBgUrl({
                    main: './img/wallpapers/miaowu.jpg',
                    mobile: './img/wallpapers/mobile.jpg',
                });

                //Animated动画 地址:https://daneden.github.io/animate.css
                Win10.setAnimated([
                    'animated flip',
                    'animated bounceIn',
                ], 0.01);

                //发送一条消息
                setTimeout(function() {
                    loginName = getCookie("loginName");
                    Win10.newMsg('欢迎登录',
                        '欢迎用户 " ' + loginNickName + ' " 的登录。');

                }, 2500);

            });
        </script>
    </head>

    <body>
        <div id="win10">

            <!--桌面图标-->
            <div class="desktop">
                <div id="win10-shortcuts" class="shortcuts-hidden">
                    <div class="shortcut win10-open-window" data-area-offset="max" data-url="../webpage/orderInfo/order.jsp">
                        <img class="icon" src="img/icon/1YuDing.png" />
                        <div class="title">客房预定</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="../webpage/auth/auth.jsp">
                        <img class="icon" src="img/icon/2RuZhu.png" />
                        <div class="title">客房入住</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="../webpage/auth/auth.jsp">
                        <img class="icon" src="img/icon/3FangTai.png" />
                        <div class="title">房态管理</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="../webpage/searchTable/searchMain.jsp">
                        <img class="icon" src="img/icon/4ShuJu.png" />
                        <div class="title">数据查询</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="../webpage/billinfo/billInfoMain.jsp">
                        <img class="icon" src="img/icon/5ZhangDan.png" />
                        <div class="title">账单管理</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="../webpage/SystemSetting/SystemMain.jsp">
                        <img class="icon" src="img/icon/6XiTong.png" />
                        <div class="title">系统设定</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="../loginTable.jsp">
                        <img class="icon" src="img/icon/7YuanGong.png" />
                        <div class="title">员工管理</div>
                    </div>

                    <div class="shortcut" onclick="Win10.exit()">
                        <img class="icon" src="img/icon/8AnQuan.png" />
                        <div class="title">安全退出</div>
                    </div>

                    <div class="shortcut" onclick="window.open('https://github.com/inkss/hotelbook-JavaWeb')">
                        <img class="icon" src="img/icon/9XiangMu.png" />
                        <div class="title">项目地址</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="./plugins/theme_switcher/theme_switcher.html">
                        <img class="icon" src="img/icon/11pic.png" />
                        <div class="title">更换壁纸</div>
                    </div>

                    <div class="shortcut win10-open-window" data-url="https://www.baidu.com">
                        <img class="icon" src="img/icon/10Liulan.png" />
                        <div class="title">浏览器</div>
                    </div>

                </div>
                <div id="win10-desktop-scene"></div>
            </div>

            <!--磁贴菜单-->
            <div id="win10-menu" class="hidden">
                <div class="list win10-menu-hidden animated animated-slideOutLeft">
                    <div class="item" onclick="Win10.exit()">
                        <i class="black icon fa fa-power-off fa-fw"></i>
                        <span class="title">关闭</span>
                    </div>
                </div>
                <div class="blocks">
                    <div class="menu_group">
                        <div class="title">Welcome</div>
                        <div class="block" loc="1,1" size="6,4">
                            <div class="content">
                                <div style="font-size:100px;line-height: 132px;margin: 0 auto ;display: block" class="fa fa-fw fa-windows win10-block-content-text"></div>
                                <div class="win10-block-content-text" style="font-size: 22px">欢迎使用 酒店管理系统</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div id="win10-menu-switcher"></div>
            </div>

            <!--通知中心-->
            <div id="win10_command_center" class="hidden_right">
                <div class="title">
                    <h4 style="float: left">消息中心 </h4>
                    <span id="win10_btn_command_center_clean_all">全部清除</span>
                </div>
                <div class="msgs"></div>
            </div>

            <!--状态栏-->
            <div id="win10_task_bar">
                <div id="win10_btn_group_left" class="btn_group">
                    <div id="win10_btn_win" class="btn">
                        <span class="fa fa-windows"></span>
                    </div>
                    <div class="btn" id="win10-btn-browser">
                        <span class="fa fa-internet-explorer"></span>
                    </div>
                </div>
                <div id="win10_btn_group_middle" class="btn_group"></div>
                <div id="win10_btn_group_right" class="btn_group">
                    <div class="btn" id="win10_btn_time"></div>
                    <div class="btn" id="win10_btn_command">
                        <span id="win10-msg-nof" class="fa fa-comment-o"></span>
                    </div>
                    <div class="btn" id="win10_btn_show_desktop"></div>
                </div>
            </div>

        </div>
    </body>

</html>

截图:

 

转载于:https://www.cnblogs.com/Leo1997/p/10943937.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值