基于javaweb+mysql的springboot酒店预订管理系统(java+springboot+vue+maven+mysql)

基于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管理等等。


/**
 * @ProjectName: hotel
 * @Package: cn.mafangui.hotel.controller.worker
 * @ClassName: OpMsgController
 * @description:留言管理
 * @modified By:
 * @version: v1.0.0$
 */
@RestController
@RequestMapping(value = "/op/msg")
public class OpMsgController {
    @Autowired
    private MsgService msgService;

    /**
     * 添加公告
     * 订单状态默认为未付款状态
     */
    @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) {
        Msg msg = new Msg(0,title, content, time, Integer.parseInt(userId), userName, phone,role);
        int re = msgService.insert(msg);
        if (re != 1) return ResponseTool.failed(MsgType.FAILED);
        return ResponseTool.success("添加成功.");
    }

    @RequestMapping(value = "/delete")
    public AjaxResult deleteNotice(int orderId) {
        int re = msgService.delete(orderId);
        if (re != 1) return ResponseTool.failed(MsgType.FAILED);
        return ResponseTool.success("删除成功.");
    }

    @RequestMapping(value = "/update")
    public AjaxResult updateNotice(int id, String title, String content) {
        }
    }

    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 {
    }
}
package cn.mafangui.hotel.controller.worker;

@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();

/**
 * @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);
        return ResponseTool.success("删除成功.");
    }

    @RequestMapping(value = "/delete")
    public AjaxResult deleteNotice(int id) {
        int re = noticeService.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) {
        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));
    }


    @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 {
    }
}
package cn.mafangui.hotel.controller.worker;

@RestController
@RequestMapping(value = "/op/check-in")
public class OpCheckInController {

    @Autowired
    private CheckInService checkInService;

    @RequestMapping(value = "/in")
    public AjaxResult addCheckIn(int orderId, int peoCount, String persons, String ids){
        CheckIn checkIn = new CheckIn();
        checkIn.setOrderId(orderId);
        checkIn.setPeoCount(peoCount);
        checkIn.setPersons(persons);
        checkIn.setIds(ids);
        return ResponseTool.success(checkInService.checkIn(checkIn));
    }

    @RequestMapping(value = "/out")
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

}
package cn.mafangui.hotel.tool;

public class OpInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        if(session==null) {
        	 return false;
        }
        if(session.getAttribute("role").equals(Role.OPERATOR.getValue()) ||
                session.getAttribute("role").equals(Role.ADMIN.getValue())||
                session.getAttribute("role").equals(Role.USER.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");
    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 {
    }
}
package cn.mafangui.hotel.tool;

        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("更新成功");
    }

}
package cn.mafangui.hotel.controller.common;

@RestController
@RequestMapping(value = "/register")
public class RegisterController {

    @Autowired
    UserService userService;
    @Autowired
    WorkerService workerService;

    @RequestMapping(method = RequestMethod.POST,value = "/user")
    public AjaxResult userRegister(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 result = userService.insertUser(user);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

    @RequestMapping(method = RequestMethod.POST,value = "/admin")
    public AjaxResult adminRegister(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);
            return ResponseTool.failed(MsgType.PERMISSION_DENIED);
        }
        User user = new User();
        user.setUserId(userId);
        user.setName(name);
        user.setGender(gender);
        user.setPhone(phone);
        user.setEmail(email);
        user.setAddress(address);
        user.setIdcard(idcard);
        if(userService.updateUser(user)==1)
            return ResponseTool.success("修改成功");
        return ResponseTool.success("修改失败,请检查或稍后再试");
    }

    /**
     * 更改密码
     * @param username
     * @param oldPassword
     * @param newPassword
     * @return
     */
    @RequestMapping(method = RequestMethod.POST,value = "/updatePassword")
    public AjaxResult updatePassword(String username,String oldPassword,String newPassword){
        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);
    }

/**
 * @ProjectName: hotel
 * @Package: cn.mafangui.hotel.controller.worker
 * @ClassName: OpNoticeController
 * @description:公告管理控制层
 * @modified By:
 * @version: v1.0.0$
 */
