基于javaweb+mysql的springboot酒店管理系统(java+springboot+mybatis+beetl+layui)

基于javaweb+mysql的springboot酒店管理系统(java+springboot+mybatis+beetl+layui)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot酒店管理系统(java+springboot+mybatis+beetl+layui)

此系统用的是springboot框架,前端框架主要用的是layui,表格用的bootstrap 表格,都是一些主流的框架,前端模板引擎用的是beetl,操作简单,通俗易懂,用的都是简单的技术很适合做毕业设计。

项目的主要功能:

1、信息维护:主要维护一些房间的信息,包括房间增加、房间维修等;

2、登记管理:主要是入住登记、退租以及房间的历史使用情况;

3、工作文件:发布一些公告、附件以及附件的下载;

4、申请管理:主要是员工请假申请、调休申请;

5、考勤打卡:员工考勤用的,上班下班打卡,若当天(非周末)23点55分没有打上班卡且没有请假、调休,会自动记为旷工(定时器)

6、账号管理:创建用户以及给用户分配菜单资源权限,若不想用哪个模块或者哪个菜单,可直接隐藏,方便简单;

7、菜单维护:对菜单的增删改查,配置菜单图标、访问路径等

运行环境:jdk1.8、eclipse/idea、Mysql5.7、Navicat/Sqlyog、Maven3.5/3.6


/**

* 根据ID查询

* @param id ID

* @return

*/

@ResponseBody

@RequestMapping(value="/{id}",method= RequestMethod.GET)

