更新部分接口

This commit is contained in:
FreeeBird 2019-11-28 21:16:56 +08:00
parent 6d322f19f3
commit f60d385f57
16 changed files with 241 additions and 134 deletions

View File

@ -2,10 +2,10 @@
Demo: [不可用] Demo: [不可用]
前端页面项目(vue): ##前端页面项目(vue):
https://github.com/FreeeBird/hotel_app https://github.com/FreeeBird/hotel_app
后台管理项目(vue-admin): ##后台管理项目(vue-admin):
https://github.com/FreeeBird/hotel-manager https://github.com/FreeeBird/hotel-manager
## 1 背景说明 ## 1 背景说明
@ -19,22 +19,22 @@ https://github.com/FreeeBird/hotel-manager
## 2 项目功能 ## 2 项目功能
>酒店管理系统后台,供管理员管理系统之用 >酒店管理系统后台,供管理员管理系统之用
- 客房类型设置 - 客房类型设置
- 客房设置 - 客房设置
- 操作员设置 - 操作员设置
>酒店管理系统系统供酒店所有工作人员使用前台 >酒店管理系统系统供酒店所有工作人员使用前台
- 入住登记: - 入住登记:
- 登记信息 - 登记信息
- 客人信息 - 客人信息
- 费用信息 - 费用信息
- 结账: - 结账:
- 通过房间号码进行退房结账 - 通过房间号码进行退房结账
- 预订信息管理 - 预订信息管理
- 客户管理 - 客户管理
- 业务统计 - 业务统计
>酒店管理系统系统供酒店客户使用前台 >酒店管理系统系统供酒店客户使用前台
- 浏览酒店信息 - 浏览酒店信息
- 用户管理 - 用户管理
- 预订客房 - 预订客房

View File

@ -1,5 +1,7 @@
package cn.mafangui.hotel.config; package cn.mafangui.hotel.config;
import cn.mafangui.hotel.tool.AdminInterceptor;
import cn.mafangui.hotel.tool.OpInterceptor;
import cn.mafangui.hotel.tool.SessionInterceptor; import cn.mafangui.hotel.tool.SessionInterceptor;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -39,6 +41,10 @@ public class GlobalCrosConfig {
.excludePathPatterns("/hotel/**") .excludePathPatterns("/hotel/**")
.excludePathPatterns("/login/**") .excludePathPatterns("/login/**")
.excludePathPatterns("/register/**"); .excludePathPatterns("/register/**");
registry.addInterceptor(new OpInterceptor())
.addPathPatterns("/op/**");
registry.addInterceptor(new AdminInterceptor())
.addPathPatterns("/admin/**");
} }
}; };
} }

View File

@ -1,55 +0,0 @@
package cn.mafangui.hotel.controller;
import cn.mafangui.hotel.entity.Worker;
import cn.mafangui.hotel.enums.Role;
import cn.mafangui.hotel.service.WorkerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping(value = "/operator")
public class OperatorController {
@Autowired
private WorkerService workerService;
@RequestMapping(method = RequestMethod.POST,value = "/delete")
public int deleteOperator(int workerId){
return workerService.delete(workerId);
}
@RequestMapping(value = "/all")
public List<Worker> getAllOperator(){
return workerService.selectByRole(Role.OPERATOR.getValue());
}
@RequestMapping(method = RequestMethod.POST,value = "/withId")
public Worker getOperator(int workerId){
return workerService.selectById(workerId);
}
@RequestMapping(method = RequestMethod.POST,value = "/add")
public int 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());
return workerService.insert(worker);
}
@RequestMapping(method = RequestMethod.POST,value = "/update")
public int updateOperator(int workerId,String name,String gender,String phone,String email,String address){
Worker worker = new Worker();
worker.setWorkerId(workerId);
worker.setName(name);
worker.setGender(gender);
worker.setPhone(phone);
worker.setEmail(email);
worker.setAddress(address);
return workerService.updateById(worker);
}
}

View File

