Skip to content

第 4 天——智慧物业系统

👁️‍🗨️阅读量:

一、项目文档📄

技术栈

SpringBoot + Mybatis-plus + Redis + Spring Security + 若依

  • 项目主体是基于若依进行项目构建:
    • 权限管理:用户管理、角色管理、菜单管理
    • 部门管理、岗位管理
    • 字典管理:可用使用现有的数据字典、也可用新增数据字典
    • 参数管理:默认密码、验证码、
    • 通知管理、日志管理
    • 系统监控
    • 动态菜单
  • 若依中已经集成了SpringSecurity实现了认证和授权
    • 单表操作:单表的CRUD就使用若依代码生成功能,修改页面
    • 多表操作:定义api接口,使用权限注解,编写Service/多表查询
  • Redis做热点数据的缓存:动态菜单数据、部门数据、角色数据、验证码、sms短信服务(阿里云SMS)
    • 其实就是使用RedisCache来实现数据缓存
  • 若依中使用的是Mybatis,如果要用Mybatis-plus,只需要引入Mybatis-plus场景启动器即可
    • Mybatis-plus只做增强,不做改变
  • 基于SpringBoot构建的工程,我们使用的若依就是SpringBoot + Vue版本

项目介绍

  • 官网:肇新智慧物业
  • 使用文档:Document (太旧)
  • 三端:
    • 社区APP/小程序:业主
    • 物管APP/小程序:物业工作人员->管家、维修人员
    • PC管理系统:管理员、收费人员...
  • 若依已实现功能:系统管理、团队管理
  • 资产管理:
    • 商业区管理:单表的CRUD
    • 楼栋管理:单表的CRUD,但是新增、修改、查询需要关联商业区数据
    • 商铺管理:单表的CRUD,但是新增、修改、查询关联楼栋数据
      • 级联选择器:Cascader 级联选择器
      • 数据导入:导入导出
      • 租赁统计:只是数据的查询,但是在前端需要进行特殊的处理
        • 数据查询:order排序,根据楼层和房间号从小到大排序
      • 关系:商业区 > 楼栋 > 商品
  • 租售管理:
    • 业主管理:单表的CRUD、没有删除,但是有明细功能、关联查询
    • 租售合同管理:
      • 没有新增,租售和商铺挂钩,在商铺管理里面添加的数据,都可用作租售;
        • 商铺编号、使用状态和商铺数据挂钩
        • 公司名、姓名、电话和业主数据挂钩
      • 发起合同:
        • 步骤条: Steps 步骤条
        • 1、选择租售类型、开始时间
        • 2、选择业主、从事行业
        • 3、设置收费项(关联默认收费项,只能关联常规收费项)
      • 撤销合同
  • 收费管理:
    • 收费项管理:单表的CRUD
      • 物业可用设置收费项
      • 系统自带的收费项只有物业管理费,后续可用新增:
        • 车位管理费、装修押金、建筑垃圾清理费(针对于业主)
        • 广告费、投放费(不是针对于业主)
    • 收费数据生成
      • 生成数据(非抄表):费用生效日期、收费项目、收费限期
        • 收费项目:只要商铺关联了该收费项目,都会生成收费数据
    • 综合收银:常规收费、临时收费、收取押金 【针对于商铺】
      • 1、输入商铺编号,点击查询
      • 2、选择收费项,点击收费
        • 选择付款方式、使用预付款
      • 3、查询历史信息
    • 预存款管理
      • 预存:新增
      • 退还:修改
    • 非商铺:临时收费、押金管理
  • 收费项类型是固定的,但是只有查询,没有增删改;

二、技术体系

Java 基础阶段课程体系涉及的知识点:

  • 基础语法:变量、数据类型、运算符、流程控制、数组
  • 面向对象:封装、继承、多态、内部类、常用关键字...
  • 异常处理:try-catch-finally、throw 和 throws、自定义异常...
  • 常用类:String、StringBuffer、SttringBuilder、Date、日期格式化、系统类、包装类...
  • 枚举类、注解、泛型:泛型类、泛型接口、泛型方法
  • 集合框架:Collection、List、Set、Map...
    • List:ArrayList、LinkedList、Vector
    • Set:HashSet、TreeSet、LinkedHashSet
    • Map:HashMap、TreeMap、LinkedHashMap
  • 多线程:同步和异步、创建线程的四种方式、常见的 API、线程同步和通信、线程池
  • IO 流:文件流、缓冲流、转换流、对象流(序列化)、
  • 反射:理解反射、反射常用 API
  • JDK 8 新特性:Lambda 表达式、流 Stream、新的日期 API...
  • 基础的知识在开发中,肯定是用到的
  • 面试核心:
    • 面向对象
    • 集合框架(接口和接口的关系、底层数据结构、扩容机制、实现原理)
    • 多线程
    • 反射
    • 如果是校招,那么肯定会涉及到数据结构和算法
  • 框架 = 反射 + 注解 + 设计模式

JavaWeb 阶段

  • 前端技术:
    • HTML 5:一系列标签
    • CSS 3:一系列的样式,媒体查询、flex 布局
    • JS:基础语法、BOM、DOM
    • Vue:主流前端框架
  • 后端技术:
    • MySQL 数据库、JDBC
    • Tomcat
    • Servlet
    • Cookie 和 Session
    • 监听器过滤器
    • Ajax 和 JSON
    • Git
  • 面试核心:
    • MySQL 数据库:SQL 语句、索引
    • Git:Git 常用命令(分支、版本回退)

Java 核心框架阶段

  • 微信小程序:原生微信小程序
  • Maven:Maven 坐标、依赖传递、生命周期、项目拆分和聚合
  • 三大核心框架 SSM
    • Spring
    • SpringMVC
    • Mybatis
  • 面试核心:
    • Spring:
      • Spring 的 IOC 和 AOP
      • Spring Bean 的生命周期
      • 源码
    • Mybatis
  • 开发核心:
    • 目前 Java 开发都是基于 Maven

Java 企业级应用

  • SpringBoot:简化 Spring 项目的初始化搭建和简化开发周期
  • Mybatis-plus:Mybatis 的增强版,快速生成单表的 CRUD
  • Nginx:静态资源服务器、反向代理和负载均衡
  • 项目上云:阿里云 ECS 服务器、OSS、阿里云数据库、域名...
  • Linux 操作系统
  • Docker:容器化部署
  • Redis:数据缓存
  • Spring Security:安全管理框架,认证和授权
  • 若依:低代码开发平台
  • 面试核心:
    • SpringBoot 自动装配的原理
    • Redis
  • 开发核心:
    • SpringBoot、Mybatis-plus、Redis、Spring Security
  • 运维核心:
    • 云平台、Linux、Docker

Java 微服务

  • Uniapp:跨端应用开发
  • RabbitMQ:消息队列,异步处理的一种方式
    • 异步提速、应用解耦、削峰填谷、延迟队列、死信队列...
  • ElasticSearch:全文检索、核心特性倒排索引...
  • Spring Cloud:微服务解决方案
  • 面试核心:
    • MQ 消息队列
    • ElasticSearch:全文检索

贡献者

页面历史

孩儿立志出乡关,学不成名誓不还。