32基于java的小区物业管理系统或智慧社区管理系统

本章节给大家介绍一个基于java的小区物业管理系统或智慧社区管理系统,可用于小区物业的管理系统,或者智慧社区的管理系统。

系统概要

随着科学技术的飞速发展,计算机技术已延伸倒我们日常生活的各个方面。在工业、农业、商业等方面起着巨大的作用。计算机已成为我们日常生活中不可或缺的一部分了。计算机的广泛应用对提高经济效益、实现管理现代化、科学化、智能化起到了重要作用,并且取得了显著的效果。
小区管理系统是针对当前兴起的住宅小区而开发的管理软件。它能够提高对小区的智能化管理,能够把大量的工作人员从繁重的手工工作中解脱出来,提高小区管理工作的工作效率并减少错误的发生。
系统功能为说明:系统具有俩个用户角色,分别为管理员角色和普通业务角色;

管理员角色:

  • 房屋管理(包括有楼栋管理,单元管理以及房屋管理)
  • 车位管理
  • 缴费管理(默认缴费类型有水电, 煤气, 物业和停车费缴费项目,这些类型可以自由的修改删除或增加)
  • 社区服务(包括有公告管理,维修管理和业主投诉管理)
  • 用户管理
  • 个人中心等等

普通业主角色

  • 用户注册登录
  • 我的投诉管理
  • 我的维修管理
  • 我的账单
  • 个人中心
  • 修改密码等等

系统使用的架构和内容获取

采用B/S的架构实现,整体遵循MVC的设计思想。

> 开发系统:Windows
> 架构模式:MVC/前后端分离
> JDK版本:Java JDK1.8
> 开发工具:idea或者eclipse
> 数据库版本: mysql
> 数据库可视化工具: navicat
> 后端:java,spring,springmvc,mybatis,tomcat等
> 前端:html,css,javascript,jquery等
> 详情可点击查看:http://projecthelp.top

项目实现

所有的代码文件都有详细的注释,不用担心看不懂代码的。

  • 项目配置文件
###ThymeLeaf配置
server:
  tomcat:
    uri-encoding: UTF-8
  port: 8080

spring:
  devtools:
    restart:
      enabled: true # 配置热部署
      additional-paths: src/main/java
      exclude: WEB-INF/**
  thymeleaf:
    #模板的模式,支持 HTML, XML TEXT JAVASCRIPT
    mode: HTML5
    #编码 可不用配置
    encoding: UTF-8
    #开发配置为false,避免修改模板还要重启服务器
    cache: false
    #配置模板路径,默认是templates,可以不用配置
    prefix: classpath:/templates/
  datasource:
    url: jdbc:mysql://localhost:3306/xxxx?charset=utf8mb4&useSSL=false&serverTimezone=UTC
    username: root
    password: 修改成你的数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
  • 管理员登录 AdminController
@RestController
public class AdminController {
    @Autowired
    AdminService service;
    private static final Logger LOG = LoggerFactory.getLogger(AdminController.class);

    /**
     * 管理员登录接口
     * @param params 参数(email,password)
     * @param session session会话
     * @return
     */
    @PostMapping("/admin/loginByPassword")
    public ResBody loginByPassword(@RequestBody Map<String, Object> params,
                                   HttpSession session) {
        ResBody resBody = new ResBody();
        String email = params.get("email").toString();
        String password = params.get("password").toString();
        Admin admin = service.findAdmin(email,password);
        if (admin == null){
            resBody.setCode(500);
            resBody.setMsg("登录失败,请重新登录");
        }else {
            session.setAttribute("admin",admin);
            LOG.info(admin.toString());
            resBody.setCode(200);
            resBody.setMsg("登录成功");
        }
        return resBody;
    }

    /**
     * 更新密码
     * @param params 参数
     * @param session session会话
     * @return
     */
    @PostMapping("/admin/updatePass")
    public ResBody updatePass(@RequestBody Map<String, Object> params,
                              HttpSession session) {
        ResBody resBody = new ResBody();
        String newPsw = params.get("newPsw").toString();
        Admin admin = (Admin) session.getAttribute("admin");
        admin.setPassword(newPsw);
        int i = service.updatePass(admin.getId(),newPsw);
        if (i != 1){
            resBody.setCode(500);
            resBody.setMsg("修改失败,后台出错");
        }else {
            session.setAttribute("admin",admin);
            LOG.info(admin.toString());
            resBody.setCode(200);
            resBody.setMsg("修改成功");
        }
        return resBody;
    }
}
  • 车辆管理信息的 CarController
