Java项目:springboot酒店宾馆管理系统
作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
功能介绍
springboot酒店宾馆管理系统。该系统为后管系统,无前台。主要分三种角色:管理者/工作人员/前台人员。
主要功能有:
客房:客房标准、房间信息;
订单:入住订单;
员工:员工信息;
事务:事务信息;
停车:车位信息;
财务:财务信息;
历史:订单历史、车库历史;
会员:会员信息;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 8.0版本;
技术栈
1. 后端:SpringBoot
2. 前端:html+layui+jQuery
使用说明
1. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包;
2. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
3. 将项目中db.properties配置文件中的数据库配置改为自己的配置
4. 配置tomcat,然后运行项目,输入localhost:8888 登录
5. 数据库中的employ中有密码,密码是加密过的,三种权限,管理者/工作人员/前台人员
管理账号:admin 密码:worker1
工作人员账号:worker1 密码:worker1
前台人员:sever1 密码:worker1
运行截图
代码相关
员工管理控制器
@RestController
public class EmployController
{private final EmployService employservice;@Autowiredpublic EmployController(EmployService employservice){this.employservice=employservice;}@AutowiredEventService eventService;@RequestMapping("/employ/list")public Result<Employ> employList() {return ResultReturn.success(employservice.findAll());}@RequestMapping("/employ/searchOne/{employno}")public Result employSearchOne(@PathVariable("employno") int employno) {Employ r = employservice.findByEmployno(employno);if(r == null) {return ResultReturn.error(1,"it's not exist, you can't delete!");}else {return ResultReturn.success(r);}}@RequestMapping("/employ/add")public Result employAdd(@RequestParam("employno")int employno,@RequestParam("employname") String employname,@RequestParam("employsex")int employsex,@RequestParam("employage") int employage,@RequestParam("employposition")int employposition,@RequestParam("employauthority") int employauthority,@RequestParam("employpaymentpermonth")int employpaymentpermonth,@RequestParam("employworktime") int employworktime,@RequestParam("username") String username,@RequestParam("password") String password) {Employ e = employservice.findByEmployno(employno);if(e!=null)return ResultReturn.error(2,"that employno arleady exist");else{e = saveEmploy(employno,employname,employsex,employage,employposition,employauthority,employpaymentpermonth,employworktime,username,password);return ResultReturn.success(employservice.save(e));}}@RequestMapping("/employ/update/{employno}")public Result employUpdate(@PathVariable("employno")int employno,@RequestParam("employname") String employname,@RequestParam("employsex")int employsex,@RequestParam("employage") int employage,@RequestParam("employposition")int employposition,@RequestParam("employauthority") int employauthority,@RequestParam("employpaymentpermonth")int employpaymentpermonth,@RequestParam("employworktime") int employworktime,@RequestParam("username") String username,@RequestParam("password") String password) {Employ e = employservice.findByEmployno(employno);if(e==null) {return ResultReturn.error(1,"that employno did not exist");}else{e = saveEmploy(employno,employname,employsex,employage,employposition,employauthority,employpaymentpermonth, employworktime,username,password);return ResultReturn.success(employservice.save(e));}}@RequestMapping("/employ/delete/{employno}")public Result employDelete(@PathVariable("employno")int employno) {Employ e = employservice.findByEmployno(employno);if (e==null)return ResultReturn.error(1,"can't find this employno");employservice.delete(e);return ResultReturn.success(e);}@RequestMapping("/employ/personalMeasage")public Result getPersonalMeasage() {UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();String username = userDetails.getUsername();String password = userDetails.getPassword();Employ e = employservice.findByUsernameAndPassword(username,password);System.out.println("employ measage:"+e);return ResultReturn.success(e);}@RequestMapping("/employ/personalEvent")public Result getPersonalEvent() {UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();String username = userDetails.getUsername();String password = userDetails.getPassword();Employ e = employservice.findByUsernameAndPassword(username,password);List<Event> event = eventService.findAllByEmployno(e.getEmployno());System.out.println("event: "+event);return ResultReturn.success(event);}public Employ saveEmploy(int employno,String employname,int employsex,int employage,int employposition,int employauthority,int employpaymentpermonth,int employworktime,String username,String password) {Employ e = new Employ();e.setEmployno(employno);e.setEmployposition(employposition);e.setEmployworktime(employworktime);e.setEmployage(employage);e.setEmploysex(employsex);e.setEmployname(employname);e.setEmploypaymentpermonth(employpaymentpermonth);e.setEmployauthority(employauthority);e.setUsername(username);e.setPassword(BCrypt.hashpw(password, BCrypt.gensalt()));return e;}}
订单管理控制器
@RestController
public class OrderController
{private final OrderService orderservice;private final OrderRoomService orderroomservice;private final RoomidService roomidservice;private final RoomService roomservice;private final OrderHistoryService orderHistoryService;private final FinanceService financeService;@Autowiredpublic OrderController(OrderService orderservice,OrderRoomService orderroomservice,RoomidService roomidservice,RoomService roomservice,OrderHistoryService orderHistoryService,FinanceService financeService){this.orderservice=orderservice;this.orderroomservice=orderroomservice;this.roomidservice=roomidservice;this.roomservice=roomservice;this.orderHistoryService=orderHistoryService;this.financeService=financeService;}/*** 查找所有订单** @return 返回现有的全部订单*/@RequestMapping("/order/orderlist")public Result<List<Order>> orderList(){return ResultReturn.success(orderservice.findAll());}/*** 根据订单号查找对应订单信息** @param orderno 订单号* @return 返回订单号对应的订单*/@RequestMapping("/order/searchOne/{orderno}")public Result<Order> orderSearchOne(@PathVariable("orderno") int orderno){return ResultReturn.success(orderservice.findByOrderNo(orderno));}/*** 更新订单信息** @param orderno 订单号* @param name 姓名* @param id 身份证* @param phone 电话号码* @param isenter 是否入住* @return 返回更新后的订单*/@RequestMapping("/order/update/{orderno}")public Result<Order> orderUpdate(@PathVariable("orderno") int orderno,@RequestParam("name") String name,@RequestParam("id") String id,@RequestParam("phone") String phone,@RequestParam("isenter") int isenter){Order o=orderservice.findByOrderNo(orderno);o.setName(name);o.setId(id);o.setPhone(phone);o.setIsenter(isenter);return ResultReturn.success(orderservice.save(o));}/*** 插入订单** @param* @return*/@RequestMapping("/order/insert")public Result orderInsert(@RequestParam("name") String name,@RequestParam("id") String id, @RequestParam("phone") String phone,@RequestParam("starttime") String starttime, @RequestParam("endtime") String endtime,@RequestParam("isenter") int isenter, @RequestParam("ismenber") int ismenber,@RequestParam("roomcount") int roomcount, @RequestParam("roomnos") String roomnos,@RequestParam("price") int price){Order o = new Order();o.setName(name);o.setId(id);o.setPhone(phone);// 将String类型格式化为timestampSimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");try {Date startT = sdf.parse(starttime);Date endT = sdf.parse(endtime);o.setStarttime(new Timestamp(startT.getTime()));o.setEndtime(new Timestamp(endT.getTime()));} catch (ParseException e) {e.printStackTrace();}o.setIsenter(isenter);o.setIsmenber(ismenber);o.setRoomcount(roomcount);o.setPrice(price);Order saveO = orderservice.save(o);List<Order> orderList = orderservice.findAllSortByOrderNo();Order lastOrder = orderList.get(0);// 房间号处理String roomStrArray[] = roomnos.split("\\|"); //“.”和“|”都是转义字符,必须得加”\\”;for (int i=0;i<roomStrArray.length;i++){System.out.println(roomStrArray[i]);OrderRoom orderRoom = new OrderRoom();orderRoom.setOrderno(lastOrder.getOrderno());orderRoom.setRoomno(Integer.parseInt(roomStrArray[i]));orderroomservice.save(orderRoom);}return ResultReturn.success(saveO);}/*** 删除订单** @param orderno 订单号* @return 返回成功*/@RequestMapping("/order/delete/{orderno}")public Result orderDelete(@PathVariable("orderno") int orderno){Order o=orderservice.findByOrderNo(orderno);orderservice.delete(o);return ResultReturn.success();}/*** 根据订单号查找所有的订单中的所有房间** @param orderno 订单号* @return 返回房间列表*/@RequestMapping("/order/orderroom/{orderno}")public Result<List<OrderRoom>> orderroomList(@PathVariable("orderno") int orderno){return ResultReturn.success(orderroomservice.findAll(orderno));}/*** 根据订单-房间序号查找对应记录** @param orno 订单-房间表的序号* @return 返回对应的订单-房间信息*/@RequestMapping("/order/orderroom/orderroomSearchOne/{orno}")public Result<OrderRoom> orderroomSearchOne(@PathVariable("orno") int orno){return ResultReturn.success(orderroomservice.findOne(orno));}/*** OrderRoom表更新** @param orno 编号* @param brand 车牌号* @param roomnoAfter 之前的房间号* @param roomnoBefore 现在重新设定的房间号(计算价格需要)* @param orderno 订单号(保存当前订单的价格需要)* @return 返回保存的orderroom对象*/@RequestMapping("/order/orderroom/update/{orno}")public Result orderroomUpdate(@PathVariable("orno") int orno,@RequestParam("brand") String brand,@RequestParam("roomnoAfter") int roomnoAfter,@RequestParam("roomnoBefore") int roomnoBefore,@RequestParam("orderno") int orderno){OrderRoom or=orderroomservice.findOne(orno);or.setBrand(brand);or.setRoomno(roomnoAfter);List<Roomid> ri=roomidservice.findAll(roomnoBefore);for (Roomid aRi : ri){aRi.setRoomno(roomnoAfter);}roomidservice.saveAll(ri);Order order=orderservice.findByOrderNo(orderno);Room roomAfter=roomservice.findByRoom(roomnoAfter);Room roomBefore=roomservice.findByRoom(roomnoBefore);order.setPrice(order.getPrice()+roomAfter.getPrice()-roomBefore.getPrice());orderservice.save(order);return ResultReturn.success(orderroomservice.save(or));}//roomid表查看@RequestMapping("/order/orderroom/roomid/list/{roomno}")public Result<List<Roomid>> roomidList(@PathVariable("roomno") int roomno){return ResultReturn.success(roomidservice.findAll(roomno));}/*** 根据房间-身份证表的序号查找对应信息** @param rino 房间-身份证表的序号* @return 返回对应信息*/@RequestMapping("/order/orderroom/roomid/roomidSearchOne/{rino}")public Result<Roomid> roomidSearchOne(@PathVariable("rino") int rino){return ResultReturn.success(roomidservice.findByRino(rino));}/*** 房间-身份证表更新** @param rino 房间-身份证表的序号* @param name 姓名* @param id 身份证* @return 返回更改后的信息*/@RequestMapping("/order/orderroom/roomid/update/{rino}")public Result roomidUpdate(@PathVariable("rino") int rino,@RequestParam("name") String name,@RequestParam("id") String id){Roomid ri=roomidservice.findByRino(rino);ri.setId(id);ri.setName(name);return ResultReturn.success(roomidservice.save(ri));}/*** 寻找未入住的房间号列表** @return 返回房间号列表*/@RequestMapping("/order/orderroom/roomid/getEmptyRoomno")public Result<List<Integer>> getEmptyRoomno(){List<Roomid> ri=roomidservice.findAllWithoutparam();List<Integer> q=new ArrayList<>(ri.size());for (Roomid aRi : ri){q.add(aRi.getRoomno());}List<Room> r=roomservice.getEmpty(q);List<Integer> sum=new ArrayList<>();for (Room aR : r){sum.add(aR.getRoomno());}return ResultReturn.success(sum);}/*** 结算订单** @param orderno 订单号* @return 返回订单结算结果* @throws HotelException 抛出订单未入住异常 code: 601*/@RequestMapping("/order/settle/{orderno}")public Result<OrderHistory> orderSettle(@PathVariable("orderno") int orderno) throws HotelException{Order order=orderservice.findByOrderNo(orderno);if(order.getIsenter()==1){Order orderTemp=new Order(order);orderservice.delete(order);return new OrderHistoryController(orderHistoryService,financeService).orderHistoryInsert(orderTemp);}else{throw new HotelException(ExceptionType.ORDER_ISENTER_ERROR.getCode(),ExceptionType.ORDER_ISENTER_ERROR.getMsg());}}
}
如果也想学习本系统,下面领取。回复:036springboot
Java项目:springboot酒店宾馆管理系统相关推荐
- springboot酒店宾馆管理系统、、
下载地址:https://download.csdn.net/download/m0_61837203/23649068 项目介绍: springboot酒店宾馆管理系统.. 系统说明: 源码空间站, ...
- Java项目:酒店宾馆管理系统(java+SpringBoot+html+layui+jQuery+maven+mysql)
源码获取:博客首页 "资源" 里下载! 功能介绍 springboot酒店宾馆管理系统.该系统为后管系统,无前台.主要分三种角色:管理者/工作人员/前台人员. 主要功能有: 客房: ...
- Mysql数据库宾馆管理系统_酒店宾馆管理系统 springboot项目 mysql数据库 登陆界面 前端后台 layui.rar...
[实例简介] 酒店宾馆管理系统 配置直接使用intellij idea的springboot打开 等待把dependence下载完毕(配置maven 修改下载源) 配置的properties中数据库需 ...
- 【源码及课件分享】Java实战项目之酒店客房管理系统_Java项目开发_Java项目实战
Java实战项目又双叒叕来咯~小伙伴们请查收~酒店客房管理系统![源码及课件分享]Java实战项目之酒店客房管理系统_Java项目开发_Java项目实战_Java毕业设计https://www.bil ...
- 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署
计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 计算机毕业设计springboot酒店客房管理系统8yj0v源码+系统+程序+lw文档+部署 本源码技术栈 ...
- 基于Vue和SpringBoot的宾馆管理系统的设计和实现
作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...
- java计算机毕业设计酒店员工管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计酒店员工管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计酒店员工管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...
- java计算机毕业设计酒店预订管理系统MyBatis+系统+LW文档+源码+调试部署
java计算机毕业设计酒店预订管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计酒店预订管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B ...
- 计算机毕业设计springboot酒店客房管理系统e03qm源码+系统+程序+lw文档+部署
计算机毕业设计springboot酒店客房管理系统e03qm源码+系统+程序+lw文档+部署 计算机毕业设计springboot酒店客房管理系统e03qm源码+系统+程序+lw文档+部署 本源码技术栈 ...
最新文章
- JQUERY设置或返回属性值attr
- SAP HANA中的SLT简介
- shell 函数定义和调用
- 新能源维修和计算机应用哪个好,在买新能源车之前 这些事你应该先知道
- 【Elasticsearch】Elasticsearch 动态模板(Dynamic templates)
- mybatis oracle生成注释,MyBatis Generator生成Oracle数据库对应实体类时无法获取注释问题...
- jqGrid的单字段查询
- 代理模式的原理解析入门
- 初识Python 04 day
- (转载)十四步实现拥有强大AI的五子棋游戏
- 微信小程序轮播图滚动带动背景图变换及滚动对应图片下标
- gbk与gb2312并不一样
- html5css重复径向渐变,CSS3怎么实现重复径向渐变效果
- 51单片机读取引脚值原理
- 利用shrinkwrap锁定依赖版本
- 赋诗一首!——《秋》
- 【计算机基础04】Excel习题
- 学会这些快准狠的Word技巧,你也能成为Word高手
- Automatic White Balance(AWB)/Color Constancy(CC)系列论文
- 对比Excel,利用pandas进行数据分析各种用法