作者:雨晨源码
简介:java、微信小程序、安卓;定制开发,远程调试 代码讲解,文档指导,ppt制作
精彩专栏推荐订阅:在下方专栏
Java精彩实战毕设项目案例
小程序精彩项目案例
Python实战项目案例
文末获取源码
本次文章主要是介绍SSM酒店管理的功能,系统分为二个角色,分别是用户和管理员
近几年随着社会的发展,各地旅客数量不断增加,酒店数量也随之增加,导致酒店客房的管理方面的各种信息量也在不断成倍增长,因此,传统的酒店信息管理方式暴露出越来越多的问题,耗费人力,效率低下。这时,酒店就急需各种各样能使酒店工作人员对庞大的信息量进行更快更方便更准确进行管理的系统。
在互联网技术无处不在的今天,人们的生活已经离不开计算机,利用其工作、学习乃至购物。例如:人们去外地旅游或出差,通常会根据自己的需求选择在网上事先预订好客房,大大节约了找房的时间。此时,酒店就需要相应的客房预定管理系统对客房和预订信息进行管理。
对于客房数量较多的酒店来说,利用一套酒店预定管理系统来管理客房信息和预订信息显得尤为重要,这个系统不仅方便了客户进行预订,同时也方便了工作人员,大大节省了时间。所以开发一个酒店预定管理系统是很有必要的。
2个角色:用户/管理员(亮点:报表分析、权限管理)
用户:登录注册,查看房型,查看房间详情,立即预定,评论等。
管理员:角色管理,房间管理,订单管理,房型管理,入住管理,营业额报表,菜单管理,预定报表,开房报表等。
1.查询房间【代码如下(示例):】
/**
* 查询房间详情
* @param id
* @param model
* @return
*/
@RequestMapping("/{id}.html")
public String detail(@PathVariable Integer id, Model model){
//调用查询房间详情的方法
Room room = roomService.findById(id);
//将数据放到模型中
model.addAttribute("room",room);
return "detail";
}
/**
* 查询全部房间列表
* @param model
* @return
*/
@RequestMapping("/list.html")
public String list(Model model){
//调用查询所有房型列表的方法
List<RoomType> roomTypeList = roomTypeService.findRoomTypeList(null);
//创建查询条件类
RoomVo roomVo = new RoomVo();
roomVo.setStatus(3);//可预订
//查询房间列表
List<Room> roomList = roomService.findRoomListByPage(roomVo);
//将数据放到模型中
model.addAttribute("roomTypeList",roomTypeList);
model.addAttribute("roomList",roomList);
return "hotelList";
}
/**
* 根据房型查询房间列表
* @param model
* @return
*/
@RequestMapping("/list/{id}")
public String list(@PathVariable Integer id,Model model){
//调用查询所有房型列表的方法
List<RoomType> roomTypeList = roomTypeService.findRoomTypeList(null);
//创建查询条件类
RoomVo roomVo = new RoomVo();
roomVo.setRoomtypeid(id);//房型ID
roomVo.setStatus(3);//可预订
//查询房间列表
List<Room> roomList = roomService.findRoomListByPage(roomVo);
//将数据放到模型中
model.addAttribute("roomTypeList",roomTypeList);
model.addAttribute("roomList",roomList);
model.addAttribute("typeId",id);//将当前选中的房型ID保存到模型中,目的是在页面中回显选中的文本(改变选中的颜色)
return "hotelList";
}
2.可视化报表【代码如下(示例):】
/**
* 统计每年营业额
* @return
*/
@RequestMapping("/getHotelYearCharts")
public String getHotelYearCharts(){
//创建Map集合保存数据
Map<String,Object> dataMap = new HashMap<String,Object>();
//调用统计每个年度营业总额的方法
List<Map> mapList = chartsService.getTotalPriceByYear();
//创建两个List集合,分别保存年份及对应的营业额
List<String> keyList = new ArrayList<String>();//年份
List<Double> valueList = new ArrayList<Double>();//营业额
//循环遍历每年营业额集合
for (Map map : mapList) {
keyList.add(map.get("years").toString());//年份
valueList.add(Double.valueOf(map.get("totalPrice").toString()));//金额
}
dataMap.put("keyList",keyList);
dataMap.put("valueList",valueList);
//将Map集合以JSON格式返回
return JSON.toJSONString(dataMap);
}
/**
* 统计月营业额报表
* @param year
* @return
*/
@RequestMapping("/getHotelYearOfMonthCharts")
public String getHotelYearOfMonthCharts(String year){
//调用查询每年每月营业额的方法
List<Double> list = chartsService.getTotalPriceByYearOfMonth(year);
//循环遍历数据
for (int i = 0; i < list.size(); i++) {
//判断当前月份是否有数据,如果没有数据则以0代替
if(list.get(i)==null){
list.set(i,0D);
}
}
//将集合以JSON格式返回
return JSON.toJSONString(list);
}
/**
* 统计季度营业额报表
* @param year
* @return
*/
@RequestMapping("/getHotelQuarterCharts")
public String getHotelQuarterCharts(String year){
Map<String,Object> map = new HashMap<String,Object>();
//调用根据指定的年份查询季度营业额报表的方法
List<Map> listMap = chartsService.getQuarterTotalPriceByYear(year);
//创建两个集合,分别保存key和value
List<String> keyList = new ArrayList<String>();//保存季度名称
List<ChartsVo> valueList = new ArrayList<ChartsVo>();//保存营业额数据
//循环遍历
for (Map m : listMap) {
//获取每个季度的Key
String typeName = m.get("typeName").toString();//季度名称
keyList.add(typeName);//将季度名称保存到季度数组中
//创建数组,保存每个季度的营业额
Double [] dataList = {
Double.valueOf(m.get("Q1").toString()),
Double.valueOf(m.get("Q2").toString()),
Double.valueOf(m.get("Q3").toString()),
Double.valueOf(m.get("Q4").toString())
};
//创建ChartsVo类保存数据
ChartsVo chartsVo = new ChartsVo(typeName,"line","总营业额",dataList);
//将对象添加到营业额集合
valueList.add(chartsVo);
}
map.put("keyList",keyList);
map.put("valueList",valueList);
return JSON.toJSONString(map);
}
Java精彩实战毕设项目案例
小程序精彩项目案例
Python实战项目集
如果大家有任何疑虑,欢迎在下方位置详细交流。