基于javaweb+mysql的springboot酒店预订管理系统(java+springboot+vue+maven+mysql)
运行环境
Java≥8、MySQL≥5.7、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot酒店预订管理系统(java+springboot+vue+maven+mysql)
一、项目运行 环境配置:
Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术:
Spring + SpringBoot+ mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。
@RestController
@RequestMapping(value = "/op/room-type")
public class OpRoomTypeController {
@Autowired
private RoomTypeService roomTypeService;
/**
* 所有房型
* @return
*/
@RequestMapping(value = "")
public AjaxResult getAllRoomType(){
List<RoomType> rooms = roomTypeService.findAllType();
return ResponseTool.success(rooms);
}
/**
* 查找有余量的房型
* @return
*/
@RequestMapping(value = "/rest")
public AjaxResult findAllRestRoomType(){
return ResponseTool.success(roomTypeService.findAllRestType());
}
/**
* 根据id查找房型
* @param typeId
* @return
*/
@RequestMapping(value = "/{typeId}")
public AjaxResult getById(@PathVariable int typeId){
return ResponseTool.success(roomTypeService.selectById(typeId));
}
/**
* 添加房型
* @param roomType
* @param price
* @param discount
@RestController
@RequestMapping(value = "/op/dishes")
public class OpDishesController {
@Autowired
private DishesService dishesService;
@Autowired
private DishesManagerService dishesManagerService;
/**
* 添加公告
* 订单状态默认为未付款状态
*/
@RequestMapping(value = "/add")
public AjaxResult addNotice(
String dishId,
String num,
@DateTimeFormat(pattern = "yyyy-MM-dd") Date time,
String userId,
String userName,
String phone,
String role) {
DishesManager dishesManager = dishesManagerService.selectById(Integer.parseInt(dishId));
Dishes notice = new Dishes(0, dishesManager.getDishName(), num, String.valueOf(Integer.parseInt(num) * Integer.parseInt(dishesManager.getDishPrice())), time, Integer.parseInt(userId), userName, phone, role);
int re = dishesService.insert(notice);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("添加成功.");
}
/**
* 添加公告
* 订单状态默认为未付款状态
*/
@RequestMapping(value = "/pay")
public AjaxResult pay(
String id,
String payVal) {
boolean flag = dishesManagerService.updatePay(id, payVal);
if (flag == false) {
return ResponseTool.failed(MsgType.FAILED);
}
return ResponseTool.success("付款成功!");
}
@RequestMapping(value = "/delete")
public AjaxResult deleteNotice(int id) {
int re = dishesService.delete(id);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("删除成功.");
}
}
}
@RestController
@RequestMapping(value = "/op/order-type")
public class OpOrderTypeController {
@Autowired
private OrderTypeService orderTypeService;
@RequestMapping(value = "/add")
public AjaxResult addOrderType(String type,String remark){
OrderType orderType = new OrderType(type,remark);
int re = orderTypeService.insertOrderType(orderType);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
}
@RequestMapping(value = "/delete/{typeId}")
public AjaxResult deleteOrderType(@PathVariable Integer typeId){
int re= orderTypeService.deleteOrderType(typeId);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
}
@RequestMapping(value = "/update")
public AjaxResult updateOrderType(Integer typeId,String type,String remark){
OrderType orderType = new OrderType(type,remark);
orderType.setTypeId(typeId);
int re = orderTypeService.updateOrderType(orderType);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
}
@RequestMapping(value = "/add")
public AjaxResult addNotice(String dishName, String dishPrice) {
DishesManager dishesManager = new DishesManager(0, dishName, dishPrice);
int re = dishesManagerService.insert(dishesManager);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("添加成功.");
}
@RequestMapping(value = "/delete")
public AjaxResult deleteNotice(String orderId) {
int re = dishesManagerService.delete(Integer.parseInt(orderId));
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("删除成功.");
}
@RequestMapping(value = "")
public AjaxResult getAllDishesManager() {
return ResponseTool.success(dishesManagerService.AllDishesManager());
}
@RequestMapping(value = "/count")
public AjaxResult getDishesCount() {
return ResponseTool.success(dishesManagerService.getDishesCount());
}
/**
* 根据id号查询
*
* @param id
* @return
*/
@RequestMapping(value = "/{id}")
public AjaxResult getById(@PathVariable Integer id) {
return ResponseTool.success(dishesManagerService.selectById(id));
}
}
String payVal) {
boolean flag = dishesManagerService.updatePay(id, payVal);
if (flag == false) {
return ResponseTool.failed(MsgType.FAILED);
}
return ResponseTool.success("付款成功!");
}
@RequestMapping(value = "/delete")
public AjaxResult deleteNotice(int id) {
int re = dishesService.delete(id);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("删除成功.");
}
@RequestMapping(value = "/update")
public AjaxResult updateNotice(int id, String title, String content) {
Dishes notice = new Dishes();
int re = dishesService.update(notice);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("修改成功.");
}
@RequestMapping(value = "")
public AjaxResult getAllNotice() {
return ResponseTool.success(dishesService.AllNotices());
}
@RequestMapping(value = "/count")
public AjaxResult getDishesCount() {
return ResponseTool.success(dishesService.getDishesCount());
}
/**
* 根据userID查询所有公告
*
* @param userId
* @return
*/
@RequestMapping(value = "/user/{userId}")
public AjaxResult getByUser(@PathVariable int userId) {
return ResponseTool.success(dishesService.selectByUserId(userId));
}
/**
* 根据id号查询公告
return ResponseTool.failed("修改失败");
}
@RequestMapping(value = "/{userId}")
public AjaxResult getProfile(@PathVariable Integer userId){
User user = userService.selectById(userId);
user.setPassword(null);
return ResponseTool.success(user);
}
@RequestMapping(value = "/username/{username}")
public AjaxResult getByUsername(@PathVariable String username){
User user = userService.selectByUsername(username);
user.setPassword(null);
return ResponseTool.success(user);
}
}
@RestController
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 更新用户信息
* @param userId
* @param name
* @param gender
return ResponseTool.success(user);
}
}
@RestController
@RequestMapping(value = "/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 更新用户信息
* @param userId
* @param name
* @param gender
* @param phone
* @param email
* @param address
* @param idcard
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/update")
public AjaxResult userUpdate(Integer userId, String name, String gender, String phone,
String email, String address, String idcard, HttpServletRequest request){
HttpSession session = request.getSession();
if (!session.getAttribute("userId").equals(userId)){
return ResponseTool.failed(MsgType.PERMISSION_DENIED);
}
/**
* @ProjectName: hotel
* @Package: cn.mafangui.hotel.controller.worker
* @ClassName: OpNoticeController
* @description:公告管理控制层
* @modified By:
* @version: v1.0.0$
*/
@RestController
@RequestMapping(value = "/op/dishesmanager")
public class OpDishesManagerController {
@Autowired
private DishesManagerService dishesManagerService;
/**
* 添加公告
* 订单状态默认为未付款状态
/**
* @ProjectName: hotel
* @Package: cn.mafangui.hotel.controller.worker
* @ClassName: OpNoticeController
* @description:公告管理控制层
* @modified By:
* @version: v1.0.0$
*/
@RestController
@RequestMapping(value = "/op/notice")
public class OpNoticeController {
@Autowired
private NoticeService noticeService;
/**
* 添加公告
* 订单状态默认为未付款状态
*/
@RequestMapping(value = "/add")
public AjaxResult addNotice(String title, String content, @DateTimeFormat(pattern = "yyyy-MM-dd") Date time, String userId, String userName, String phone,String role) {
Notice notice = new Notice(0,title, content, time, Integer.parseInt(userId), userName, phone,role);
int re = noticeService.insert(notice);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("添加成功.");
}
@RequestMapping(value = "/delete")
public AjaxResult deleteNotice(int id) {
int re = noticeService.delete(id);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
* @Package: cn.mafangui.hotel.controller.worker
* @ClassName: OpNoticeController
* @description:公告管理控制层
* @modified By:
* @version: v1.0.0$
*/
@RestController
@RequestMapping(value = "/op/dishesmanager")
public class OpDishesManagerController {
@Autowired
private DishesManagerService dishesManagerService;
/**
* 添加公告
* 订单状态默认为未付款状态
*/
@RequestMapping(value = "/add")
public AjaxResult addNotice(String dishName, String dishPrice) {
DishesManager dishesManager = new DishesManager(0, dishName, dishPrice);
int re = dishesManagerService.insert(dishesManager);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("添加成功.");
}
@RequestMapping(value = "/delete")
public AjaxResult deleteNotice(String orderId) {
int re = dishesManagerService.delete(Integer.parseInt(orderId));
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("删除成功.");
}
@RequestMapping(value = "")
public AjaxResult getAllDishesManager() {
return ResponseTool.success(dishesManagerService.AllDishesManager());
}
@RequestMapping(value = "/count")
public AjaxResult getDishesCount() {
return ResponseTool.success(dishesManagerService.getDishesCount());
}
/**
* 根据id号查询
@DateTimeFormat(pattern = "yyyy-MM-dd") Date orderDate, Integer orderDays, Double orderCost){
Order order = new Order(orderTypeId,orderType,userId,name,phone,roomTypeId,
roomType,orderDate,orderDays, OrderStatus.UNPAID.getCode(),orderCost);
int re = orderService.update(order);
if(re!=1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("修改成功.");
}
/**
* 订单支付
* @param orderId
* @return
*/
@RequestMapping(method = RequestMethod.POST,value = "/pay")
public AjaxResult payOrder(int orderId){
int re = orderService.payOrder(orderId);
if(re!=1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("支付成功.");
}
/**
* 取消订单
* @param orderId
* @return
*/
@RequestMapping(value = "/cancel")
public AjaxResult cancelOrder(int orderId){
int re= orderService.cancelOrder(orderId);
if(re!=1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("取消成功.");
}
/**
* 订单超时
* @param orderId
* @return
*/
@RequestMapping(value = "/overtime")
public int orderOver(int orderId){
Order order = new Order(orderId,OrderStatus.OVERTIME.getCode());
return orderService.update(order);
}
@RequestMapping(value = "")
public AjaxResult getAllOrder(){
return ResponseTool.success(orderService.AllOrders());
}
@RequestMapping(value = "/count")
public AjaxResult getOrderCount(){
@RestController
@RequestMapping(value = "/admin/operator")
public class OperatorController {
@Autowired
private WorkerService workerService;
@RequestMapping(method = RequestMethod.POST,value = "/delete/{workerId}")
public AjaxResult deleteOperator(@PathVariable Integer workerId){
int re = workerService.delete(workerId);
if(re!=1) ResponseTool.failed();
return ResponseTool.success("删除成功");
}
@RequestMapping(value = "")
public AjaxResult getAllOperator(){
return ResponseTool.success(workerService.selectByRole(Role.OPERATOR.getValue()));
}
@RequestMapping(method = RequestMethod.POST,value = "/{workerId}")
public AjaxResult getOperator(@PathVariable Integer workerId){
return ResponseTool.success(workerService.selectById(workerId));
}
@RequestMapping(method = RequestMethod.POST,value = "/add")
public AjaxResult addOperator(String username,String password,String name,String gender,String phone,String email,String address){
Worker worker = new Worker(username,password,name,gender,phone,email,address);
worker.setRole(Role.OPERATOR.getValue());
int re = workerService.insert(worker);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success("添加成功");
}
@RequestMapping(method = RequestMethod.POST,value = "/update")
public AjaxResult updateOperator(int workerId,String name,String gender,String phone,String email,String address){
Worker worker = new Worker();
@RestController
@RequestMapping(value = "/op/user")
public class OpUserController {
@Autowired
private UserService userService;
@RequestMapping(value = "")
public AjaxResult getAllUser(){
return ResponseTool.success(userService.selectAllUser());
}
@RequestMapping(value = "/count")
public AjaxResult getUserCount(){
return ResponseTool.success(userService.getUserCount());
}
@RequestMapping(value = "/delete/{userId}")
public AjaxResult deleteUser(@PathVariable Integer userId){
int re = userService.deleteUser(userId);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
}
@RequestMapping(method = RequestMethod.POST,value = "/add")
public AjaxResult userAdd(String username,String password,String name,String gender,String phone,String email,String address,String idcard){
User user = new User(username,password,name,gender,phone,email,address,idcard);
int re = userService.addUser(user);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
}
@RequestMapping(method = RequestMethod.POST,value = "/update")
public AjaxResult userUpdate(Integer userId, String name, String gender, String phone,
String email, String address, String idcard, HttpServletRequest request){
HttpSession session = request.getSession();
if (!session.getAttribute("userId").equals(userId)){
return ResponseTool.failed(MsgType.PERMISSION_DENIED);
}
User user = new User();
User user = userService.selectByUsernameAndPassword(username,oldPassword);
if (user == null){
return ResponseTool.failed("密码不对");
}
user.setPassword(newPassword);
if(userService.updateUser(user)==1)
return ResponseTool.success("修改成功");
return ResponseTool.failed("修改失败");
}
/**
* 获取个人资料
* @param request
* @return
*/
@RequestMapping(value = "/profile")
public AjaxResult getProfile(HttpServletRequest request){
String username = (String) request.getSession().getAttribute("username");
User user = userService.selectByUsername(username);
if(user==null) return ResponseTool.failed("未知错误");
user.setPassword(null);
StringBuilder sb = new StringBuilder(user.getIdcard());
sb.replace(5,12,"********");
user.setIdcard(sb.toString());
return ResponseTool.success(user);
}
/**
* 注销
* @param request
* @return
*/
@RequestMapping(value = "/logout",method = RequestMethod.POST)
public AjaxResult logout(HttpServletRequest request){
HttpSession session = request.getSession();
session.removeAttribute("userId");
session.removeAttribute("username");
return ResponseTool.success("注销成功");
}
}
@RequestMapping(value = "/overtime")
public int orderOver(int orderId){
Order order = new Order(orderId,OrderStatus.OVERTIME.getCode());
return orderService.update(order);
}
@RequestMapping(value = "")
public AjaxResult getAllOrder(){
return ResponseTool.success(orderService.AllOrders());
}
@RequestMapping(value = "/count")
public AjaxResult getOrderCount(){
return ResponseTool.success(orderService.getOrderCount());
}
/**
* 根据userID查询所有订单
* @param userId
* @return
*/
@RequestMapping(value = "/user/{userId}")
public AjaxResult getByUser(@PathVariable int userId){
return ResponseTool.success(orderService.selectByUserId(userId));
}
/**
* 根据订单号查询订单
* @param orderId
* @return
*/
@RequestMapping(value = "/{orderId}")
public AjaxResult getById(@PathVariable Integer orderId){
return ResponseTool.success(orderService.selectById(orderId));
}
/**
* 根据姓名、预留手机号查找订单
* 主要用于客户入住
* @param name
* @param phone
}
/**
* 客户查询个人所有订单(不包括被自己删除的)
* @param userId
* @return
*/
@RequestMapping(value = "")
public AjaxResult getAllByUser(int userId){
return ResponseTool.success(orderService.UsersAllOrders(userId));
}
/**
* 根据订单号查询订单
* @param orderId
* @return
*/
@RequestMapping(value = "/{orderId}")
public AjaxResult getById(@PathVariable int orderId){
return ResponseTool.success(orderService.selectById(orderId));
}
}
@RestController
@RequestMapping(value = "/op/user")
public class OpUserController {
@Autowired
private UserService userService;
@RequestMapping(value = "/update")
public AjaxResult updateNotice(int id, String title, String content) {
Notice notice = new Notice(id,title,content);
int re = noticeService.update(notice);
if (re != 1) return ResponseTool.failed(MsgType.FAILED);
return ResponseTool.success("修改成功.");
}
@RequestMapping(value = "")
public AjaxResult getAllNotice() {
return ResponseTool.success(noticeService.AllNotices());
}
@RequestMapping(value = "/count")
public AjaxResult getNoticeCount() {
return ResponseTool.success(noticeService.getNoticeCount());
}
/**
* 根据userID查询所有公告
*
* @param userId
* @return
*/
@RequestMapping(value = "/user/{userId}")
public AjaxResult getByUser(@PathVariable int userId) {
return ResponseTool.success(noticeService.selectByUserId(userId));
}
/**
* 根据id号查询公告
*
* @param id
* @return
*/
@RequestMapping(value = "/{id}")
public AjaxResult getById(@PathVariable Integer id) {
return ResponseTool.success(noticeService.selectById(id));
}
}