最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

基于SSM實(shí)現(xiàn)酒店入住預(yù)定管理系統(tǒng)

2022-09-06 16:26 作者:指南針畢業(yè)設(shè)計(jì)  | 我要投稿

作者主頁(yè):編程指南針

作者簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、CSDN博客專家 、掘金特邀作者、多年架構(gòu)師設(shè)計(jì)經(jīng)驗(yàn)、騰訊課堂常駐講師

主要內(nèi)容:Java項(xiàng)目、畢業(yè)設(shè)計(jì)、簡(jiǎn)歷模板、學(xué)習(xí)資料、面試題庫(kù)、技術(shù)互助

文末獲取源碼?

項(xiàng)目編號(hào):BS-XX-138

一,項(xiàng)目簡(jiǎn)介

本項(xiàng)目主要基于SSM框架開發(fā)實(shí)現(xiàn)了一個(gè)酒店預(yù)定入住管理系統(tǒng),前端用戶可以實(shí)現(xiàn)注冊(cè)登陸,并在前端頁(yè)面進(jìn)行全文檢索,預(yù)定需要的酒店。在個(gè)人中心處可以查看自己預(yù)定的酒店信息,管理個(gè)人信息等。后臺(tái)管理人員登陸系統(tǒng)后可以進(jìn)行用戶和權(quán)限角色的管理和分配,酒店信息的管理,預(yù)定信息的管理,入住信息的管理,營(yíng)業(yè)報(bào)表的圖形統(tǒng)計(jì)功能等等。

二,環(huán)境介紹

語(yǔ)言環(huán)境:Java:? jdk1.8

數(shù)據(jù)庫(kù):Mysql: mysql5.7

應(yīng)用服務(wù)器:Tomcat:? tomcat8.5.31

開發(fā)工具:IDEA或eclipse

前端開發(fā)技術(shù): easyUI+Jquery+Ajax

后臺(tái)開發(fā)技術(shù):SSM開發(fā)框架

三,系統(tǒng)展示

前臺(tái)用戶功能展示:

首頁(yè)展示

編輯


用戶注冊(cè)

編輯

用戶登陸

編輯


用戶中心

編輯

后臺(tái)管理功能:

編輯

?菜單管理

編輯


角色管理

編輯


用戶管理

編輯


樓層管理

編輯

房型管理

編輯


房間管理

編輯


客戶管理

編輯


預(yù)定管理

編輯

入住管理

編輯


營(yíng)業(yè)統(tǒng)計(jì)

編輯





四,核心代碼展示

