项目描述
临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问题,今天给大家介绍一篇开心公寓房屋出租管理系统的设计与实现。
功能需求
开心公寓出租管理系统的后台开发目标是以信息管理系统的管理和开发方法,用目前现有的新技术进行系统开发,提供后台管理员高度友好的界面操作以及迅捷的信息处理。而前台的开发目标是以用户的需求作为主导,提供对用户而言非常友好的界面操作环境以及完善系统功能。
 本系统主要针对现在房屋管理系统中存在的问题,对需要改进的地方进行系统分析,对系统所要实现的功能进行完善,使得其更具有高度界面友好的特性。提出对于系统而言具备可行性的方案,做好系统分析。编译出界面友好,功能齐全的开心公寓出租管理系统。
具备以下功能:
在图2.5高层用例图中抽取了满足开心公寓和用户的基本业务需求的基本用例。由这些用例所显示的从用户使用的前台和开心公寓管理人员使用的后台来完成开心公寓出租房屋的正常运作。

用例标识(UC) 用例名称 摘要描述
 
系统总体设计

部分效果图



数据库设计
系统中用到了11张表,针对每个表都进行了设计,下面对部分核心表进行汇总罗列展示。
 


 
 
 
部分代码
// 用户名和密码是否正确,同时检查是用户还是管理员
if (map != null && map.get("password").equals(passwordMD5)) {
	HttpSession session = request.getSession(true);
	session.setAttribute(Params.SESSION_ATTR_KEY_USER, userName);
	retMap.put(Params.RET_CODE, Params.RET_CODE_SUCCESS);
	retMap.put(Params.RET_OBJ, "登录成功");
	retMap.put(Params.RET_MSG, "管理员");
	return retMap;
} else {
	if(userLogin != null && userLogin.get("readerPassWord").equals(passwordMD5)){
		HttpSession session = request.getSession(true);
		session.setAttribute(Params.SESSION_ATTR_KEY_USER, userName);
		retMap.put(Params.RET_CODE, Params.RET_CODE_SUCCESS);
		retMap.put(Params.RET_OBJ, "登录成功");
		retMap.put(Params.RET_MSG, "用户");
	return retMap;
}
	@RequestMapping(value="/book_order",method=RequestMethod.POST)
	@ResponseBody
	public Map<String,String> bookOrderAct(BookOrder bookOrder,HttpServletRequest request){
		Map<String, String> ret = new HashMap<String, String>();
		if(bookOrder == null){
			ret.put("type", "error");
			ret.put("msg", "请填写正确的出租订单信息!");
			return ret;
		}
		Account account = (Account)request.getSession().getAttribute("account");
		if(account == null){
			ret.put("type", "error");
			ret.put("msg", "客户不能为空!");
			return ret;
		}
		bookOrder.setAccountId(account.getId());
		if(bookOrder.getRoomTypeId() == null){
			ret.put("type", "error");
			ret.put("msg", "房屋不能为空!");
			return ret;
		}
		if(StringUtils.isEmpty(bookOrder.getName())){
			ret.put("type", "error");
			ret.put("msg", "出租订单联系人名称不能为空!");
			return ret;
		}
		if(StringUtils.isEmpty(bookOrder.getMobile())){
			ret.put("type", "error");
			ret.put("msg", "出租订单联系人手机号不能为空!");
			return ret;
		}
		if(StringUtils.isEmpty(bookOrder.getIdCard())){
			ret.put("type", "error");
			ret.put("msg", "联系人身份证号不能为空!");
			return ret;
		}
//		if(StringUtils.isEmpty(bookOrder.getArriveDate())){
//			ret.put("type", "error");
//			ret.put("msg", "租赁时间不能为空!");
//			return ret;
//		}
//		if(StringUtils.isEmpty(bookOrder.getLeaveDate())){
//			ret.put("type", "error");
//			ret.put("msg", "结算时间不能为空!");
//			return ret;
//		}
		bookOrder.setCreateTime(new Date());
		bookOrder.setStatus(0);
		if(bookOrderService.add(bookOrder) <= 0){
			ret.put("type", "error");
			ret.put("msg", "添加失败,请联系管理员!");
			return ret;
		}
		RoomType roomType = roomTypeService.find(bookOrder.getRoomTypeId());
		//出租成功后去修改该房屋的出租数
		if(roomType != null){
			roomType.setBookNum(roomType.getBookNum() + 1);
			roomType.setAvilableNum(roomType.getAvilableNum() - 1);
			roomTypeService.updateNum(roomType);
			//如果可用的房间数为0,则设置该房屋状态已租赁
			if(roomType.getAvilableNum() == 0){
				roomType.setStatus(0);
				roomTypeService.edit(roomType);
			}
		}
		ret.put("type", "success");
		ret.put("msg", "出租成功!");
		return ret;
	}
安装部署需求
eclipse、idea运行启动
系统部署
系统开发后,在生产环境配置项目运行环境,具体步骤如下:
 安装linux或者windows10操作系统;
 安装JDK1.8并配置环境变量;
 安装MySQL5.7版本以上版本数据库,创建数据库并执行脚本创建表;
 在IDEA中编辑进行打包;
 下载并配置Tomcat8.0服务器,配置系统服务,上传项目打包文件
本项目用到的技术和框架
1.开发语言:Java
 2.开发模式:B/S
 3.数据库:MySQL
 4.框架:jsp+SSM
本项目中的关键点
此系统的开发采用java语言开发,基于B/S结构,这些开发环境使系统更加完善。使用到的工具和技术都是开源免费的。
环境工具
开发工具 Eclipse/IDEA
 语言 JDK1.8 、jsp、CSS、SSM
 硬件:笔记本电脑;
 软件:Tomcat8.0 Web服务器、Navicat数据库客户端、MySQL;
 操作系统:Windows 10;
 其它软件:截图工具、常用浏览器;
 以上是本系统的部分功能展示,如果你的选题正好相符,那么可以做毕业设计或课程设计使用。



![[ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(三)CSRF相关面试题](https://img-blog.csdnimg.cn/00dabef47b0247e8898d979dc1efe74c.png)






![[附源码]计算机毕业设计springboot创新创业管理系统](https://img-blog.csdnimg.cn/c6fd45726df646c8aea417bb25a424fa.png)







![[附源码]计算机毕业设计springboot-菜篮子系统](https://img-blog.csdnimg.cn/3312b185291d45be856766e7fd0e571b.png)
