作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

文末获取源码

项目编号:BS-XX-137

一,项目简介

使用SpringBoot+Mybatis+BootStrap+Layui+VUE制作的智慧小区物业管理系统。 本系统采用了 B/S 架构,Java、Html、Css、Js 等技术,使用了主流的后台开发框架SpringBoot(SpringMVC+Spring+Mybatis),前端开发框架使用了 LayUI、Vue、JQuery 以及 Vue的前端组件库 Element-UI,采用了开源的轻量级数据库 Mysql 进行开发。实现了小区管理、房产管理、设备管理、业主管理、服务管理、车位管理等主要功能。提升物业管理水平,提高工作效率,降低成本,便于物业快速回收物业费;扩大服务范围和能力,方便住户,提升用户满意度;为物业公司扩展了新的收入渠道:租赁中介、社区团购、物业服务;为住户缴纳物业费、水电、停车费等生活费用,提供在线支付,方便快捷。

二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发技术:Springboot+Mybatis

前端开发技术:Vue+Layui+Jquery

三,系统展示

用户登陆

首页仪表盘

小区管理

房产管理

业主相关信息管理

车位信息及使用管理

业务相关服务管理模块

小区资产管理

小区收费管理

管理员管理

用户组角色管理

系统设置

1.  导入项目到IDE工具(如Eclipse)2.  导入数据库文件estatedb.sql到MySQL3.  修改src/main/resources/application.yml文件中的数据库链接地址、账号密码4.  运行启动类com.es.estatemanagement.EstateManagementApplication,启动项目,默认端口为88885.  浏览器访问http://localhost:8888/,进入首页

四,核心代码展示