package com.ischoolbar.programmer.controller.home;import java.util.Date;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import com.ischoolbar.programmer.entity.Account;import com.ischoolbar.programmer.entity.BookOrder;import com.ischoolbar.programmer.entity.RoomType;import com.ischoolbar.programmer.service.AccountService;import com.ischoolbar.programmer.service.BookOrderService;import com.ischoolbar.programmer.service.RoomTypeService;/** * 前臺(tái)用戶控制器 * @author Administrator * */@RequestMapping("/home/account")@Controllerpublic class HomeAccountController { @Autowired private RoomTypeService roomTypeService; @Autowired private AccountService accountService; @Autowired private BookOrderService bookOrderService; /** * 前臺(tái)用戶中心首頁(yè) * @param model * @param name * @return */ @RequestMapping(value="/index",method=RequestMethod.GET) public ModelAndView list(ModelAndView model,HttpServletRequest request ){ Account account = (Account)request.getSession().getAttribute("account"); Map<String,Object> queryMap = new HashMap<String, Object>(); queryMap.put("accountId", account.getId()); queryMap.put("offset", 0); queryMap.put("pageSize", 999); model.addObject("bookOrderList", bookOrderService.findList(queryMap)); model.addObject("roomTypeList", roomTypeService.findAll()); model.setViewName("home/account/index"); return model; } /** * 預(yù)定房間頁(yè)面 * @param model * @return */ @RequestMapping(value="/book_order",method=RequestMethod.GET) public ModelAndView bookOrder(ModelAndView model,Long roomTypeId ){ model.addObject("roomType", roomTypeService.find(roomTypeId)); model.setViewName("home/account/book_order"); return model; } /** * 預(yù)定信息提交 * @param account * @return */ @RequestMapping(value="/book_order",method=RequestMethod.POST,produces = {"application/json;charset=utf-8"}) @ResponseBody public Map<String,String> bookOrderAct(BookOrder bookOrder,HttpServletRequest request){ Map<String, String> ret = new HashMap<String, String>(); if(bookOrder == null){ ret.put("type", "error"); ret.put("msg", "請(qǐng)?zhí)顚懻_的預(yù)定訂單信息!"); return ret; } Account account = (Account)request.getSession().getAttribute("account"); if(account == null){ ret.put("type", "error"); ret.put("msg", "客戶不能為空!"); return ret; } bookOrder.setAccountId(account.getId()); if(bookOrder.getRoomTypeId() == null){ ret.put("type", "error"); ret.put("msg", "房型不能為空!"); return ret; } if(StringUtils.isEmpty(bookOrder.getName())){ ret.put("type", "error"); ret.put("msg", "預(yù)定訂單聯(lián)系人名稱不能為空!"); return ret; } if(StringUtils.isEmpty(bookOrder.getMobile())){ ret.put("type", "error"); ret.put("msg", "預(yù)定訂單聯(lián)系人手機(jī)號(hào)不能為空!"); return ret; } if(StringUtils.isEmpty(bookOrder.getIdCard())){ ret.put("type", "error"); ret.put("msg", "聯(lián)系人身份證號(hào)不能為空!"); return ret; } if(StringUtils.isEmpty(bookOrder.getArriveDate())){ ret.put("type", "error"); ret.put("msg", "到達(dá)時(shí)間不能為空!"); return ret; } if(StringUtils.isEmpty(bookOrder.getLeaveDate())){ ret.put("type", "error"); ret.put("msg", "離店時(shí)間不能為空!"); return ret; } bookOrder.setCreateTime(new Date()); bookOrder.setStatus(0); if(bookOrderService.add(bookOrder) <= 0){ ret.put("type", "error"); ret.put("msg", "添加失敗,請(qǐng)聯(lián)系管理員!"); return ret; } RoomType roomType = roomTypeService.find(bookOrder.getRoomTypeId()); //預(yù)定成功后去修改該房型的預(yù)定數(shù) if(roomType != null){ roomType.setBookNum(roomType.getBookNum() + 1); roomType.setAvilableNum(roomType.getAvilableNum() - 1); roomTypeService.updateNum(roomType); //如果可用的房間數(shù)為0,則設(shè)置該房型狀態(tài)已滿 if(roomType.getAvilableNum() == 0){ roomType.setStatus(0); roomTypeService.edit(roomType); } } ret.put("type", "success"); ret.put("msg", "預(yù)定成功!"); return ret; } /** * 修改個(gè)人信息提交 * @param account * @return */ @RequestMapping(value="/update_info",method=RequestMethod.POST,produces = {"application/json;charset=utf-8"}) @ResponseBody public Map<String,String> updateInfoAct(Account account,HttpServletRequest request){ Map<String,String> retMap = new HashMap<String, String>(); if(account == null){ retMap.put("type", "error"); retMap.put("msg", "請(qǐng)?zhí)顚懻_的用戶信息!"); return retMap; } if(StringUtils.isEmpty(account.getName())){ retMap.put("type", "error"); retMap.put("msg", "用戶名不能為空!"); return retMap; } Account loginedAccount = (Account)request.getSession().getAttribute("account"); if(isExist(account.getName(),loginedAccount.getId())){ retMap.put("type", "error"); retMap.put("msg", "該用戶名已經(jīng)存在!"); return retMap; } loginedAccount.setAddress(account.getAddress()); loginedAccount.setIdCard(account.getIdCard()); loginedAccount.setMobile(account.getMobile()); loginedAccount.setName(account.getName()); loginedAccount.setRealName(account.getRealName()); if(accountService.edit(loginedAccount) <= 0){ retMap.put("type", "error"); retMap.put("msg", "修改失敗,請(qǐng)聯(lián)系管理員!"); return retMap; } request.getSession().setAttribute("account", loginedAccount); retMap.put("type", "success"); retMap.put("msg", "修改成功!"); return retMap; } /** * 修改密碼提交 * @param account * @return */ @RequestMapping(value="/update_pwd",method=RequestMethod.POST,produces = {"application/json;charset=utf-8"}) @ResponseBody public Map<String,String> updatePwdAct(String oldPassword,String newPassword,HttpServletRequest request){ Map<String,String> retMap = new HashMap<String, String>(); if(StringUtils.isEmpty(oldPassword)){ retMap.put("type", "error"); retMap.put("msg", "請(qǐng)?zhí)顚懺瓉?lái)的密碼!"); return retMap; } if(StringUtils.isEmpty(newPassword)){ retMap.put("type", "error"); retMap.put("msg", "請(qǐng)?zhí)顚懶旅艽a!"); return retMap; } Account loginedAccount = (Account)request.getSession().getAttribute("account"); if(!oldPassword.equals(loginedAccount.getPassword())){ retMap.put("type", "error"); retMap.put("msg", "原密碼錯(cuò)誤!"); return retMap; } loginedAccount.setPassword(newPassword); if(accountService.edit(loginedAccount) <= 0){ retMap.put("type", "error"); retMap.put("msg", "修改失敗,請(qǐng)聯(lián)系管理員!"); return retMap; } retMap.put("type", "success"); retMap.put("msg", "修改密碼成功!"); return retMap; } /** * 判斷用戶是否存在 * @param name * @param id * @return */ private boolean isExist(String name,Long id){ Account account = accountService.findByName(name); if(account == null)return false; if(account != null && account.getId().longValue() == id)return false; return true; } }


package com.ischoolbar.programmer.controller.home;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import com.ischoolbar.programmer.entity.Account;import com.ischoolbar.programmer.service.AccountService;import com.ischoolbar.programmer.service.RoomTypeService;/** * 前臺(tái)首頁(yè)控制器 * @author Administrator * */@RequestMapping("/home")@Controllerpublic class HomeController { @Autowired private RoomTypeService roomTypeService; @Autowired private AccountService accountService; /** * 前臺(tái)首頁(yè) * @param model * @param name * @return */ @RequestMapping(value="/index",method=RequestMethod.GET) public ModelAndView list(ModelAndView model, @RequestParam(name="name",defaultValue="") String name ){ Map<String,Object> queryMap = new HashMap<String, Object>(); queryMap.put("name", name); queryMap.put("offset", 0); queryMap.put("pageSize", 999); model.addObject("roomTypeList", roomTypeService.findList(queryMap)); model.setViewName("home/index/index"); model.addObject("kw", name); return model; } /** * 登錄頁(yè)面 * @param model * @return */ @RequestMapping(value="/login",method=RequestMethod.GET) public ModelAndView login(ModelAndView model ){ model.setViewName("home/index/login"); return model; } /** * 注冊(cè)頁(yè)面 * @param model * @return */ @RequestMapping(value="/reg",method=RequestMethod.GET) public ModelAndView reg(ModelAndView model ){ model.setViewName("home/index/reg"); return model; } /** * 登錄信息提交 * @param account * @return */ @RequestMapping(value="/login",method=RequestMethod.POST,produces = {"application/json;charset=utf-8"}) @ResponseBody public Map<String,String> loginAct(Account account,String vcode,HttpServletRequest request){ Map<String,String> retMap = new HashMap<String, String>(); if(account == null){ retMap.put("type", "error"); retMap.put("msg", "請(qǐng)?zhí)顚懻_的用戶信息!"); return retMap; } if(StringUtils.isEmpty(account.getName())){ retMap.put("type", "error"); retMap.put("msg", "用戶名不能為空!"); return retMap; } if(StringUtils.isEmpty(account.getPassword())){ retMap.put("type", "error"); retMap.put("msg", "密碼不能為空!"); return retMap; } if(StringUtils.isEmpty(vcode)){ retMap.put("type", "error"); retMap.put("msg", "驗(yàn)證碼不能為空!"); return retMap; } Object attribute = request.getSession().getAttribute("accountLoginCpacha"); if(attribute == null){ retMap.put("type", "error"); retMap.put("msg", "驗(yàn)證碼過期,請(qǐng)刷新!"); return retMap; } if(!vcode.equalsIgnoreCase(attribute.toString())){ retMap.put("type", "error"); retMap.put("msg", "驗(yàn)證碼錯(cuò)誤!"); return retMap; } Account findByName = accountService.findByName(account.getName()); if(findByName == null){ retMap.put("type", "error"); retMap.put("msg", "用戶名不存在!"); return retMap; } if(!account.getPassword().equals(findByName.getPassword())){ retMap.put("type", "error"); retMap.put("msg", "密碼錯(cuò)誤!"); return retMap; } if(findByName.getStatus() == -1){ retMap.put("type", "error"); retMap.put("msg", "該用戶已被禁用,請(qǐng)聯(lián)系管理員!"); return retMap; } request.getSession().setAttribute("account", findByName); request.getSession().setAttribute("accountLoginCpacha", null); retMap.put("type", "success"); retMap.put("msg", "登錄成功!"); return retMap; } /** * 注冊(cè)信息提交 * @param account * @return */ @RequestMapping(value="/reg",method=RequestMethod.POST,produces = {"application/json;charset=utf-8"}) @ResponseBody public Map<String,String> regAct(Account account){ Map<String,String> retMap = new HashMap<String, String>(); if(account == null){ retMap.put("type", "error"); retMap.put("msg", "請(qǐng)?zhí)顚懻_的用戶信息!"); return retMap; } if(StringUtils.isEmpty(account.getName())){ retMap.put("type", "error"); retMap.put("msg", "用戶名不能為空!"); return retMap; } if(StringUtils.isEmpty(account.getPassword())){ retMap.put("type", "error"); retMap.put("msg", "密碼不能為空!"); return retMap; } if(StringUtils.isEmpty(account.getMobile())){ retMap.put("type", "error"); retMap.put("msg", "手機(jī)號(hào)不能為空!"); return retMap; } if(isExist(account.getName())){ retMap.put("type", "error"); retMap.put("msg", "該用戶名已經(jīng)存在!"); return retMap; } if(accountService.add(account) <= 0){ retMap.put("type", "error"); retMap.put("msg", "注冊(cè)失敗,請(qǐng)聯(lián)系管理員!"); return retMap; } retMap.put("type", "success"); retMap.put("msg", "注冊(cè)成功!"); return retMap; } /** * 退出登錄 * @param request * @return */ @RequestMapping(value="/logout",method=RequestMethod.GET) public String logout(HttpServletRequest request){ request.getSession().setAttribute("account", null); return "redirect:login"; } private boolean isExist(String name){ Account account = accountService.findByName(name); if(account == null)return false; return true; } }


package com.ischoolbar.programmer.controller.admin;import java.util.HashMap;import java.util.Map;import org.apache.commons.lang.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import com.ischoolbar.programmer.entity.Account;import com.ischoolbar.programmer.page.admin.Page;import com.ischoolbar.programmer.service.AccountService;/** * 客戶管理后臺(tái)控制器 * @author Administrator * */@RequestMapping("/admin/account")@Controllerpublic class AccountController { @Autowired private AccountService accountService; /** * 客戶管理列表頁(yè)面 * @param model * @return */ @RequestMapping(value="/list",method=RequestMethod.GET) public ModelAndView list(ModelAndView model){ model.setViewName("account/list"); return model; } /** * 客戶信息添加操作 * @param account * @return */ @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Map<String, String> add(Account account){ Map<String, String> ret = new HashMap<String, String>(); if(account == null){ ret.put("type", "error"); ret.put("msg", "請(qǐng)?zhí)顚懻_的客戶信息!"); return ret; } if(StringUtils.isEmpty(account.getName())){ ret.put("type", "error"); ret.put("msg", "客戶名稱不能為空!"); return ret; } if(StringUtils.isEmpty(account.getPassword())){ ret.put("type", "error"); ret.put("msg", "客戶密碼不能為空!"); return ret; } if(isExist(account.getName(), 0l)){ ret.put("type", "error"); ret.put("msg", "該用戶名已經(jīng)存在!"); return ret; } if(accountService.add(account) <= 0){ ret.put("type", "error"); ret.put("msg", "添加失敗,請(qǐng)聯(lián)系管理員!"); return ret; } ret.put("type", "success"); ret.put("msg", "添加成功!"); return ret; } /** * 客戶信息編輯操作 * @param account * @return */ @RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Map<String, String> edit(Account account){ Map<String, String> ret = new HashMap<String, String>(); if(account == null){ ret.put("type", "error"); ret.put("msg", "請(qǐng)?zhí)顚懻_的客戶信息!"); return ret; } if(StringUtils.isEmpty(account.getName())){ ret.put("type", "error"); ret.put("msg", "客戶名稱不能為空!"); return ret; } if(StringUtils.isEmpty(account.getPassword())){ ret.put("type", "error"); ret.put("msg", "客戶密碼不能為空!"); return ret; } if(isExist(account.getName(), account.getId())){ ret.put("type", "error"); ret.put("msg", "該用戶名已經(jīng)存在!"); return ret; } if(accountService.edit(account) <= 0){ ret.put("type", "error"); ret.put("msg", "添加失敗,請(qǐng)聯(lián)系管理員!"); return ret; } ret.put("type", "success"); ret.put("msg", "修改成功!"); return ret; } /** * 分頁(yè)查詢客戶信息 * @param name * @param page * @return */ @RequestMapping(value="/list",method=RequestMethod.POST) @ResponseBody public Map<String,Object> list( @RequestParam(name="name",defaultValue="") String name, @RequestParam(name="realName",defaultValue="") String realName, @RequestParam(name="idCard",defaultValue="") String idCard, @RequestParam(name="mobile",defaultValue="") String mobile, @RequestParam(name="status",required=false) Integer status, 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("realName", realName); queryMap.put("idCard", idCard); queryMap.put("mobile", mobile); queryMap.put("offset", page.getOffset()); queryMap.put("pageSize", page.getRows()); ret.put("rows", accountService.findList(queryMap)); ret.put("total", accountService.getTotal(queryMap)); return ret; } /** * 客戶信息刪除操作 * @param id * @return */ @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", "請(qǐng)選擇要?jiǎng)h除的信息!"); return ret; } try { if(accountService.delete(id) <= 0){ ret.put("type", "error"); ret.put("msg", "刪除失敗,請(qǐng)聯(lián)系管理員!"); return ret; } } catch (Exception e) { // TODO: handle exception ret.put("type", "error"); ret.put("msg", "該客戶下存在訂單信息,請(qǐng)先刪除該客戶下的所有訂單信息!"); return ret; } ret.put("type", "success"); ret.put("msg", "刪除成功!"); return ret; } /** * 判斷用戶名是否存在 * @param name * @param id * @return */ private boolean isExist(String name,Long id){ Account findByName = accountService.findByName(name); if(findByName == null)return false; if(findByName.getId().longValue() == id.longValue())return false; return true; } }


五,項(xiàng)目總結(jié)

? ?本項(xiàng)目基本功能完整,界面簡(jiǎn)潔大方,適合做畢業(yè)設(shè)計(jì)或課程設(shè)計(jì)使用,使用了常見的開發(fā)的工具和數(shù)據(jù)庫(kù),使用SSM框架和easyUI來(lái)完成酒店管理系統(tǒng)的開發(fā)和設(shè)計(jì),值得學(xué)習(xí)和研究。


基于SSM實(shí)現(xiàn)酒店入住預(yù)定管理系統(tǒng)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
荣成市| 康乐县| 武鸣县| 太康县| 宽甸| 拉萨市| 贞丰县| 汶上县| 保山市| 常熟市| 镇原县| 泗阳县| 称多县| 砀山县| 盖州市| 潮安县| 岑巩县| 前郭尔| 尚义县| 塔河县| 黔西县| 黄龙县| 西宁市| 赞皇县| 门源| 怀安县| 肥乡县| 顺平县| 彩票| 油尖旺区| 榆社县| 清徐县| 区。| 九龙县| 凌云县| 韶关市| 扶沟县| 景泰县| 独山县| 石阡县| 大厂|