基於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;
}
}
部分功能展示
管理員角色
管理員登錄
管理員首頁
樓棟管理
單元管理
車輛管理
繳費管理
維修管理
投訴管理
用戶管理
個人中心
普通用戶,業主角色
登錄
首頁
普通角色可以新增投訴,新增維修,繳費等等功能,具體功能可參照管理員,更多詳細功能大家可以下載下來學習哦。