public Result findById(@PathVariable Long id){

return new Result(true,StatusCode.OK,"查询成功",ordersService.findById(id));

/**

* 分页+多条件查询
@Autowired

private ScenicService scenicService;

@Autowired

private ScenicDao scenicDao;

@Autowired

private HotelService hotelService;

@Autowired

private HotelDao hotelDao;

/**

*查询星级

* @return

*/

Specification specification=new Specification() {

@Override

public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) {

List<Predicate> scenics=new ArrayList<>();

if (StringUtils.isNotBlank(search_key)){

scenics.add( criteriaBuilder.like(root.get("name"),"%"+search_key+"%"));

return criteriaBuilder.and(scenics.toArray(new Predicate[scenics.size()]));

};

Page<Scenic> page=scenicDao.findAll(specification,pageable);

model.addAttribute("name",search_key);


user.setPassword(oldUser.getPassword());

userService.update(user);

return new Result(true,StatusCode.OK,"修改成功");

/**

* 修改

* @param user

*/

@RequestMapping(value="/change",method= RequestMethod.POST,consumes = "application/json")

public Result update(@RequestBody User user, HttpSession session){

User us= (User) session.getAttribute("user");

*判断账号是否存在

* @param user

* @return

*/

@RequestMapping(value = "/checkPhone",method = RequestMethod.POST)

@ResponseBody

public Result checkPhone(User user){

String phone = user.getMobile();

if(!StringUtil.isMobile(phone)){

return new Result(false,StatusCode.ERROR,"请填写正确的手机号!");

User userphone= userService.findByMobile(phone);

if (userphone == null){

@RequestMapping("/user")

public class UserController {

@Autowired

private UserService userService;

@Autowired

private RedisTemplate redisTemplate;

@Autowired

private HttpServletRequest request;

@Autowired

BCryptPasswordEncoder encoder;

/**

* 查询全部数据


Integer commentCount = newHotel.getCommentCount();

commentCount=commentCount+1;

totalStar=currentStar+totalStar;

int avgStar = totalStar / commentCount;

hotel.setCommentCount(commentCount);

hotel.setStar(avgStar);

Integer hotel1 = hotelService.updateStar(hotel);

hotel_ordersService.updateStarStatus(orderId);

if(hotel1==null){

return new Result(false,StatusCode.ERROR,"评分更新失败!");

return new Result(true,StatusCode.OK,"评价成功!");

/**

* 景点评分


return "index_header::table_refresh";

/**

* 查询全部订单

* @return

*/

@ResponseBody

@RequestMapping(value = "/allorder",method = RequestMethod.POST)

public List<Orders> findAllOrder(HttpSession session) throws ParseException {

User user= (User) session.getAttribute("user");

return ordersService.findOrders(user.getId().toString());

/**

* 查询全部订单


ordersService.updateStarStatus(orderId);

if(scenic1==null){

return new Result(false,StatusCode.ERROR,"评分更新失败!");

return new Result(true,StatusCode.OK,"评价成功!");

景点管理控制层:

/**

* @Date: 景点管理控制层

*/

@Controller


@Autowired

private RedisTemplate redisTemplate;

@Autowired

private HttpServletRequest request;

@Autowired

BCryptPasswordEncoder encoder;

/**

* 查询全部数据

* @return

*/

@RequestMapping(value = "userList",method = RequestMethod.GET)

public Result findAll() {

List<User> all = userService.findAll();


System.out.println("个数:"+newList.size());

}else {

model.addAttribute("scenics",hotels);

System.out.println("个数2:"+hotels.size());

return "page/product::table_refresh";

用户管理控制层:

/**

* 控制器层

*/

@RestController

@CrossOrigin

@RequestMapping("/user")

* 分页+多条件查询

* @param searchMap 查询条件封装

* @param page 页码

* @param size 页大小

* @return 分页结果

*/

@ResponseBody

@RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST)

public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){

Page<Orders> pageList = ordersService.findSearch(searchMap, page, size);

return  new Result(true,StatusCode.OK,"查询成功",  new PageResult<Orders>(pageList.getTotalElements(), pageList.getContent()) );

/**


@RequestMapping(value="/{id}",method= RequestMethod.PUT)

public Result update(User user, @PathVariable Long id ){

User oldUser=userService.findById(id);

user.setId(id);

user.setPassword(oldUser.getPassword());

userService.update(user);

return new Result(true,StatusCode.OK,"修改成功");

/**

* 修改

* @param user

*/

@RequestMapping(value="/change",method= RequestMethod.POST,consumes = "application/json")


* @param user

* @return

*/

@ResponseBody

@RequestMapping(value = "/register/",method = RequestMethod.POST)

public Result regist(@RequestParam(name = "code") String code,User user,HttpServletRequest request){

String sCode = (String) request.getSession().getAttribute("user_register_email_code");

if(!sCode.equalsIgnoreCase(code)){

return new Result(false,StatusCode.ERROR,"验证码错误!");

userService.add(user);

return new Result(true,StatusCode.OK,"注册成功");

/**

*判断账号是否存在


@ResponseBody

@RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST)

public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){

Page<Orders> pageList = ordersService.findSearch(searchMap, page, size);

return  new Result(true,StatusCode.OK,"查询成功",  new PageResult<Orders>(pageList.getTotalElements(), pageList.getContent()) );

/**

* 根据条件查询

* @param searchMap

* @return

*/


Integer currentStar = hotel.getStar();

Integer totalStar = newHotel.getStar();

if(currentStar<0){

return new Result(false,StatusCode.ERROR,"请选择评分!");

Integer commentCount = newHotel.getCommentCount();

commentCount=commentCount+1;

totalStar=currentStar+totalStar;

int avgStar = totalStar / commentCount;

hotel.setCommentCount(commentCount);

hotel.setStar(avgStar);

Integer hotel1 = hotelService.updateStar(hotel);

User user= (User) session.getAttribute("user");

return ordersService.findOrders(user.getId().toString());

/**

* 查询全部订单

* @return

*/

@ResponseBody

@RequestMapping(value = "/allorderhotel",method = RequestMethod.POST)

public List<HotelOrders> findAllOrderHotel(HttpSession session){

User user= (User) session.getAttribute("user");

List<HotelOrders> hotel_orders=hotel_ordersService.hotel_orders(user.getId());

return hotel_orders;

public Result travelOrderStar(Scenic scenic,@RequestParam("orderId")Long orderId){

Long id = scenic.getId();

Scenic newScenic = scenicService.findById(id);

if(newScenic==null){

return new Result(false,StatusCode.ERROR,"未找到该景点!");

Integer totalStar = newScenic.getStart();

Integer currentStar = scenic.getStart();

if(currentStar<0){

return new Result(false,StatusCode.ERROR,"请选择评分!");

Integer commentCount = newScenic.getCommentCount();

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值