项目介绍
物业管理系统顾名思义就是管理物业的系统啦,虽然每年毕业设计都会爆出大量的XX管理系统,会让人觉得很low,但不可否认,使用管理系统作为毕业设计是上手最快,并且最容易通过的计算机专业的毕业设计。该项目是本人动手实操的一个毕业设计,从理解到具体实现简单易操作,并成功通过学校严格的毕业设计考核。
该项目用到的主要技术框架为SpringBoot,不想以java为主要编程语言的同学可以跳过啦。在数据库上主要使用MySQL数据库与Mybatis进行数据管理,用户登录管理方面使用的shiro安全框架。
整体架构
该系统主要使用的是B/S架构的方案,遵循MVC的设计思想以此对系统进行了详细的分层。因此该系统总体架构主要包括View(视图层)、Controller(控制层)、Service(业务逻辑层)和Dao(数据持久层)根据以上分层,并且在前端页面搭配jQuery和EasyUI框架,不仅能够加快系统开发,同时能够为系统用户提供较好的使用体验。
对该系统的使用流程为如下几个步骤,首先在视图层,在以HTML和CSS为基础的前端页面,使用jQuery和EasyUI提供的样式,通过AJAX请求向Controller传送请求数据,在请求数据到达Controller后,在其内部会通过JOSNObject将数据进行解析,并且使用注入的方式将Service注入,从而在Service进行业务逻辑处理。在Service则需要通过调用Dao接口和在mapper下相关的XML文件对数据库里的数据进行增删改查操作。得到返回结果会以JSONObject的形式传送给前端页面,在前端页面内会将这些信息进行处理,从而将操作结果以清晰明了的形式展现给用户。
系统功能
系统有公告管理、房屋信息、用户信息、住户信息、来客登记、投诉建议、收费标准、缴费详情八个功能模块。
公告管理
物业管理人员登录后,选择公告管理页面,在此页面能够看到曾经发布的历史公告,点击新增公告按钮,在弹出的内容框里填写公告内容和执行时间等信息,若是内容填写不完整导致发布失败则无法进入后续流程,填写完成后进行公告发布,小区住户账号可以看到发布的公告内容,流程结束。
投诉建议
小区住户账号登录后,选择投诉建议页面,在此页面单击我要投诉按钮,在出现的文本框中填写所要投诉的内容,投诉内容填写完成后单击提交,如果由于内容填写不完整等原因导致提交失败,则直接结束此次投诉,投诉信息提交成功后会在物业管理人员的账号中出现,物业管理人员对投诉信息进行查看并反馈,流程结束。
数据库设计
在数据持久层设计最重要的步骤是对E-R图的设计。通过对E-R图的分析与设计,可以逐步明确系统的数据实体,以此来达到对数据库表的设计。在E-R图的描述中,可以得到各实体相互之间的联系,系统所能提供的业务功能以及它们之前的关联关系。在该物业管理系统中,用户实体有小区住户实体和物业管理人员实体;业务数据实体有住户信息、小区公告信息、投诉建议信息、缴纳费用信息、收费标准信息、来客登记信息等。在系统中,一个小区住户拥有一条个人的住户信息,一个物业管理人员可以管理多个小区住户的个人信息。一个小区住户可以对多个小区公告信息、投诉建议信息、费用缴纳信息、收费标准信息进行参与。与之对应的是一个物业管理人员可以对上述的多个信息进行管理,同时一个物业管理人员管理多个来访登记信息。
房屋信息表
业主信息表
租户信息表
投诉记录表
相关代码
贴点代码让你们感受一下项目的难易程度(真的巨好上手!!)
package com.hmm.controller;
import com.hmm.mapper.ArrearageMapper;
import com.hmm.mapper.HouseInformationMapper;
import com.hmm.mapper.RatesMapper;
import com.hmm.mapper.RecordMapper;
import com.hmm.pojo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.*;
@RestController
public class ArrearageController {
//手动事务
@Autowired
private DataSourceTransactionManager dataSourceTransactionManager;
@Autowired
private TransactionDefinition transactionDefinition;
@Autowired
private ArrearageMapper arrearageMapper;
@Autowired
private RecordMapper recordMapper;
@Autowired
private RatesMapper ratesMapper; //为了得到单价
@Autowired
private HouseInformationMapper houseInformationMapper; //获得房屋的大小类型
@RequestMapping("/ArrearageController")
public Object