目录
1.系统的受众说明
1 在校学习的学生,可用于日常学习使用或是毕业设计使用
2 毕业一到两年的开发人员,用于锻炼自己的独立功能模块设计能力,增强代码编写能力。
3 亦可以部署为商化项目使用。
2.需求分析及相关技术
2.1设计目的
随着信息技术的不断发展和生活质量的逐步提高,人们对社区生活的智能化提出了要求越来越高[3]。针对社区管理工作的需求,构建了一个社区信息管理系统,设计并实现了系统的相应的功能,满足社区的管理要求和居民对生活质量的期望,提高对社区规范化管理的效率。
2.2社区信息管理系统的特点
社区信息管理系统特色介绍:
- 界面前端使用了Layui框架,简单清新,色彩搭配和交互性都很好;没有过于花哨的界面,用户使用也十分方便,能快速的熟悉其功能。
- 操作简单方便,才有友好文字提示框提醒用户,用户很快就能熟悉该系统。
- 功能齐全,用户会有较好的体验。
- 本系统是基于Web在B/S结构下[4],使用JAVA编程语言,前端使用了Layui框架,后端使用了Springboot框架,结合Mysql数据库完成设计,数据库逻辑相对简单,数据量适中。
2.3可行性分析
一个系统的可行性[5]分析有很多项,主要是从以下两方面对能否实现本系统目标进行可行性分析:
2.3.1技术可行性
根据本系统的功能,从开发项目的角度分析,本系统在IntelliJ IDEA平台下,使用java的编程语言完成,使用了Mysql数据库,编程环境比较成熟。利用现代技术实现本系统的功能,本系统能够在规定的时间完成,并且界面设计和功能都能完美的实现[6]。
2.3.2运行可行性
从系统功能结构上分析,以管理和服务为纽带,将管理人员和小区住户紧密地联系在一起,管理人员可以对小区信息、楼栋信息、车位信息、业主信息等进行管理,通过提醒业主缴纳物业费和车位费和业主进行互动,业主可以通过提交投诉建议和保修请求与管理员进行互动,管理员通过业主提供的信息进行相应的处理,完成业主的需求,给业主创造一个舒适的生活环境。
2.4系统设计
2.4.1系统功能分析
经过可行性分析、需求分析[7]等各个方面的考虑设计.
管理员所具备的功能:
1.社区信息管理:
对小区信息、楼栋信息、房屋信息、业主信息、车位信息、收费信息管理、信息的添加,单个删除和批量删除,分页查询和高级查询,社区相关信息的编辑。对登录用户进行管理:添加用户,删除用户,给用户修改密码。
2.对业主基本生活进行管理:
提醒业主提交车位费和物业费,如果用户提交了,修改用户的缴费状态。接收业主提交的投诉信息和保修信息,处理以后修改状态。
3.数据统计分析:
根据业主、业主的投诉信息和保修信息进行统计,通过图表进行展示。
业主所具备的功能:
1.缴费查询:
业主通过自己的缴费情况查看自己的缴费状态,查看自己的缴费记录。
2.投诉和保修请求:
业主可以进行投诉和保修情况,根据处理状态查看是否被处理。
2.4.2管理员权限功能设计
1.管理员操作部分:
进入登录页面输入账号密码,如果账号密码正确进入管理员界面。
进入管理员界面可以对社区信息进行管理:
可以对小区信息、楼栋信息、房屋信息、业主车位等信息进行增加删除、编辑、搜索的操作。可对登录用户进行增加、删除、修改密码的操作。
2.业主信息处理:
可以对车位费和物业费进行管理,提醒业主交物业费和车位费。如果已缴费,可以修改业主缴费状态。可以添加用户的生活缴费信息。可以对业主的投诉信息和报修信息进行处理,处理后修改状态。
管理员操作流程,如图2-1所示:
图2-1管理员模块功能
2.4.3业主权限功能设计
业主操作部分:
进入登录页面输入账号密码,如果账号密码正确进入业主界面。进入业主界面可以查看自己的车位费缴费情况。可以查看自己的物业费费缴费情况。可以查看自己的生活缴费记录。可以进行业主投诉、报修操作。
业主操作流程,如图2-2所示:
2.5系统的技术介绍
2.5.1 Html
Html名为超文本标记语言。它包含了一系列标签,形成了分散性的逻辑整体。Html其实就是文本,需要浏览器的解释,通过使用Html[8]可以实现网页的制作。
Html文件可以引用相关的Css,Js文件,使得制作的网页界面更为美观,也可以完成更多的效果。
2.5.2 Ajax
Ajax[9]名为Web数据交互方式,他不是一个新的编程语言,而是实现前后端交互更好的Web应用程序技术,Ajax与Web服务器之间使用异步数据传输。Ajax最大的特点就是能在不更新页面的情况下维持数据。jQuery[10]框架结合Ajax可以使开发更为简单,快捷,并且方便地为网站提供Ajax交互。。
2.5.3 JAVA
Java[11]是一门面向对象的编程语言,Java功能强大,使用起来非常简便。在使用Java之前需要配置Java的编程环境JDK,JDK使Java的核心,里面包括了一些Java的核心类库。可以运用Java技术来解决相关web互联网领域的技术栈,称为Java Web[12],Java技术对Web领域的发展注入了强大的动力。
2.5.4 Mysql数据库
MySQL是一款安全、跨平台、高效的,并与Java、PHP等主流编程语言紧密结合的数据库系统。Mysql[13]使用的Sql语句是访问数据库最标准的语句,目前MySQL被广泛地应用在Internet上的中小型网站中,其特点是体积小,速度快,成本低。
2.5.5 SpringBoot框架
SpringBoot[14]是基于Spring4.0的Java平台上的开源应用框架,继承了Spring的特点,通过简易的配置简化的Spring应用的搭建和开发过程。SpringBoot内嵌了Tomcat[15]或Jetty等Servlet容器,简单使用Mavan插件管理依赖包。使用Java进行编写,前端使用Bootstrap、JQuery等,数据传值使用Json类型。
3.数据库设计
3.1系统E-R图分析
E-R图,也称为实体联系图,用于描述实体与实体之间的关系。它提供了一种表示实体类型、属性和连接的方法[16]。
根据对社区信息管理的需求分析,得到实体:管理员,业主,缴费,投诉,报修。一个管理员可以处理多个业主的信息,实现一对多的关系。由此得到系统的E-R图。
系统总体E-R图,如图3-1所示:
图3-1 系统E-R图
3.2创建数据库连接
使用Navicat premium数据库管理工具创建数据库连接,并命名为“社区信息管理”。如图3-2所示:
创建一个数据库,并命名为“community”。如图3-3所示:
图3-3 创建数据库
3.2数据库设计
1.用户登录信息表(userinfo),记录用户的用户名,密码,用户类型,备注。该表结构如表3-1所示:
表3-1 userinfo表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
用户ID |
username |
varchar(20) |
Y |
× |
登录名 |
password |
varchar(20) |
Y |
× |
登录密码 |
type |
int |
Y |
× |
登录类型 |
remarks |
varchar(200) |
Y |
× |
备注 |
2.小区信息表(community),记录小区的小区名称,备注。该表结构如表3-2所示:
表3-2 community表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
小区ID |
name |
varchar(255) |
Y |
× |
小区名称 |
remarks |
varchar(255) |
Y |
× |
备注 |
3.楼栋信息表(building),记录楼栋的楼号,单元,所属小区,备注。该表结构如表3-3所示:
表3-3 building表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
楼栋ID |
number |
varchar(50) |
Y |
× |
楼号 |
uints |
varchar(50) |
Y |
× |
单元 |
community_id |
int |
Y |
× |
所属小区ID |
remarks |
varchar(250) |
Y |
× |
备注 |
4.房屋信息表(house),记录房屋的房屋号,入住状态,入住时间,所属小区ID,所属楼栋ID,面积,备注。该表结构如表3-4所示:
表3-4 house表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
房屋ID |
numbers |
varchar(50) |
Y |
× |
房屋号 |
status |
Int |
Y |
× |
入住状态 |
into_date |
datetime |
Y |
× |
入住时间 |
community_id |
int |
Y |
× |
所属小区ID |
building_id |
int |
Y |
× |
所属楼栋ID |
area |
double |
Y |
× |
面积 |
remarks |
varchar(250) |
Y |
× |
备注 |
5.业主信息表(owner),记录业主的业主名,电话,性别,所属小区ID,所属房屋ID,身份证号,身份证号,初始密码,备注。该表结构如表3-5所示:
表3-5 owner表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
业主ID |
username |
varchar(25) |
Y |
× |
业主名 |
tel |
varchar(25) |
Y |
× |
电话 |
sex |
varchar(5) |
Y |
× |
性别 |
community_id |
int |
Y |
× |
所属小区ID |
house_id |
int |
Y |
× |
所属房屋ID |
identity |
varchar(25) |
Y |
× |
身份证号 |
password |
varchar(28) |
Y |
× |
初始密码 |
remarks |
varchar(255) |
Y |
× |
备注 |
6.车位信息表(parking),记录车位的车位号,车位状态,所属业主ID,备注。该表结构如表3-6所示:
表3-6 parking表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
车位ID |
numbers |
varchar(25) |
Y |
× |
车位号 |
status |
int |
Y |
× |
车位状态 |
owner_id |
int |
Y |
× |
所属业主ID |
7.生活缴费信息表(property_info),记录缴费信息的缴费类型ID,金额,开始时间,结束时间,状态,所属房屋ID,备注。该表结构如表3-7所示:
表3-7 property_info表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
生活缴费ID |
type_id |
int |
Y |
× |
缴费类型ID |
money |
double |
Y |
× |
金额 |
start_date |
datetime |
Y |
× |
开始时间 |
end_date |
datetime |
Y |
× |
结束时间 |
status |
int |
Y |
× |
状态 |
house_id |
int |
Y |
× |
所属房屋ID |
remarks |
varchar(255) |
Y |
× |
备注 |
8.缴费类型表(property_type),记录缴费名称,单价,单位,备注。该表结构如表3-8所示:
表3-8 property_type表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
缴费类型ID |
name |
varchar(25) |
Y |
× |
缴费名称 |
price |
double |
Y |
× |
单价 |
unit |
varchar(25) |
Y |
× |
单位 |
remarks |
varchar(255) |
Y |
× |
备注 |
9.缴费信息表(records),记录缴费的缴费类型ID,开始金额,最终金额,所属房屋ID,开始时间,结束时间,提交时间,处理时间,处理人员,备注。该表结构如表3-9所示:
表3-9 records表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
缴费ID |
type_id |
int |
Y |
× |
缴费类型ID |
num |
double |
Y |
× |
上次 |
num2 |
double |
Y |
× |
本次 |
house_id |
int |
Y |
× |
所属房屋ID |
up_time |
datetime |
Y |
× |
开始时间 |
on_time |
datetime |
Y |
× |
提交时间 |
check_time |
datetime |
Y |
× |
处理时间 |
meter |
varchar(25) |
Y |
× |
处理人员 |
remarks |
varchar(255) |
Y |
× |
备注 |
10.车位费缴费信息表(carcharge),记录车位费ID,开始时间,结束时间,金额,缴费状态,业主ID,备注,类型,车位ID。该表结构如表3-10所示:
表3-10 carcharge表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
车位费ID |
pay_date |
datetime |
Y |
× |
开始时间 |
end_date |
datetime |
Y |
× |
结束时间 |
money |
double |
Y |
× |
金额 |
status |
int |
Y |
× |
缴费状态 |
owner_id |
int |
Y |
× |
业主ID |
remarks |
varchar(25) |
Y |
× |
备注 |
type |
int |
Y |
× |
类型 |
park_id |
int(25) |
Y |
× |
车位ID |
11.投诉信息表(complaint),记录投诉信息的投诉ID,投诉类型ID,投诉时间,处理时间,所属业主ID,状态,公共,备注。该表结构如表3-11所示:
表3-11 complaint表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
投诉ID |
com_id |
varchar(25) |
Y |
× |
投诉类型ID |
com_date |
datetime |
Y |
× |
投诉时间 |
handle_date |
datetime |
Y |
× |
处理时间 |
owner_id |
int |
Y |
× |
所属业主ID |
status |
int |
Y |
× |
状态 |
clr |
int |
Y |
× |
公共 |
remarks |
varchar(25) |
Y |
× |
备注 |
12.投诉类型表(complaint_type),记录投诉信息的投诉类型ID,投诉名称,备注,状态。该表结构如表3-12所示:
表3-12 complaint_type表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
投诉类型ID |
name |
varchar(25) |
Y |
× |
投诉名称 |
remarks |
varchar(255) |
Y |
× |
备注 |
status |
int |
Y |
× |
状态 |
13.报修表(repair),记录报修信息的报修ID,报修类型ID,报修时间,处理时间,所属业主ID,状态,公共,备注。该表结构如表3-13所示:
表3-13 repair表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
报修ID |
com_id |
int |
Y |
× |
报修类型ID |
com_date |
datetime |
Y |
× |
报修时间 |
handle_date |
datetime |
Y |
× |
处理时间 |
owner_id |
int |
Y |
× |
所属业主ID |
status |
int |
Y |
× |
状态 |
clr |
int |
Y |
× |
公共 |
remarks |
varchar(255) |
Y |
× |
备注 |
14.报修类型表(repair_type),记录报修信息的报修ID,报修名称,备注,状态。该表结构如表3-14所示:
表3-14 repair_type表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
报修类型ID |
name |
varchar(50) |
Y |
× |
报修名称 |
remarks |
varchar(255) |
Y |
× |
备注 |
status |
int |
Y |
× |
状态 |
15.物业费信息表(property),记录报修信息的报修ID,报修名称,备注,状态。该表结构如表3-15所示:
表3-15 property表
字段名称 |
数据类型(大小) |
是否为空 |
主键 |
备注 |
id |
int |
N |
√ |
物业缴费ID |
type_id |
int |
Y |
× |
缴费类型ID |
money |
double |
Y |
× |
金额 |
start_date |
datetime |
Y |
× |
开始时间 |
end_date |
datetime |
Y |
× |
结束时间 |
status |
int |
Y |
× |
状态 |
house_id |
int |
Y |
× |
所属房屋ID |
4.系统详细设计
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户的功能[17]。
4.1管理员模块
4.1.1登录功能
进入登录页面,输入自己的登录名和密码,选择自己登录的类型,点击登录。如果查询不到任何一条用户信息,提示框显示“必填项不能为空”,如果登录名,密码或者类型选择为业主,显示“用户名或者密码不正确,重新登录”。导航栏有个显示管理员登录名的地方有个下拉列表,点击退出登录,进入登录页面。管理员登录算法流程图,如图4-2所示。
图4-1 管理员登录算法流程图
4.1.2社区信息管理
社区信息管理中有很多模块:小区管理,楼栋管理,房屋管理,业主管理,车位管理,缴费管理,用户管理。这些模块都显示该模块的数据信息,包含的增加,删除,查询,编辑的操作。在缴费管理中,可以添加该业主的缴费记录。在业主管理中,添加一个业主就会创建一个登录账户,方便业主登录,初始密码为“123456”,如需修改,管理员可以在用户管理中修改业主的登录密码[19]。
4.1.3业主信息管理
业主信息管理中,车位收费管理,其中显示车位号,所属业主,需缴纳金额等信息。车位收费管理,可以通知在社区中有车位的业主缴纳车位费。物业收费管理,可以通知住房业主缴纳物业费,如果物业费提交的业主显示状态可以修改。投诉信息管理,可以收到业主的投诉信息。报修信息管理,可以看到业主提交的报修信息,如果已处理则把投诉状态修改。
4.1.4数据统计分析
将业主投诉信息,报修统计信息,社区业主信息,业主生活缴费信息通过可视化视图的方式展现出来,有饼图,折线图,柱状图。
投诉统计通过饼图展现出来可观察到投诉信息的百分比,分析出那种情况出现的最多。
社区业主统计通过柱状图展现出来,可以分析出各小区的业主总数。
生活缴费统计用了饼状图,通过饼状图可展示出社区业主缴费情况的占比。
报修统计用了折线图,通过折线图可以反应业主报修的趋势。
4.2业主模块
4.2.1登录功能
业主进入登录页面,输入自己的登录名和密码,选择自己登录的类型,点击登录。如果查询不到任何一条用户信息,提示框显示“必填项不能为空”,如果登录名,密码或者类型选择错误,显示“用户名或者密码不正确,重新登录”。导航栏有个显示业主登录名的地方有个下拉列表,点击退出登录,进入登录页面。业主登录算法流程图[18],如图4-2所示。
4.2.2 车位费查询
在车位费查询页面,业主可以看到自己缴费情况,如果未缴费则显示“待缴费”,如果已缴费则显示“已缴费”。该页面还显示登录业主的车位号码,缴费,开始时间,结束时间,金额等信息。还可根据自己的缴费情况进行搜索。
4.2.3 物业费查询
在物业费查询页面,业主可以看到自己缴费情况,如果未缴费则显示“待缴费”,如果已缴费则显示“已缴费”。该页面还显示登录房间号,自己的姓名,缴费金额等信息。还可根据自己的缴费情况进行搜索。
4.2.4 生活缴费记录
在生活缴费记录页面,可以查看到自己的缴费记录,比如水费,电费,气费等。还显示每次缴费的金额。还可根据自己的缴费情况进行搜索。
4.2.5 我的投诉
在我的投诉页面,业主可以进行投诉操作,选择自己的投诉类型,进行备注,点击“提交”,投诉操作完成。可以查看自己的投诉记录,还有投诉处理的状态,如果管理员已处理则显示“已处理”,如果管理员还未处理,则显示“未处理”。可以通过投诉类型和处理状态进行搜索。
4.2.6 我的报修
在我的报修页面,业主可以进行提交报修操作,选择自己需要报修的类型,进行备注,点击“提交”,提交报修成功。可以查看到自己提交的报修记录。如果管理员已处理则显示“已处理”,如果管理员还未处理,则显示“未处理”。可以通过报修类型和处理状态进行搜索。
5. 系统功能模块具体实现
需求分析和总体设计思想已完成,可以进行项目设计和实现。五层结构设计:分别为表现层(Html),控制层(Controller),业务层(Service,ServiceImpl),持久层(Mapper),实体层(Model)。在软件体系架构设计中,使用了SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架[20]。
5.1登录功能
社区信息管理系统,用户登录需要输入正确的登录账号和密码,还要选择自己的用户类型。通过后台和sql语句查找数据库中是否存在对应的数据。如果查找成功则登录成功,进入登录类型对应界面,如果查找失败则需要输入正确的登录账号和密码,选择正确的类型的重新登录。登录效果,具体如图5-1所示:
图5-1 登录页面效果图
1.登录功能实现:
输入正确的登录名和密码,选择正确的类型,根据自己的登录类型进入对应的页面。
后台:通过HttpServletRequest中request.getSession()获取session的值,登录成功将用户登录信息存入session,用Map方法向前端传递参数。
前端:设置点击事件,通过ajax连接后台接口,如果code等于200则登录成功,跳转到主页,如果登录失败则留在登录页面重新登录。
2.登录拦截器:
判断session的值是否存在,如果session的值不为空,执行放行操作,如果不存在则跳转到登录页面,并且设置登录拦截配置需要拦截的信息和不需要拦截的信息。
3.退出登录功能:
在登录状态下,点击退出登录按钮,进入登录页重新登录
在登录状态下,通过request.getSession()获取session,使用invalidate()方法执行注销操作,然后跳转到登录页面。
5.2管理员功能模块
管理员通过登录进入管理员界面,管理员界面有很多模块信息,有业主信息处理,社区信息处理,数据统计分析。管理员界面效果图,如图5-2所示:
图5-2 管理员界面效果图
关键代码:详见附录A。
5.2.1首页
首页呈现了4个可视化图表,分别为投诉统计,小区业主统计,收费统计,报修统计。首页效果图,如图5-3所示:
图5-3 首页效果图
关键代码:详见附录A。
5.2.2社区信息管理
社区信息管理包括很多个模块,有小区管理,楼栋管理,房屋管理,业主管理,车位管理,用户管理。社区信息管理,如图5-4所示:
图5-4 社区信息管理
关键代码:详见附录A。
社区信息管理里面的子模块实现的功能都是相同的,都有增加,删除,编辑,查询的操作。页面显示,如图5-5所示:
图5-5 社区信息管理页面显示
1.添加操作:
后端使用用BaseMapper中insert()方法。前端添加form表单,将要添加的数据字段与数据库保持一致。点击保存按钮,出发点击事件,获取from的数据信息,通过ajax向后台发送请求,使用json格式进行传输。添加小区添加效果图,如图5-6所示:
图5-6 添加效果图
后台:判断前端传送的数据是否为空,如果为空,提示添加失败,如果不为空则添加成功。
前端:输入添加信息,点击保存,通过ajax向后端发送请求,如果code为200,则添加成功,将数据存入数据库中,表格回显数据。
2.删除操作:
(1)批量删除:
可以选择表格在面的按钮进行选择批量删除,也可以点击全选按钮全部删除。点击批量删除按钮显示提示框,点击确定完成删除。删除效果图,如图5-7所示:
图5-7 删除效果图
后台:使用BaseMapper中的delete()方法。在Controller中运用Arrays.asList()方法,将选中数据转成list集合。通过遍历ID进行删除操作。
前端:判断是否有选择记录,没有则提示选择。获取要删除信息的id,通过ajax向后端发送请求,进行删除操作。
(2)单点删除
和批量删除不同的是,批量删除删除的是list集合,单点删除的是获取table中data信息中id的信息,运用删除方法,通过id进行单点删除操作。
3.分页显示小区信息,通过小区名查询小区
后台:通过Mapper层,调用对应的xml文件,通过Sql语句查询数据库中的信息和通过名高级查询。使用MyBatis分页插件-PageHelper,用PageInfo类实现分页查询操作,并渲染到前台页面。
前端:使用layui的table.rander连接后台的接口访问动态数据,在cols中通过community表设置相应的字段。向后台获取值信息,重载table表格实现搜索。
搜索操作:输入关键字点击搜索,则呈现出该关键字相关的信息。搜索效果图,如图5-8所示:
图5-8 搜索效果图
4.编辑操作:
点击编辑按钮,进入编辑页面,将数据库信息渲染到表单中,重新编辑需要修改的信息,点击保存。返回表格,数据会自动更新。编辑效果图,如图5-9所示:
图5-9 编辑效果图
后台:使用BaseMapper中的updateById()方法。接收前端的数据,将前端数据渲染到from表单中,根据自己需要修改内容。和添加的方法类似,但是接口和方法名不同。
前端:借助layui提供的from渲染的方法,将数据渲染到from中。点击“确认修改”按钮,通过ajax发送给后台,完成修改功能。
关键代码:详见附录A。
5.2.3用户管理
在社区信息管理中,有一个功能是用户管理。他是通过业主管理中的添加业主,在添加业主的同时,在用户表里面添加该用户的信息:登录名,密码(默认为123456),登录类型等信息。
后台:在业主管理添加接口中,向用户在用户表中添加用户的登录名,密码,用户类型,存入数据库中,方便业主登录。
在用户管理中,可以添加管理员和业主用户,这里面的登录名和密码就是登录界面需要的信息,管理员可以修改任何用户的密码。
5.2.4业主信息处理
业主信息处理,包括5个子模块:车位收费管理,物业收费管理,业主收费管理,投诉信息管理,报修信息管理。业主信息处理,如图5-10所示:
图5-10 业主信息处理
1.车位收费管理,物业收费管理,业主收费管理,该模块主要是通知用户缴费和记录用户的缴费情况,如果用户缴费成功则修改缴费状态。
(1)缴费提醒:
点击缴费提醒,现在缴费的起始日期,日期选择运用了Layui时间插件,会弹出日期选择器选择对应的日期,输入对应的金额,点击提醒,则完成操作,就会添加相关业主的缴费提醒,在业主界面显示。如图4-11所示:
图5-11 缴费提醒
(2)删除:可以进行批量删除和单个删除,删除完成之后,自动刷新数据。
(3)缴费:管理员修改缴费状态,如果未缴费则可以进行缴费操作,编辑缴费按钮,则修改业主的缴费状态。
(4)搜索:根据关键字查询。
2.投诉管理,报修管理,该模块主要是管理业主向管理员提交的投诉和报修信息,如果该事件已处理则修改其状态。投诉管理界面,如图5-12所示:
图5-12 投诉管理界面
5.2.5数据统计分析
该模块主要展示,保修信息,投诉信息,业主统计,生活缴费统计。将信息通过可视化图标展示出来,所展示的图放在主页。
5.3业主功能模块
和管理员也一样,通过输入正确的登录名和密码,还要选择正确的类型。如果登录名密码输入成功,则进入业主界面。业主界面,如图5-13所示:
图5-13 业主界面
5.3.1车位费查询
车位费查询,通过管理员页面的缴费提醒操作查看自己的缴费情况。如果没有缴费,显示“未缴费”。如果已缴费,管理员通过修改缴费状态,则在页面状态显示“已缴费”。车位费缴费状态,如图5-14所示:
图5-14
车位费缴费状态
每个业主只能查看自己车位费的缴费情况,通过HttpServletRequest获取session。运用Sql语句,根据session中的username查询业主ID,通过业主ID查询该业主对应的信息,渲染到页面上。
5.3.2物业费查询
物业费,通过管理员页面的缴费提醒操作查看自己的缴费情况,缴费时间。如果没有缴费,显示“未缴费”。如果已缴费,管理员通过修改缴费状态,则在页面状态显示“已缴费”。物业费缴费状态,如图5-15所示:
图5-15 物业费缴费状态
5.3.3生活缴费记录
这是再管理员页面添加的生活缴费记录,显示登录业主的缴费记录,业主看一看到自己的缴费类型,缴费时间,缴费金额等信息。生活缴费记录,如图5-16所示:
图5-16 生活缴费记录
5.3.4我的投诉
业主可以进行添加投诉操作,提交完成之后信息会传至管理员页面,如果被处理,管理员可修改其状态“已处理”。我的投诉页面,如图5-17所示:
图5-17 我的投诉页面
业主可以进行处理信息的添加,点击添加按钮,弹出添加页面,选择自己需要添加信息的类型,再加以备注,点击提交,信息就会传至管理员界面。当业主添加信息时,状态为“0”,就是未处理的状态。我要投诉,如图5-18所示:
图5-18 我要投诉
5.3.5我的报修
业主可以进行添加报修操作,提交完成之后信息会传至管理员页面,如果被处理,管理员可修改其状态“已处理”。
业主也可以添加报修,点击“我要保修”选择需要添加的报修类型,详细描述报修信息,点击“提交”。我要报修,如图5-19所示:
图5-19 我要报修