@RestController
public class CarController {
    @Autowired
    CarService service;

    /**
     * 获取所有的车辆信息
     * @param page 页码
     * @param limit 每页的数量
     * @return
     */
    @GetMapping("/api/getAllCars")
    public ResBody getAllCars(@RequestParam int page,
                                   @RequestParam int limit) {
        ResBody resBody = new ResBody();
        int count = service.getCount();
        List<Car> list= service.getAllCars(page, limit);
        resBody.setCount(count);
        resBody.setData(list);
        resBody.setCode(0);
        return resBody;
    }

    /**
     * 增加car
     * @param car 车辆信息
     * @return
     */
    @PostMapping("/api/addCar")
    public ResBody addBuilding(@RequestBody Car car) {
        ResBody resBody = new ResBody();
        int i = service.addCar(car);
        if (i == 1){
            resBody.setCode(200);
            resBody.setMsg("添加成功");
        }else{
            resBody.setCode(500);
            resBody.setMsg("添加失败");
        }
        return resBody;
    }

    /**
     * 更新车辆信息
     * @param car 车辆信息
     * @return
     */
    @PostMapping("/api/updateCar")
    public ResBody updateCar(@RequestBody Car car) {
        ResBody resBody = new ResBody();
        int i = service.updateCar(car);
        if (i == 1){
            resBody.setCode(200);
            resBody.setMsg("修改成功");
        }else{
            resBody.setCode(500);
            resBody.setMsg("修改失败");
        }
        return resBody;
    }

    /**
     * 根据车辆的id删除车辆
     * @param id 车辆的id编号
     * @return
     */
    @GetMapping("/api/delCar")
    public ResBody delCar(@RequestParam int id) {
        ResBody resBody = new ResBody();
        int i = service.delCar(id);
        if (i == 1){
            resBody.setCode(200);
            resBody.setMsg("删除成功");
        }else{
            resBody.setCode(500);
            resBody.setMsg("删除失败");
        }
        return resBody;
    }

    /**
     * 根据条件查询车辆的信息列表
     * @param page 页码
     * @param limit 每页的数量
     * @param name 查询的车辆名称
     * @return
     */
    @GetMapping("/api/findCar")
    public ResBody findCar(@RequestParam int page,
                                @RequestParam int limit,
                                @RequestParam String name) {
        ResBody resBody = new ResBody();
        int count = service.getCount(name);
        List<Car> list= service.findCar(page, limit,name);
        resBody.setCount(count);
        resBody.setData(list);
        resBody.setCode(0);
        return resBody;
    }

    @GetMapping("/ajax/getAllFreeCars")
    public ResBody getAllDanyuans(@RequestParam int type) {
        ResBody resBody = new ResBody();
        List<Car> list= service.getAllFreeCars(type);
        resBody.setData(list);
        resBody.setCode(0);
        return resBody;
    }
}

部分功能展示

管理员角色

管理员登录

在这里插入图片描述

管理员首页

在这里插入图片描述

楼栋管理

在这里插入图片描述

单元管理

在这里插入图片描述

车辆管理

在这里插入图片描述

缴费管理

在这里插入图片描述

维修管理

在这里插入图片描述

投诉管理

在这里插入图片描述

用户管理

在这里插入图片描述

个人中心

在这里插入图片描述

普通用户,业主角色

登录

在这里插入图片描述

首页

在这里插入图片描述
普通角色可以新增投诉,新增维修,缴费等等功能,具体功能可参照管理员,更多详细功能大家可以下载下来学习哦。

原文链接:https://www.cnblogs.com/projecthelp/p/17380965.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:32基于java的小区物业管理系统或智慧社区管理系统 - Python技术站