package com.es.estatemanagement.controller;import com.es.estatemanagement.common.MessageConstant;
import com.es.estatemanagement.common.PageResult;
import com.es.estatemanagement.common.Result;
import com.es.estatemanagement.common.StatusCode;
import com.es.estatemanagement.domain.Building;
import com.es.estatemanagement.domain.Community;
import com.es.estatemanagement.service.BuildingService;
import com.es.estatemanagement.service.CommunityService;
import com.github.pagehelper.Page;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;
import java.util.Map;/*** @Auth: znz* @Desc:*/
@RestController
@RequestMapping("/building")
public class BuildingController {@Autowiredprivate BuildingService buildingService;@RequestMapping("/find")public Result find(){List<Building> all = buildingService.findAll();return new Result(false,200,"请求成功adasdasdas",all);}@RequestMapping("/search")public PageResult search(@RequestBody Map searchMap){Page<Building> page = buildingService.search(searchMap);return new PageResult(true, StatusCode.OK, MessageConstant.COMMUNITY_SEARCH_SUCCESS,page.getResult(),page.getTotal());}@RequestMapping("/add")public Result add(@RequestBody Building community){Boolean add = buildingService.add(community);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_ADD_SUCCESS);}@RequestMapping("/findById")public Result findById(Integer id){Building community = buildingService.findById(id);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_FIND_BY_ID_SUCCESS,community);}@RequestMapping("/update")public Result update(@RequestBody Building community){Boolean add = buildingService.update(community);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_UPDATE_SUCCESS);}@RequestMapping("/del")public Result del(@RequestBody List<Integer> ids){Boolean flag = buildingService.del(ids);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_DELETE_SUCCESS);}
}
package com.es.estatemanagement.controller;import com.es.estatemanagement.common.MessageConstant;
import com.es.estatemanagement.common.PageResult;
import com.es.estatemanagement.common.Result;
import com.es.estatemanagement.common.StatusCode;
import com.es.estatemanagement.domain.Community;
import com.es.estatemanagement.service.CommunityService;
import com.github.pagehelper.Page;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;
import java.util.Map;/*** @Auth: zhuan* @Desc: 小区管理控制层:只负责接收前端浏览器发送的请求和请求参数,调用service层获取业务逻辑加工处理后的数据*/
@RestController
@RequestMapping("/community")
public class CommunityController {@Autowiredprivate CommunityService communityService;@RequestMapping("/find")public Result find(){List<Community> all = communityService.findAll();return new Result(false,200,"请求成功adasdasdas",all);}@RequestMapping("/search")public PageResult search(@RequestBody Map searchMap){Page<Community> page = communityService.search(searchMap);return new PageResult(true, StatusCode.OK, MessageConstant.COMMUNITY_SEARCH_SUCCESS,page.getResult(),page.getTotal());}@RequestMapping("/add")public Result add(@RequestBody Community community){Boolean add = communityService.add(community);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_ADD_SUCCESS);}@RequestMapping("/findById")public Result findById(Integer id){Community community = communityService.findById(id);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_FIND_BY_ID_SUCCESS,community);}@RequestMapping("/update")public Result update(@RequestBody Community community){Boolean add = communityService.update(community);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_UPDATE_SUCCESS);}// /community/updateStatus/0/1@RequestMapping("/updateStatus/{status}/{id}")public Result updateStatus(@PathVariable("status") String status,@PathVariable("id") Integer id){Boolean flag = communityService.updateStatus(status,id);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_UPDATE_STATUS_SUCCESS);}@RequestMapping("/del")public Result del(@RequestBody List<Integer> ids){Boolean flag = communityService.del(ids);return new Result(true,StatusCode.OK,MessageConstant.COMMUNITY_DELETE_SUCCESS);}
}
package com.es.estatemanagement.controller;import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.UUID;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.es.estatemanagement.common.MessageConstant;
import com.es.estatemanagement.common.Result;
import com.es.estatemanagement.common.StatusCode;import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;import com.alibaba.fastjson.JSONObject;
/*** @Auth: zhuan* @Desc: 文件上传-控制器*/
@RestController
@RequestMapping("/estate")
public class FileController {/*** 功能描述: 上传文件* @param file  上传文件的参数名,必须和前端参数名称一致* @param request    请求对象* @param response  响应对象* @return : com.es.estatemanagement.common.Result*/@RequestMapping(value="/fileupload")public Result uploads(@RequestParam("file")MultipartFile file, HttpServletRequest request,HttpServletResponse response) throws IOException {//获取当前项目所在绝对路径String absolutePath = System.getProperty("user.dir");//当前项目名称,可以自定义String projectName = "/estate-management";//文件上传后所在绝对路径String savePath = absolutePath+"/src/main/resources/static/fileupload/";//保存在数据库的文件地址String saveUrl = "/fileupload/";// 定义允许上传的文件扩展名HashMap<String, String> extMap = new HashMap<String, String>();extMap.put("image", "gif,jpg,jpeg,png,bmp");// 最大文件大小long maxSize = 10000000; //10Mresponse.setContentType("text/html; charset=UTF-8");if (!ServletFileUpload.isMultipartContent(request)) {return new Result(false, StatusCode.ERROR,MessageConstant.NO_FILE_SELECTED);}File uploadDir = new File(savePath);// 判断文件夹是否存在,如果不存在则创建文件夹if (!uploadDir.exists()) {uploadDir.mkdirs();}// 检查目录写权限if (!uploadDir.canWrite()) {return new Result(false, StatusCode.ERROR,MessageConstant.NO_WRITE_PERMISSION);}String dirName = request.getParameter("dir");if (dirName == null) {dirName = "image";}if (!extMap.containsKey(dirName)) {return new Result(false, StatusCode.ERROR,MessageConstant.INCORRECT_DIRECTORY_NAME);}MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request;Map<String, MultipartFile> fileMap = mRequest.getFileMap();String fileName = null;Iterator<Map.Entry<String, MultipartFile>> iter = fileMap.entrySet().iterator();for (String s : fileMap.keySet()) {}for (Iterator<Map.Entry<String, MultipartFile>> it = fileMap.entrySet().iterator(); it.hasNext();) {Map.Entry<String, MultipartFile> entry = it.next();MultipartFile mFile = entry.getValue();fileName = mFile.getOriginalFilename();// 检查文件大小if (mFile.getSize() > maxSize) {return new Result(false, StatusCode.ERROR,MessageConstant.SIZE_EXCEEDS__LIMIT);}String fileExt = fileName.substring(fileName.lastIndexOf(".")+1);if (!Arrays.<String> asList(extMap.get(dirName).split(",")).contains(fileExt)) {return new Result(false, StatusCode.ERROR,MessageConstant.FILE_TYPE_ERROR);}UUID uuid = UUID.randomUUID();String path = savePath + uuid.toString() +"."+ fileExt;System.out.println("文件存储地址:【"+path+"】");saveUrl = saveUrl  + uuid.toString() +"."+ fileExt;try {BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(path));FileCopyUtils.copy(mFile.getInputStream(), outputStream);} catch (IOException e) {e.printStackTrace();}}return new Result(true,StatusCode.OK, MessageConstant.COMMUNITY_PIC_UPLOAD_SUCCESS,saveUrl);}/*** 功能描述: 删除文件* @param fileName    文件名称参数,和前台传递的参数保持一致* @return : com.es.estatemanagement.common.Result*/@RequestMapping(value="/delfile")public Result fileDel(@RequestParam String fileName){String name = fileName.replace("/fileupload/","");//获取当前项目所在绝对路径String absolutePath = System.getProperty("user.dir");//当前项目名称,可以自定义String projectName = "/estate-management";//文件上传后所在绝对路径String savePath = absolutePath+projectName+"/src/main/resources/static/fileupload/";File file = new File(savePath+name);if (file.exists()){//文件是否存在file.delete();//删除文件}return new Result(true,StatusCode.OK, MessageConstant.COMMUNITY_PIC_DEL_SUCCESS);}
}

五,项目总结

1. 系统上传的文件会存放在项目目录/src/main/resources/static/fileupload2. 项目使用的MySQL驱动版本是5.1.30,如果MySQL版本是8.0以上,需要将pom.xml中的MySQL驱动版本改为8.0以上版本,或者直接将`<version>5.1.30</version>`删除即可。因为Springboot使用的默认MySQL驱动版本为8.0.20  4. 小区管理模块实现了从前端到控制层、业务层、持久层的完整功能,可以参照该模块实现其他功能。5. 本系统使用了Mybatis插件TkMapper,TkMapper又名通用 Mapper,封装了对单表的 CRUD 操作。通用 Mapper 可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。

Springboot+Vue实现物业管理系统相关推荐