@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping(value = "/op/check-in") @RequestMapping(value = "/op/check-in")
public class CheckInController { public class OpCheckInController {
@Autowired @Autowired
private CheckInService checkInService; private CheckInService checkInService;

View File

@ -21,7 +21,7 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping(value = "/op/order") @RequestMapping(value = "/op/order")
public class OrderController { public class OpOrderController {
@Autowired @Autowired
private OrderService orderService; private OrderService orderService;

View File

@ -13,26 +13,32 @@ import java.util.List;
@RestController @RestController
@RequestMapping(value = "/op/order-type") @RequestMapping(value = "/op/order-type")
public class OrderTypeController { public class OpOrderTypeController {
@Autowired @Autowired
private OrderTypeService orderTypeService; private OrderTypeService orderTypeService;
@RequestMapping(value = "/add") @RequestMapping(value = "/add")
public int addOrderType(String type,String remark){ public AjaxResult addOrderType(String type,String remark){
OrderType orderType = new OrderType(type,remark); OrderType orderType = new OrderType(type,remark);
return orderTypeService.insertOrderType(orderType); int re = orderTypeService.insertOrderType(orderType);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
} }
@RequestMapping(value = "/delete") @RequestMapping(value = "/delete/{typeId}")
public int deleteOrderType(Integer typeId){ public AjaxResult deleteOrderType(@PathVariable Integer typeId){
return orderTypeService.deleteOrderType(typeId); int re= orderTypeService.deleteOrderType(typeId);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
} }
@RequestMapping(value = "/update") @RequestMapping(value = "/update")
public int updateOrderType(Integer typeId,String type,String remark){ public AjaxResult updateOrderType(Integer typeId,String type,String remark){
OrderType orderType = new OrderType(type,remark); OrderType orderType = new OrderType(type,remark);
orderType.setTypeId(typeId); orderType.setTypeId(typeId);
return orderTypeService.updateOrderType(orderType); int re = orderTypeService.updateOrderType(orderType);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
} }
@RequestMapping(value = "/{typeId}") @RequestMapping(value = "/{typeId}")

View File

@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping(value = "/op/room") @RequestMapping(value = "/op/room")
public class RoomController { public class OpRoomController {
@Autowired @Autowired
private RoomService roomService; private RoomService roomService;
@ -21,7 +21,8 @@ public class RoomController {
private RoomTypeService roomTypeService; private RoomTypeService roomTypeService;
@RequestMapping(value = "/add") @RequestMapping(value = "/add")
public AjaxResult addRoom(String roomNumber, int typeId, String roomType, double roomPrice, double roomDiscount, int roomStatus, String remark){ public AjaxResult addRoom(String roomNumber, Integer typeId, String roomType, double roomPrice, double roomDiscount, int roomStatus, String remark){
if(roomService.selectByNumber(roomNumber)!=null) return ResponseTool.failed("房间号码重复");
Room room = new Room(roomNumber,typeId,roomType,roomPrice,roomDiscount,roomStatus,remark); Room room = new Room(roomNumber,typeId,roomType,roomPrice,roomDiscount,roomStatus,remark);
RoomType rt = new RoomType(); RoomType rt = new RoomType();
if (roomService.insert(room) == 1){ if (roomService.insert(room) == 1){
@ -32,14 +33,14 @@ public class RoomController {
return ResponseTool.success("添加成功"); return ResponseTool.success("添加成功");
} }
@RequestMapping(method = RequestMethod.POST,value = "/delete") @RequestMapping(method = RequestMethod.POST,value = "/delete/{roomId}")
public AjaxResult deleteRoom(int roomId){ public AjaxResult deleteRoom(@PathVariable Integer roomId){
if(roomService.delete(roomId)!=1) return ResponseTool.failed("删除失败"); if(roomService.delete(roomId)!=1) return ResponseTool.failed("删除失败");
return ResponseTool.success("删除成功"); return ResponseTool.success("删除成功");
} }
@RequestMapping(value = "/update") @RequestMapping(value = "/update")
public AjaxResult updateRoom(int roomId,String roomNumber,int typeId, public AjaxResult updateRoom(Integer roomId,String roomNumber,Integer typeId,
String roomType,double roomPrice,double roomDiscount,int roomStatus,String remark){ String roomType,double roomPrice,double roomDiscount,int roomStatus,String remark){
Room room = new Room(roomNumber,typeId,roomType,roomPrice,roomDiscount,roomStatus,remark); Room room = new Room(roomNumber,typeId,roomType,roomPrice,roomDiscount,roomStatus,remark);
room.setRoomId(roomId); room.setRoomId(roomId);
@ -48,17 +49,17 @@ public class RoomController {
} }
@RequestMapping(value = "/{id}") @RequestMapping(value = "/{id}")
public AjaxResult getById(@PathVariable int id){ public AjaxResult getById(@PathVariable Integer id){
return ResponseTool.success(roomService.selectById(id)); return ResponseTool.success(roomService.selectById(id));
} }
@RequestMapping(value = "/type/{typeId}") @RequestMapping(value = "/type/{typeId}")
public AjaxResult getByType(@PathVariable int typeId){ public AjaxResult getByType(@PathVariable Integer typeId){
return ResponseTool.success(roomService.selectByType(typeId)); return ResponseTool.success(roomService.selectByType(typeId));
} }
@RequestMapping(value = "/status/{statusId}") @RequestMapping(value = "/status/{statusId}")
public AjaxResult getByStatus(@PathVariable int statusId){ public AjaxResult getByStatus(@PathVariable Integer statusId){
return ResponseTool.success(roomService.selectByStatus(statusId)); return ResponseTool.success(roomService.selectByStatus(statusId));
} }

View File

@ -13,8 +13,8 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@RestController @RestController
@RequestMapping(value = "/admin/room_type") @RequestMapping(value = "/op/room-type")
public class WorkerRoomTypeController { public class OpRoomTypeController {
@Autowired @Autowired
private RoomTypeService roomTypeService; private RoomTypeService roomTypeService;
@ -63,8 +63,8 @@ public class WorkerRoomTypeController {
* @return * @return
*/ */
@RequestMapping(method = RequestMethod.POST,value = "/add") @RequestMapping(method = RequestMethod.POST,value = "/add")
public AjaxResult addRoomType(String roomType,Double price,Double discount,int area, public AjaxResult addRoomType(String roomType,Double price,Double discount,Integer area,
int bedNum,String bedSize,int window,String remark,int rest){ Integer bedNum,String bedSize,Integer window,String remark,Integer rest){
RoomType rt = new RoomType(roomType,remark,price,discount,area,bedNum,bedSize,window); RoomType rt = new RoomType(roomType,remark,price,discount,area,bedNum,bedSize,window);
rt.setRest(rest); rt.setRest(rest);
int result = roomTypeService.insert(rt); int result = roomTypeService.insert(rt);
@ -87,8 +87,8 @@ public class WorkerRoomTypeController {
* @return * @return
*/ */
@RequestMapping(method = RequestMethod.POST,value = "/update") @RequestMapping(method = RequestMethod.POST,value = "/update")
public AjaxResult updateRoomType(int typeId,String roomType,Double price,Double discount,int area, public AjaxResult updateRoomType(Integer typeId,String roomType,Double price,Double discount,Integer area,
int bedNum,String bedSize,int window,int rest,String remark){ Integer bedNum,String bedSize,Integer window,Integer rest,String remark){
RoomType rt = new RoomType(roomType,remark,price,discount,area,bedNum,bedSize,window); RoomType rt = new RoomType(roomType,remark,price,discount,area,bedNum,bedSize,window);
rt.setTypeId(typeId); rt.setTypeId(typeId);
rt.setRest(rest); rt.setRest(rest);
@ -102,8 +102,8 @@ public class WorkerRoomTypeController {
* @param typeId * @param typeId
* @return * @return
*/ */
@RequestMapping(method = RequestMethod.POST,value = "/delete") @RequestMapping(method = RequestMethod.POST,value = "/delete/{typeId}")
public AjaxResult deleteRoomType(int typeId){ public AjaxResult deleteRoomType(@PathVariable Integer typeId){
int result = roomTypeService.delete(typeId); int result = roomTypeService.delete(typeId);
if(result!=1) return ResponseTool.failed("删除失败"); if(result!=1) return ResponseTool.failed("删除失败");
return ResponseTool.success("删除成功"); return ResponseTool.success("删除成功");

View File

@ -31,10 +31,19 @@ public class OpUserController {
return ResponseTool.success(userService.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") @RequestMapping(method = RequestMethod.POST,value = "/add")
public int userAdd(String username,String password,String name,String gender,String phone,String email,String address,String idcard){ 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); User user = new User(username,password,name,gender,phone,email,address,idcard);
return userService.addUser(user); int re = userService.addUser(user);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success();
} }
@RequestMapping(method = RequestMethod.POST,value = "/update") @RequestMapping(method = RequestMethod.POST,value = "/update")

View File

@ -0,0 +1,64 @@
package cn.mafangui.hotel.controller.worker;
import cn.mafangui.hotel.entity.Worker;
import cn.mafangui.hotel.enums.Role;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.ResponseTool;
import cn.mafangui.hotel.service.WorkerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@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();
worker.setWorkerId(workerId);
worker.setName(name);
worker.setGender(gender);
worker.setPhone(phone);
worker.setEmail(email);
worker.setAddress(address);
int re = workerService.updateById(worker);
if(re!=1) return ResponseTool.failed();
return ResponseTool.success("更新成功");
}
}

View File

@ -5,11 +5,12 @@ package cn.mafangui.hotel.response;
* 消息类型描述 * 消息类型描述
*/ */
public enum MsgType { public enum MsgType {
SUCCESS(1000,"success"), SUCCESS(1000,"SUCCESS"),
FAILED(1001,"failure"), FAILED(1001,"FAILURE"),
PARAM_IS_INVALID(1001,"参数非法"), PARAM_IS_INVALID(1001,"PARAM_IS_INVALID"),
PERMISSION_DENIED(1002,"权限不足"), PERMISSION_DENIED(1002,"PERMISSION_DENIED"),
NOT_LOGIN(1100,"NOT LOGIN");
; ;
private Integer code; private Integer code;

View File

@ -1,8 +1,5 @@
package cn.mafangui.hotel.response; package cn.mafangui.hotel.response;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.MsgType;
/** /**
* 接口数据返回工具类 * 接口数据返回工具类
* 成功则调用success * 成功则调用success
@ -19,6 +16,10 @@ public class ResponseTool {
return new AjaxResult<>(object); return new AjaxResult<>(object);
} }
public static AjaxResult success(){
return new AjaxResult(MsgType.SUCCESS.getCode(),MsgType.SUCCESS.getMessage());
}
/** /**
* 请求失败 * 请求失败
* @param msgType 消息描述 * @param msgType 消息描述

View File

@ -0,0 +1,51 @@
package cn.mafangui.hotel.tool;
import cn.mafangui.hotel.enums.Role;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.MsgType;
import cn.mafangui.hotel.response.ResponseTool;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
public class AdminInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if(session.getAttribute("role").equals(Role.ADMIN.getValue())){
return true;
}else {
setCorsMappings(request, response);
PrintWriter writer = response.getWriter();
AjaxResult result = ResponseTool.failed(MsgType.PERMISSION_DENIED);
ObjectMapper mapper = new ObjectMapper();
writer.write(mapper.writeValueAsString(result));
return false;
}
}
private void setCorsMappings(HttpServletRequest request, HttpServletResponse response){
String origin = request.getHeader("Origin");
response.setHeader("Access-Control-Allow-Origin", origin);
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization");
response.setHeader("Access-Control-Allow-Credentials", "true");
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}

View File

@ -0,0 +1,52 @@
package cn.mafangui.hotel.tool;
import cn.mafangui.hotel.enums.Role;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.MsgType;
import cn.mafangui.hotel.response.ResponseTool;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
public class OpInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if(session.getAttribute("role").equals(Role.OPERATOR.getValue()) ||
session.getAttribute("role").equals(Role.ADMIN.getValue())){
return true;
}else {
setCorsMappings(request, response);
PrintWriter writer = response.getWriter();
AjaxResult result = ResponseTool.failed(MsgType.PERMISSION_DENIED);
ObjectMapper mapper = new ObjectMapper();
writer.write(mapper.writeValueAsString(result));
return false;
}
}
private void setCorsMappings(HttpServletRequest request, HttpServletResponse response){
String origin = request.getHeader("Origin");
response.setHeader("Access-Control-Allow-Origin", origin);
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization");
response.setHeader("Access-Control-Allow-Credentials", "true");
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}

View File

@ -22,7 +22,7 @@ public class SessionInterceptor implements HandlerInterceptor {
}else { }else {
setCorsMappings(request, response); setCorsMappings(request, response);
PrintWriter writer = response.getWriter(); PrintWriter writer = response.getWriter();
AjaxResult result = ResponseTool.failed("NOT LOGIN"); AjaxResult result = ResponseTool.failed(MsgType.NOT_LOGIN);
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
writer.write(mapper.writeValueAsString(result)); writer.write(mapper.writeValueAsString(result));
return false; return false;

View File

@ -1,29 +0,0 @@
package cn.mafangui.hotel.tool;
import cn.mafangui.hotel.response.AjaxResult;
import cn.mafangui.hotel.response.MsgType;
import cn.mafangui.hotel.response.ResponseTool;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.PrintWriter;
public class UserInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
if(session.getAttribute("userId") != null){
return true;
}else {
PrintWriter writer = response.getWriter();
AjaxResult result = ResponseTool.failed(MsgType.PERMISSION_DENIED);
ObjectMapper mapper = new ObjectMapper();
writer.write(mapper.writeValueAsString(result));
return false;
}
}
}