@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) {
package cn.mafangui.hotel.controller.common;

@RestController
@RequestMapping(value = "/register")
public class RegisterController {

    @Autowired
    UserService userService;
    @Autowired
    WorkerService workerService;

    @RequestMapping(method = RequestMethod.POST,value = "/user")
    public AjaxResult userRegister(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 result = userService.insertUser(user);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

    @RequestMapping(method = RequestMethod.POST,value = "/admin")
    public AjaxResult adminRegister(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.ADMIN.getValue());
        int result = workerService.insert(worker);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

    @RequestMapping(method = RequestMethod.POST,value = "/operator")
    public AjaxResult operatorRegister(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 result = workerService.insert(worker);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }
        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.setUserId(userId);
        user.setName(name);
        user.setGender(gender);
        user.setPhone(phone);
        user.setEmail(email);
        user.setAddress(address);
        user.setIdcard(idcard);
        if(userService.updateUser(user)==1)
            return ResponseTool.success("修改成功");
        return ResponseTool.success("修改失败,请检查或稍后再试");
    }

    @RequestMapping(method = RequestMethod.POST,value = "/updatePassword")
    public AjaxResult updatePassword(String username,String oldPassword,String newPassword){
        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("修改失败");
    }

    @RequestMapping(value = "/{userId}")
    public AjaxResult getProfile(@PathVariable Integer userId){
        User user = userService.selectById(userId);
        user.setPassword(null);
        return ResponseTool.success(user);
    }

     * @return
     */
    @RequestMapping(value = "/user/{userId}")
    public AjaxResult getByUser(@PathVariable int userId) {
        return ResponseTool.success(msgService.selectByUserId(userId));
    }

    /**
     * 根据id号查询公告
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/{id}")
    public AjaxResult getById(@PathVariable Integer id) {
        return ResponseTool.success(msgService.selectById(id));
    }

}
package cn.mafangui.hotel.controller.worker;

/**

@RestController
@RequestMapping(value = "/login")
public class LoginController {
    @Autowired
    private UserService userService;
    @Autowired
    private WorkerService workerService;

    @RequestMapping(value = "/user",method = RequestMethod.POST)
    public AjaxResult userLogin(String username, String password,
                                        HttpServletRequest request) {
        if(StringUtils.isEmpty(username)){
            return ResponseTool.failed("用户名不能为空");
        }else if(StringUtils.isEmpty(password)) {
            return ResponseTool.failed("密码不能为空");
        }
        User user = userService.selectByUsernameAndPassword(username,password);
        if(user==null){
            return ResponseTool.failed("用户名或密码不正确");
        }
        HttpSession session = request.getSession();
        session.setAttribute("userId",user.getUserId());
        session.setAttribute("username",user.getUsername());
        session.setAttribute("role",user.getRole());
        HashMap map = new HashMap<>();
        map.put("sessionId",session.getId());
        map.put("userId",user.getUserId());
        return ResponseTool.success(map);
    }

    @RequestMapping(value = "/admin",method = RequestMethod.POST)
    public AjaxResult workerLogin(String username, String password,
                                HttpServletRequest request){
        if(StringUtils.isEmpty(username)){
            return ResponseTool.failed("用户名不能为空");
        }else if(StringUtils.isEmpty(password)) {
    /**
     * 根据订单号查询订单
     * @param orderId
     * @return
     */
    @RequestMapping(value = "/{orderId}")
    public AjaxResult getById(@PathVariable Integer orderId){
        return ResponseTool.success(orderService.selectById(orderId));
    }

    /**
     * 根据姓名、预留手机号查找订单
     * 主要用于客户入住
     * @param name
     * @param phone
     * @return
     */
    @RequestMapping(value = "/withNameAndPhone")
    public AjaxResult getByNameAndPhone(String name,String phone){
        return ResponseTool.success(orderService.selectByNameAndPhone(name,phone));
    }

}
package cn.mafangui.hotel.controller.worker;

/**
 * @ProjectName: hotel
public class OpCheckInController {

    @Autowired
    private CheckInService checkInService;

    @RequestMapping(value = "/in")
    public AjaxResult addCheckIn(int orderId, int peoCount, String persons, String ids){
        CheckIn checkIn = new CheckIn();
        checkIn.setOrderId(orderId);
        checkIn.setPeoCount(peoCount);
        checkIn.setPersons(persons);
        checkIn.setIds(ids);
        return ResponseTool.success(checkInService.checkIn(checkIn));
    }

    @RequestMapping(value = "/out")
    public AjaxResult checkOut(String roomNumber) {
        if(checkInService.checkOut(roomNumber)<0)
            return ResponseTool.failed("退房失败");
        return ResponseTool.success("退房成功");
    }

    @RequestMapping(value = "/delete")
    public AjaxResult deleteCheckIn(int checkId){
        if(checkInService.delete(checkId)!=1)
            return ResponseTool.failed("删除失败");
        return ResponseTool.success("删除成功");
    }

    @RequestMapping(value = "/update")
    public AjaxResult update(int checkId,String roomNumber){
        CheckIn checkIn = new CheckIn();
        checkIn.setCheckInId(checkId);
        checkIn.setRoomNumber(roomNumber);
        if(checkInService.update(checkIn)!=1)
            return ResponseTool.failed("更新失败");
        return ResponseTool.success("更新成功");
    }

    @RequestMapping(value = "/{checkId}")
    public AjaxResult getById(@PathVariable int checkId){
        return ResponseTool.success(checkInService.selectById(checkId));
    }

    @RequestMapping(value = "")
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

}
package cn.mafangui.hotel.tool;

public class OpInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        if(session==null) {
        	 return false;
        }
        if(session.getAttribute("role").equals(Role.OPERATOR.getValue()) ||
                session.getAttribute("role").equals(Role.ADMIN.getValue())||
                session.getAttribute("role").equals(Role.USER.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){
     * @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("注销成功");
    }

}
package cn.mafangui.hotel.controller.worker;

@RestController
@RequestMapping(value = "/op/room-type")
public class OpRoomTypeController {

    @Autowired
    private RoomTypeService roomTypeService;

        return ResponseTool.success(dishesService.selectByUserId(userId));
    }

    /**
     * 根据id号查询公告
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/{id}")
    public AjaxResult getById(@PathVariable Integer id) {
        return ResponseTool.success(dishesService.selectById(id));
    }

}
package cn.mafangui.hotel.controller.user;

/**
 * 订单接口
 */
@RestController
@RequestMapping(value = "/user/order")
public class UserOrderController {
    @Autowired
    private OrderService orderService;
    @Autowired
    private UserService userService;

    /**
     * 添加预订
     * 订单状态默认为未付款状态

/**
 * @ProjectName: hotel
 * @Package: cn.mafangui.hotel.controller.worker
 * @ClassName: OpNoticeController
 * @description:公告管理控制层
 * @modified By:
 * @version: v1.0.0$
 */
@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);
    }

    @RequestMapping(value = "")
    public AjaxResult getAllMsg() {
        return ResponseTool.success(msgService.AllMsg());
    }

    @RequestMapping(value = "/count")
    public AjaxResult getMsgCount() {
        return ResponseTool.success(msgService.getMsgCount());
    }

    /**
     * 根据userID查询所有留言
     *
     * @param userId
     * @return
     */
    @RequestMapping(value = "/user/{userId}")
    public AjaxResult getByUser(@PathVariable int userId) {
        return ResponseTool.success(msgService.selectByUserId(userId));
    }

    /**
     * 根据id号查询公告
     *
     * @param id
     * @return
     */
    @RequestMapping(value = "/{id}")
    public AjaxResult getById(@PathVariable Integer id) {
        return ResponseTool.success(msgService.selectById(id));
    }

}
package cn.mafangui.hotel.controller.worker;

        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("注销成功");
    }

}
package cn.mafangui.hotel.controller.worker;