(0)
上一篇 2023年5月8日
下一篇 2023年5月8日

相关文章

  • Spring事务管理详细讲解

    下面是Spring事务管理的详细讲解。 什么是Spring事务管理? Spring事务管理是指对应用程序中涉及到的数据库操作或其它资源访问进行事务封装的一种机制。Spring提供了一系列API用于实现事务管理,它们可以与JDBC、JPA、Hibernate等ORM框架和NoSQL数据库集成到一起,以帮助用户实现应用的事务一致性。 Spring事务管理的基本概…

    Java 2023年5月20日
    00
  • Java8中 LocalDate和java.sql.Date的相互转换操作

    Java 8中提供了新的日期时间API,其中非常重要的一部分是LocalDate类。在某些情况下需要将LocalDate转换为java.sql.Date,或者将java.sql.Date转换为LocalDate。接下来,我们来详细讲解Java 8中LocalDate和java.sql.Date的相互转换操作。 1. 将LocalDate转换为java.sql…

    Java 2023年6月1日
    00
  • Java新手学习之IO流的简单使用

    Java新手学习之IO流的简单使用 什么是IO流? IO流是Java中的一种文件读写操作方式,用于读写文件、网络通信等。Java中的IO流被分为字节流和字符流两种类型。其中,字节流以单个字节作为读写单位,而字符流以unicode字符作为读写单位。 如何使用IO流读写文件? Java中的IO流提供了FileInputStream和FileOutputStrea…

    Java 2023年5月26日
    00
  • 这是我的战争前期前五天玩法介绍

    我的战争前期前五天玩法介绍 在《我的战争》游戏中,前期的五天非常关键,这里提供一些玩家可以使用的策略来存活和发展。 1. 初期资源的获取 在游戏的开始,资源非常有限,但是这并不意味着你不能快速发展。第一天,最重要的任务是保持活下来,建立一个可以保护你的基地。最好的方法是寻找资源点并获得最初的几个资源,例如金属和木材,而不是在第一天建造建筑。 2. 建立初期的…

    Java 2023年6月16日
    00
  • Jdbc的步骤以及简单实现代码

    JDBC是Java Database Connectivity的缩写,它是一种标准的数据库访问方式,可用于连接各种关系型数据库。 JDBC基本步骤包括以下几个环节: 加载数据库驱动程序:通过导入JDBC驱动包将驱动程序加载进来。 建立数据库连接:通过DriverManager类的getConnection方法连接数据库,返回一个Connection对象。 创…

    Java 2023年5月19日
    00
  • Java开发SpringBoot集成接口文档实现示例

    Java开发SpringBoot集成接口文档实现示例 在Java开发中,Spring Boot是一个非常流行的框架,它可以帮助我们快速搭建Web应用程序。同时,接口文档也是一个非常重要的工具,它可以帮助我们更好地理解和使用API。本文将介绍如何使用Spring Boot集成接口文档,并提供两个示例。 1. 添加Swagger依赖 Swagger是一个流行的接…

    Java 2023年5月14日
    00
  • 详解springmvc 接收json对象的两种方式

    详解SpringMVC接收JSON对象的两种方式 在SpringMVC中,接收JSON对象是非常常见的操作。本文将详细讲解SpringMVC接收JSON对象的两种方式,并提供两个示例说明。 方式一:使用@RequestBody注解 使用@RequestBody注解是SpringMVC接收JSON对象的一种常见方式。下面是实现步骤: 步骤一:创建Maven项目…

    Java 2023年5月17日
    00
  • 最新IntelliJ IDEA 2022配置 Tomcat 8.5 的详细步骤演示

    让我为你介绍如何在最新的 IntelliJ IDEA 2022 中配置 Tomcat 8.5 的详细步骤演示。 第一步:下载并安装 Tomcat 8.5 首先,我们需要从官方网站下载 Tomcat 8.5 的安装文件,并按照指导完成安装。Tomcat 的安装过程相对简单,请仔细查看安装说明。 第二步:以 Tomcat 服务器方式配置项目 打开 Intelli…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部