32基于java的小區(qū)物業(yè)管理系統(tǒng)或智慧社區(qū)管理系統(tǒng)

本章節(jié)給大家介紹一個基于java的小區(qū)物業(yè)管理系統(tǒng)或智慧社區(qū)管理系統(tǒng),可用于小區(qū)物業(yè)的管理系統(tǒng),或者智慧社區(qū)的管理系統(tǒng)。

系統(tǒng)概要

隨著科學(xué)技術(shù)的飛速發(fā)展,計算機技術(shù)已延伸倒我們?nèi)粘I畹母鱾€方面。在工業(yè)、農(nóng)業(yè)、商業(yè)等方面起著巨大的作用。計算機已成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠至?。計算機的廣泛應(yīng)用對提高經(jīng)濟效益、實現(xiàn)管理現(xiàn)代化、科學(xué)化、智能化起到了重要作用,并且取得了顯著的效果。
小區(qū)管理系統(tǒng)是針對當前興起的住宅小區(qū)而開發(fā)的管理軟件。它能夠提高對小區(qū)的智能化管理,能夠把大量的工作人員從繁重的手工工作中解脫出來,提高小區(qū)管理工作的工作效率并減少錯誤的發(fā)生。
系統(tǒng)功能為說明:系統(tǒng)具有倆個用戶角色,分別為管理員角色和普通業(yè)務(wù)角色;

管理員角色:

  • 房屋管理(包括有樓棟管理,單元管理以及房屋管理)
  • 車位管理
  • 繳費管理(默認繳費類型有水電, 煤氣, 物業(yè)和停車費繳費項目,這些類型可以自由的修改刪除或增加)
  • 社區(qū)服務(wù)(包括有公告管理,維修管理和業(yè)主投訴管理)
  • 用戶管理
  • 個人中心等等

普通業(yè)主角色

  • 用戶注冊登錄
  • 我的投訴管理
  • 我的維修管理
  • 我的賬單
  • 個人中心
  • 修改密碼等等

系統(tǒng)使用的架構(gòu)

采用B/S的架構(gòu)實現(xiàn),整體遵循MVC的設(shè)計思想。

開發(fā)系統(tǒng):Windows
架構(gòu)模式:MVC/前后端分離
JDK版本:Java JDK1.8
開發(fā)工具:idea或者eclipse
數(shù)據(jù)庫版本: mysql
數(shù)據(jù)庫可視化工具: navicat
后端:java,spring,springmvc,mybatis,tomcat等
前端:html,css,javascript,jquery等

項目實現(xiàn)

所有的代碼文件都有詳細的注釋,不用擔心看不懂代碼的。

  • 項目配置文件
###ThymeLeaf配置
### 完整代碼:http://projecthelp.top 
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
    #開發(fā)配置為false,避免修改模板還要重啟服務(wù)器
    cache: false
    #配置模板路徑,默認是templates,可以不用配置
    prefix: classpath:/templates/
  datasource:
    url: jdbc:mysql://localhost:3306/xxxx?charset=utf8mb4&useSSL=false&serverTimezone=UTC
    username: root
    password: 修改成你的數(shù)據(jù)庫密碼
    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
    #   配置監(jiān)控統(tǒng)計攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計,'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 參數(shù)(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 參數(shù)
     * @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 每頁的數(shù)量
     * @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;
    }

    /**
     * 根據(jù)車輛的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;
    }

    /**
     * 根據(jù)條件查詢車輛的信息列表
     * @param page 頁碼
     * @param limit 每頁的數(shù)量
     * @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;
    }
}

部分功能展示

管理員角色

管理員登錄

image.png

管理員首頁

image.png

樓棟管理

image.png

單元管理

image.png

車輛管理

image.png

繳費管理

image.png

維修管理

image.png

投訴管理

image.png

用戶管理

image.png

個人中心

image.png

普通用戶,業(yè)主角色

登錄

image.png

首頁

image.png

普通角色可以新增投訴,新增維修,繳費等等功能,具體功能可參照管理員,更多詳細功能大家可以下載下來學(xué)習哦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容