@RestController
@RequestMapping(value = "/op/room-type")
public class OpRoomTypeController {

    @Autowired
    private RoomTypeService roomTypeService;

    /**
     * 所有房型
     * @return
     */
    @RequestMapping(value = "")
    public AjaxResult getAllRoomType(){
        List<RoomType> rooms = roomTypeService.findAllType();
        if(result!=1) return ResponseTool.failed("删除失败");
        return ResponseTool.success("删除成功");
    }

}
package cn.mafangui.hotel.controller.worker;

/**
 * @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("添加成功.");
    }

    @Autowired
    UserService userService;
    @Autowired
    WorkerService workerService;

    @RequestMapping(method = RequestMethod.POST,value = "/user")
    public AjaxResult userRegister(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 result = userService.insertUser(user);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

    @RequestMapping(method = RequestMethod.POST,value = "/admin")
    public AjaxResult adminRegister(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.ADMIN.getValue());
        int result = workerService.insert(worker);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

    @RequestMapping(method = RequestMethod.POST,value = "/operator")
    public AjaxResult operatorRegister(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 result = workerService.insert(worker);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

}
package cn.mafangui.hotel.tool;

@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);
        int result = workerService.insert(worker);
        if(result==1){
            return ResponseTool.success(result);
        }
        else return ResponseTool.failed("注册失败,请稍后再试");
    }

}
package cn.mafangui.hotel.tool;

public class OpInterceptor implements HandlerInterceptor {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        if(session==null) {
        	 return false;
        }
        if(session.getAttribute("role").equals(Role.OPERATOR.getValue()) ||
                session.getAttribute("role").equals(Role.ADMIN.getValue())||
                session.getAttribute("role").equals(Role.USER.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");

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值