基于javaweb+mysql的springboot民宿管理系统(java+springboot+vue+elementui+layui+mysql)
运行环境
Java≥8、MySQL≥5.7、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot民宿管理系统(java+springboot+vue+elementui+layui+mysql)
项目介绍
角色:管理员、商家、用户
系统功能 用户注册登录后可进行首页、个人中心、民宿信息管理、房间信息管理、房间预订管理、房间退订管理、投诉反馈管理、我的收藏管理。
商家用户注册登录,可以对首页、个人中心、民宿信息管理、房间信息管理、房间预订管理、房间退订管理、投诉反馈管理、我的收藏管理等功能模块。
管理员登录后可进行首页、个人中心、用户管理、商家管理、民宿信息管理、房间类型管理、房间信息管理、房间预订管理、房间退订管理、投诉反馈管理、我的收藏管理、系统管理。
环境需要
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 5.7/8.0等版本均可;
技术栈
后端:SpringBoot+Mybaits 前端:Vue+ElementUI+Layui+HTML+CSS+JS
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
public Room saveRoom(int roomno,int type,int price,int ifwindow,String comment) {
Room r = new Room();
r.setRoomno(roomno);
r.setType(type);
r.setPrice(price);
r.setIfwindow(ifwindow);
r.setComment(comment);
return r;
public Standard saveStandard(String stdname,int roomarea,int bedno,String equip1,String equip2){
Standard s = new Standard();
* @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);
r.setComment(comment);
return r;
public Standard saveStandard(String stdname,int roomarea,int bedno,String equip1,String equip2){
Standard s = new Standard();
s.setStdname(stdname);
s.setRoomerea(roomarea);
s.setBedno(bedno);
s.setEquip1(equip1);
s.setEquip2(equip2);
return s;
@RestController
public class MemberController
private final MemberService memberService;
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;
@Autowired
public OrderController(OrderService orderservice,OrderRoomService orderroomservice,RoomidService roomidservice,
RoomService roomservice,OrderHistoryService orderHistoryService,
return r;
public Standard saveStandard(String stdname,int roomarea,int bedno,String equip1,String equip2){
Standard s = new Standard();
s.setStdname(stdname);
s.setRoomerea(roomarea);
s.setBedno(bedno);
s.setEquip1(equip1);
s.setEquip2(equip2);
return s;
@RestController
public class MemberController
File savePathFile = new File(savePath);
if(!savePathFile.exists()){
//若不存在改目录,则创建目录
savePathFile.mkdir();
String filename = new Date().getTime()+"."+suffix;
try {
//将文件保存至指定目录
photo.transferTo(new File(savePath+filename));
}catch (Exception e) {
// TODO Auto-generated catch block
ret.put("type", "error");
ret.put("msg", "保存文件异常!");
e.printStackTrace();
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();
return ret;
/**
* 编辑用户
* @param user
* @return
*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> edit(User user){
Map<String, String> ret = new HashMap<String, String>();
ret.put("type", "success");
ret.put("msg", "角色添加成功!");
return ret;
/**
* 批量删除用户
* @param ids
* @return
*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Map<String, String> delete(String ids){
Map<String, String> ret = new HashMap<String, String>();
* @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);
r.setIfwindow(ifwindow);
r.setComment(comment);
return r;
public Standard saveStandard(String stdname,int roomarea,int bedno,String equip1,String equip2){
Standard s = new Standard();
s.setStdname(stdname);
s.setRoomerea(roomarea);
s.setBedno(bedno);
s.setEquip1(equip1);
s.setEquip2(equip2);
return s;
@RestController
if(StringUtils.isEmpty(user.getUsername())){
ret.put("type", "error");
ret.put("msg", "请填写用户名!");
return ret;
if(StringUtils.isEmpty(user.getPassword())){
ret.put("type", "error");
ret.put("msg", "请填写密码!");
return ret;
if(user.getRoleId() == null){
ret.put("type", "error");
ret.put("msg", "请选择所属角色!");
return ret;
if(isExist(user.getUsername(), 0l)){
} 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);
// 房间号处理
r.setComment(comment);
return r;
public Standard saveStandard(String stdname,int roomarea,int bedno,String equip1,String equip2){
Standard s = new Standard();
s.setStdname(stdname);
s.setRoomerea(roomarea);
s.setBedno(bedno);
s.setEquip1(equip1);
s.setEquip2(equip2);
return s;
@RestController
public class MemberController
private final MemberService memberService;
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
@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}")
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 ret;
ret.put("type", "success");
ret.put("msg", "用户删除成功!");
return ret;
/**
* 上传图片
* @param photo
* @param request
* @return
*/
@RequestMapping(value="/upload_photo",method=RequestMethod.POST)
@ResponseBody