文末获取资源,收藏关注不迷路
快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,通过线上物业管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式。他们不仅希望页面简单大方,还希望操作方便,可以快速锁定他们需要的物业管理系统方式。基于这种情况,我们需要这样一个界面简单大方、功能齐全的系统来解决用户问题,满足用户需求。
课题主要分为四大模块:即管理员模块,物业管理模块、业主模块和维修员模块,主要功能包括:个人中心、物业管理、业主管理、维修员管理、小区公告管理、小区信息管理、房产信息管理、车位信息管理、停车位管理、停车信息管理、缴费信息管理、投诉分类管理、投诉信息管理、投诉处理管理、报修信息管理、维修处理管理、服务评价管理、活动信息管理等。
管理员点击物业管理。在物业管理页面输入账号可以查询,新增或删除物业管理列表,并根据需要对物业管理详情信息进行查看详情、修改或删除操作。
管理员点击业主管理。在业主页面输入用户名可以查询、新增或删除业主列表,并根据需要对业主详情信息进行查看详情、修改或删除操作。
管理员点击维修员管理。在维修员页面输入工号、姓名和性别可以查询、新增或删除维修员列表,并根据需要对维修员详情信息进行查看详情、修改或删除操作。
管理员点击小区信息管理。在小区信息页面输入小区名称、小区类型和物业名称可以查询或删除小区信息列表,并根据需要对小区信息详情信息进行查看详情、修改或删除操作。
管理员点击车位信息管理。在车位信息页面输入车位区号、车位编号和类型可以查询或删除车位信息列表,并根据需要对车位信息详情信息进行查看详情、修改或删除操作。
管理员点击缴费信息管理。在缴费信息页面输入订单编号、缴费名称和业主姓名可以查询或删除缴费信息列表,并根据需要对缴费信息详情信息进行查看详情、修改或删除操作。
管理员点击服务评价管理。在服务评价页面输入名称、姓名和服务评价可以查询或删除服务评价列表,并根据需要对服务评价详情信息进行查看详情、修改或删除操作。
物业管理进入主页面,主要功能包括对系统首页、个人中心、业主管理、小区公告管理、小区信息管理、房产信息管理、车位信息管理、停车位管理、停车信息管理、缴费信息管理、投诉信息管理、投诉处理管理、报修信息管理、维修处理管理、服务评价管理、活动信息管理等功能进行操作。
物业管理点击小区公告管理。在小区公告页面输入标题、类型和发布时间可以查询、新增或删除小区公告列表,并根据需要对小区公告详情信息进行查看详情、修改或删除操作。
物业管理点击房产信息管理。在房产信息页面输入房产名、房屋类型、单元号、楼栋和房屋状态可以查询、新增或删除房产信息列表,并根据需要对房产信息详情信息进行查看详情、修改、发货或删除操作。
物业管理点击活动信息管理。在活动信息页面输入活动名称和活动类型可以查询、新增或删除活动信息列表,并根据需要对活动信息详情信息进行查看详情、修改或删除操作。
业主进入主页面,主要功能包括对系统首页、个人中心、小区公告管理、小区信息管理、车位信息管理、停车位管理、停车信息管理、缴费信息管理、投诉信息管理、投诉处理管理、报修信息管理、维修处理管理、服务评价管理、活动信息管理等功能进行操作。
业主点击停车位管理。在停车位页面输入车场名称、车位区号、车位编号、车场类型和状态可以查询停车位列表,并根据需要对停车位详情信息进行查看详情或停车操作。
业主点击投诉信息管理。在投诉信息页面输入投诉分类、投诉时间、业主姓名和处理状态可以查询、新增或删除投诉信息列表,并根据需要对投诉信息详情信息进行查看详情、修改或删除操作。
维修员进入主页面,主要功能包括对系统首页、个人中心、报修信息管理、维修处理管理、服务评价管理等功能进行操作。
维修员点击报修信息管理。在报修信息页面输入报修物品、报修日期和处理状态可以查询报修信息列表,并根据需要对报修信息详情信息进行查看详情或处理操作。
维修员点击维修处理管理。在维修处理页面输入报修物品、业主姓名和处理时间可以查询或删除维修处理列表,并根据需要对维修处理详情信息进行查看详情、修改、评价或删除操作。
课题主要分为四大模块:即管理员模块,物业管理模块、业主模块和维修员模块,主要功能包括:个人中心、物业管理、业主管理、维修员管理、
小区公告管理、小区信息管理、房产信息管理、车位信息管理、停车位管理、停车信息管理、缴费信息管理、投诉分类管理、投诉信息管理、
投诉处理管理、报修信息管理、维修处理管理、服务评价管理、活动信息管理等。
在功能方面,不需要用户在指定场所进行物业管理,要保证可以在很大程度上满足用户解决物业管理问题,满足用户需求,改善人们生活。
后台管理页面:分别是管理员、物业管理、业主和维修员登录本系统。管理员输入管理员账号密码后,校验无误后方可进入后台管理主界面,对物业管理、业主和维修员使用的权限管理,设置小区公告等管理以及对活动信息进行管理
环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名
package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Spring Boot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26