0027Java程序设计-房屋出租管理系统

简介: 0027Java程序设计-房屋出租管理系统

摘 要

随着我国市场经济的快速发展和人们生活水平的不断提高,简单的房屋出租服务已经不能满足人们的需求。如何利用先进的管理手段,提高房屋出租的管理水平,是当今社会所面临的一个重要课题。


本文采用结构化分析的方法,详细阐述了一个功能比较强大的中信房屋出租管理系统的前后台开发、操作流程和涉及的一些关键技术。首先进行了可行性分析,然后是系统分析,通过实际的业务流程调研,分析业务流程和系统的组织结构,完成了数据流分析和数据字典;然后是系统设计阶段主要完成了功能模块的划分、阐述了系统设计的思想、数据库的设计和系统设计的工具及技术。该阶段对本系统各个模块的功能进行了详细设计,形成了本系统的功能模块图;数据库设计时先进行了概念结构设计,然后进行了逻辑结构设计,最后完成了数据表的设计。


目前在本课题范围内,分析了房屋出租管理人员对房屋的管理现状和现有的用户对房屋管理人员的服务的要求。针对两者的要求,设计了一套基于SpringMVC的公寓出租管理系统。本系统的集成开发环境是Eclipse,使用MySQL作为数据库管理系统,Web服务器采用Tomcat,运用SpringMVC及Spring3.0框架技术实现。为了充分利用网络信息化的优势,本系统采用B/S结构。系统具有专门的供用户使用的前台和专门供公寓出租管理人员使用的后台。


在房屋出租管理系统的实现下,网站管理人员能够充分发挥信息化处理的优势,提高日常管理的处理速率。用户一方可以更好的享受信息化处理带来的便利。系统运行能够稳定且高效。并且人机友好程度能够显著提升。


关键词:公寓出租管理,SpringMVC,B/S



系统设计

在房屋出租管理系统中,核心业务用例的实现效果如下所示。受篇幅所限,将只会显示和租赁、房屋管理相关的三个模块核心功能。


(1) 用户对房屋租赁模块实现


用户对房屋进行租赁操作,采用 Ajax发送异步请求将租赁信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行插入并返回结果,实现效果如图4.1所示。

@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;
  }

房屋管理人员对房屋的基本信息进行增删改查操作,采用Ajax发送异步请求将房屋信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图4.2所示。

房屋管理人员对用户前台下的订单信息进行增删改查操作,采用Ajax发送异步请求将租赁信息发送到控制层,控制层发送数据到业务逻辑层,业务逻辑层通过调用 DAO层来访问数据库从而执行更改并返回结果。实现效果如图4.3所示。

开发环境

开发工具:idea、Navicat

数据库:MySQL8.0

环境配置:jdk1.8 、Tomcat8.5

开发人员:IT012201

目录
相关文章
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的智能社区管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的智能社区管理系统附带文章和源代码设计说明文档ppt
10 0
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的酒店管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的酒店管理系统附带文章和源代码设计说明文档ppt
5 0
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的科研经费管理系统研究附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的科研经费管理系统研究附带文章和源代码设计说明文档ppt
6 0
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的校园跑腿管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的校园跑腿管理系统附带文章和源代码设计说明文档ppt
5 0
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的高校就业管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的高校就业管理系统附带文章和源代码设计说明文档ppt
9 0
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的高校运动会管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的高校运动会管理系统附带文章和源代码设计说明文档ppt
6 0
|
1天前
|
JavaScript Java 测试技术
Java项目基于ssm+vue.js的敏捷工贸公司销售管理系统附带文章和源代码设计说明文档ppt
Java项目基于ssm+vue.js的敏捷工贸公司销售管理系统附带文章和源代码设计说明文档ppt
5 0
|
3天前
|
缓存 监控 安全
Java的线程池和线程安全
Java的线程池和线程安全
|
2天前
|
安全 算法 Java
Java中的并发编程技术:解锁高效多线程应用的秘密
Java作为一种广泛应用的编程语言,其并发编程技术一直备受关注。本文将深入探讨Java中的并发编程,从基本概念到高级技巧,帮助读者更好地理解并发编程的本质,并学会如何在多线程环境中构建高效可靠的应用程序。
|
2天前
|
Java
Java中多线程的常见实现方式
Java中多线程的常见实现方式
11 2