  1. 计算机毕设 SpringBoot+Vue小区物业管理系统 物业管理信息系统 智能物业管理系统Java Vue MySQL数据库 远程调试 代码讲解

  2. 基于springboot的智慧物业管理系统的设计与实现(前后端分离)

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

  3. 开源的基于springboot的智慧物业管理系统

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 开源的基于springboot的智慧物业管理系统 二.实现功能 支持商业区管理 支持商铺管理 支持电费管理 支持自动生成账单 支持缴费提醒 支持抄表 ...

  4. Springboot居民小区物业管理系统4bq5w计算机毕业设计-课程设计-期末作业-毕设程序代做

    Springboot居民小区物业管理系统4bq5w计算机毕业设计-课程设计-期末作业-毕设程序代做 [免费赠送源码]Springboot居民小区物业管理系统4bq5w计算机毕业设计-课程设计-期末作业 ...

  5. SSM SpringBoot vue办公自动化计划管理系统

    SSM SpringBoot vue办公自动化计划管理系统 登录注册 个人中心 员工信息管理 部门信息管理 会议管理 计划管理 行程安排管理 行程进度管理 管理员管理 所列功能完整 使用技术: SSM ...

  6. Springboot+vue调查问卷管理系统(带论文)

    下载:https://download.csdn.net/download/AAshou/76340790 项目介绍: Springboot+vue调查问卷管理系统(带论文) 系统说明: 基于Spri ...

  7. springboot+vue计算机旅游管理系统 springboot+vue旅游网

    springboot+vue计算机旅游管理系统 springboot+vue旅游网 包含前台用户系统和后台管理系统 源码: vx:daihq713

  8. 计算机毕业设计源码—springboot+vue疫情物资管理系统

    计算机毕业设计-springboot+vue疫情物资管理系统

  9. 计算机毕业设计springboot+vue+elementUI幼儿园管理系统

    项目介绍 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于幼儿园管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了幼儿园管理系统,它彻底改变了过去传 ...

  10. 计算机毕业设计基于Springboot+vue口腔牙科诊所管理系统

    计算机毕业设计基于Springboot+vue口腔牙科诊所管理系统 口腔卫生是关系民生的一个重要问题.口腔健康会直接影响全身的健康,口腔基本常见的有龋齿,牙周炎等问题,而且人类的牙齿只有2次更换周期, ...

最新文章

  1. iframe元素內嵌页面如何去掉继承的html及body背景色/背景图片
  2. 震撼!15项世界互联网领先科技成果发布,将对你的生活产生什么影响?
  3. 接上篇-找虚拟主机过程
  4. DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测
  5. Xml文件数据的优点
  6. TensorFlow Lite 正式发布,谷歌移动端深度学习框架
  7. JsonBuilder初出茅庐
  8. Script:List OBJECT DEPENDENT
  9. 第一个flash游戏--配对游戏
  10. python读取doc文件 语义识别_我可以让socket.makefile具有与常规文件相同的读取语义吗?...
  11. 2020中国云厂商预测:华为云、UCloud、青云、百度云、金山云等,谁是第三很重要?...
  12. Linux系统下的RZSZ(文件传输工具)
  13. 四阶巴特沃斯低通滤波器设计
  14. 美团外卖uml流程图_以美团外卖为例,区别业务流程图和页面流程图 | 人人都是产品经理...
  15. 计算机无法安装VC2015,VC++2015安装失败怎么办 VS2015安装失败解决方法
  16. layui的layer弹出层内置方法
  17. The eighth of Word-Day
  18. 1487 C. Minimum Ties
  19. 图像标注的基础内容介绍
  20. 营销物料(内容)可复用,别忽视了这个神器的作用!

热门文章

  1. AppStore_隐私政策
  2. 软件设计师历年真题常错的题加解析——上午题
  3. 中国移动通信研究院笔试题2
  4. UE4如何使用下载的资源
  5. 深入浅出设计模式,跟着思路快速理解
  6. [附源码]Java计算机毕业设计SSM公立医院绩效考核系统
  7. html关机命令,自动关机命令 定时关机命令
  8. JAVA实现Word转Pdf文件
  9. PMP考试教材是什么?有几本?
  10. c语言编译器pellc,单片机C语言程序的设计实训100例_基于8051+PROTEUS仿真1