经过对系统的需求分析,本系统的使用用户分为三种:一种是前台用户,也就是客户,完成本网站新闻的浏览,用户注册,预定及预定查询的功能;管理员用户完成酒店后台信息的管理与维护操作;操作员用户完成本酒店日常业务的处理操作。前台子系统的功能模块图如图4-1所示。代码上传到github上了。
下载地址:https://github.com/21503882/hotel-manage
图4-1 酒店管理系统前台模块图
房间预定查看
后台登录
房间基本信息
会员基本信息
预定入住
客人入住登记
结账退房管理
取消预定
结账单查询
房间使用状态查询
会员当前入住情况
普通操作人员管理
酒店信息管理
操作员子系统
/*
* Copyright © 2019, hd (ChongQing) Tech Co.,Ltd.
* All right reserved.
*/
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.stereotype.Controller;
import com.hdxy.vehicle.base.Pagination;
import com.hdxy.vehicle.entity.VehicleInfo;
import com.hdxy.vehicle.service.SysUserService;
import com.hdxy.vehicle.service.VehicleInfoService;
import com.hdxy.vehicle.entity.SysUser;
import com.hdxy.vehicle.util.ActionResult;
/**
* TODO 类描述
*
* @version 0.0.1
* @author generator
* @date 2019-02-20
*/
@Controller
public class VehicleInfoAction {
@Autowired
private VehicleInfoService vehicleInfoService;
@Autowired
private SysUserService sysUserService;
/**
* 显示所有车辆信息并分页
*
* @param entity
* @return
*/
@ResponseBody
@RequestMapping("/isAdmin/findVehicleInfo")
public Pagination
try {
return vehicleInfoService.findPageByCondition(entity);
} catch (Exception e) {
e.printStackTrace();
}
return new Pagination<>(0, new ArrayList<>());
}
/**
* 删除车辆信息
*
* @param id
* @return
*/
@ResponseBody
@RequestMapping("/isAdmin/delVehicleInfo")
public ActionResult delVehicleInfo(Integer id) {
ActionResult res = new ActionResult();
try {
vehicleInfoService.deleteById(id);
res.setSuccess(true);
res.setMsg("删除成功");
} catch (Exception e) {
e.printStackTrace();
res.setMsg("出现异常,删除失败");
}
return res;
}
/**
* 异步上传图片
*
* @param image
* @param response
*/
@ResponseBody
@RequestMapping(value = "/isAdmin/upVehiclePhoto", method = RequestMethod.POST)
public Map
Map
String file = "E:/development/apache-tomcat-8.5.15/webapps/hdxy-vehicle/";
String photo = null;
try {
// 获取图片名字,构建路径
photo = "img/vehicle_photo/" + image.getOriginalFilename();
File filepath = new File(file + photo);
image.transferTo(filepath);// 保存文件
Map
data.put("photo", photo);
map.put("code", 0);
map.put("msg", "上传成功");
map.put("data", data);
} catch (IOException e) {
e.printStackTrace();
}
return map;
}
/**
* 跳转编辑页面
*
* @param id
* @return
*/
@RequestMapping("/isAdmin/forwardEditVehicleInfo")
public ModelAndView forwardEditVehicleInfo(Integer id) {
ModelAndView model = new ModelAndView();
model.setViewName("backstage/editVehicleInfo");
//lizh
try {
if(id==null) {
// 查询出所有学员
SysUser entity = new SysUser();
List
model.addObject("sysUsers", sysUsers);
}else {
//lizh
SysUser entity = new SysUser();
List
model.addObject("sysUsers", sysUsers);
//lizh
VehicleInfo vehicleInfo = vehicleInfoService.findById(id);
model.addObject("vehicleInfoEdit", vehicleInfo);
}
} catch (Exception e) {
e.printStackTrace();
}
//lizh
return model;
}
/**
* 修改车辆信息
*
* @param entity
* @return
*/
@ResponseBody
@RequestMapping("/isAdmin/upVehicleInfo")
public ActionResult upVehicleInfo(VehicleInfo entity, HttpSession session) {
ActionResult res = new ActionResult();
try {
//lizh
SysUser sysUser=sysUserService.findById(entity.getUserId());
if(sysUser!=null) {
entity.setName(sysUser.getName());
}
//lizh
entity.setUpdateDate(new Date());
entity.setUpdateUser(((SysUser) session.getAttribute("sysUser")).getId());
vehicleInfoService.updateById(entity);
res.setSuccess(true);
res.setMsg("修改成功");
} catch (Exception e) {
e.printStackTrace();
res.setMsg("出现异常,修改失败");
}
return res;
}
/**
* 添加车辆信息
*
* @param entity
* @return
*/
@ResponseBody
@RequestMapping("/isAdmin/addVehicleInfo")
public ActionResult addVehicleInfo(VehicleInfo entity) {
ActionResult res = new ActionResult();
try {
//lizh
SysUser sysUser=sysUserService.findById(entity.getUserId());
if(sysUser!=null) {
entity.setName(sysUser.getName());
}
//lizh
vehicleInfoService.save(entity);
res.setSuccess(true);
res.setMsg("添加成功");
} catch (Exception e) {
e.printStackTrace();
res.setMsg("出现异常,添加失败");
}
return res;
}
// 前台显示所有车辆信息并搜索
@ResponseBody
@RequestMapping("/user/findVehicleInfo")
public ActionResult findVehicleInfo(VehicleInfo entity, HttpServletRequest request) {
ActionResult res=new ActionResult();
try {
List
for (VehicleInfo vehicleInfo : list) {
if(vehicleInfo.getState()==0) {
vehicleInfo.setStateName("损坏");
}
if(vehicleInfo.getState()==1) {
vehicleInfo.setStateName("正常");
}
if(vehicleInfo.getState()==2) {
vehicleInfo.setStateName("退休");
}
if(vehicleInfo.getPhoto()==null||"".equals(vehicleInfo.getPhoto())) {
vehicleInfo.setPhoto("img/vehicle_photo/temp09-1.jpg");
}
}
res.put("list", list);
res.setSuccess(true);
} catch (Exception e) {
e.printStackTrace();
}
return res;
}
}