diff --git a/docs/all_test.html b/docs/all_test.html new file mode 100644 index 0000000..a411df5 --- /dev/null +++ b/docs/all_test.html @@ -0,0 +1,841 @@ + + +
urbanops · tech-sharing
业务架构 × 技术架构 × 系统架构 × 部署架构 — 一次讲透全域平台。
agenda.yaml
// overview
基于 RuoYi-Vue-Pro 演进而来,面向城市园林绿化、工单调度、流程协同的综合运营管理平台。模块化单体架构向微服务演进中。
Java 17 · Spring Boot 3.5.5 · MyBatis Plus 3.5.14 · Spring Security 6.x · Flowable 7.0 · Redisson 3.51 · SkyWalking 9.5 · RocketMQ · Vert.x + MQTT · PF4J 插件框架
Vue3 + Element Plus / Vben 双管理后台 · uni-app 移动端 · 大屏报表设计器 · 多租户 SaaS · IoT 设备接入 · 代码生成器 · Spring AI 集成
business · architecture
树木资产管理、巡检计划、养护计划、绩效评估、物料出入库、机械成本核算
事件上报、工单流转、物料明细、附件管理、地理位置编码、园林事件映射
Flowable 驱动,仿钉钉/飞书 + BPMN 双设计器,会签、或签、转办、委派、加签全覆盖
问题上报、道路信息、工单提交详情、流程路径想法、跨模块数据聚合
用户/角色/菜单/部门/岗位管理、租户与套餐、字典、通知公告、应用管理
代码生成、文件存储、定时任务、配置管理、消息队列、API 日志、监控追踪
garden · smart-greening
覆盖园林绿化全生命周期——从资产登记到巡检养护,从绩效评估到成本核算。
古树名木 / 变更日志
计划制定 / 明细配置
养护任务 / 执行跟踪
指标定义 / 专家评定
物料类型 / 出入库
折旧 / 租赁核算
数据汇总
位置上报
现场打卡
任务执行
树木变更
自动生成巡检/养护计划
按区域隔离园林数据
灵活配置任务执行周期
计划明细幂等性保证
workorder · dispatch
bpm · flowable-engine
仿钉钉/飞书体验,拖拽搭建表单流程,10 分钟完成配置
基于 BPMN 2.0 标准,适配复杂多层级审批及自动化场景
核心流程引擎
DM8 / KingBase / OpenGauss
节点级只读/编辑/隐藏权限
global · system · infra
公共问题发现 → 流转到工单系统
道路基础数据维护
跨模块工单数据聚合视图
流程优化建议收集
用户 → 角色 → 菜单 → 按钮权限 · 数据权限
租户管理 · 套餐配置 · 数据隔离 · 透明化封装
一键生成 Java · Vue · SQL · 接口文档
短信 · 邮件 · 站内信 · 多通道
tech-stack · layers
architecture · system-overview
modules · dependency-graph
architecture · layers
从用户端到底层基础设施,清晰分层、逐级解耦。
Vue3 + Element Plus
uni-app 跨端
GoView 可视化
第三方对接
Spring Security + Token
Nginx / Gateway
多实例分发
XSS / CSRF / SQL注入
园林管理
工单调度
工作流
全局服务
系统管理
基础设施
OLTP
缓存/锁
消息队列
全文检索
时序数据
backend · layered
接收请求、参数校验、VO 转换
业务逻辑编排、事务管理、策略模式
数据访问层:MySQL Mapper + Redis Cache
MapStruct 对象转换层,编译期生成高性能映射代码
模块间 Feign 接口定义 + DTO,实现跨模块调用
异步消息(producer/consumer)+ 定时任务调度
模块内框架代码:数据权限配置、Web 配置、操作日志等
framework · starters
将通用能力抽象为可复用的 Starter 组件,所有业务模块按需引入。
全局异常处理 · 统一返回 · CORS · Swagger
Spring Security · Token 鉴权 · SSO
MyBatis Plus · 多数据源 · 联表查询
Redisson · 分布式锁 · 缓存策略
RocketMQ 集成 · 消息幂等 · 重试
分布式锁 · 幂等 · 限流 · 熔断
SkyWalking · Admin · 日志中心
Quartz 定时任务 · 执行日志
FastExcel 导入导出
实时通信 · Token 校验 · 集群
多租户数据隔离 · 透明封装
数据权限 · 行级过滤
tech-stack · ecosystem
data-flow · communication
database · strategy
SaaS 多租户:共享数据表 + tenant_id 字段隔离,biz-tenant Starter 透明拦截 SQL
invocation · communication
每个模块暴露 Feign 接口 + DTO,其他模块引入依赖即可调用,编译期类型安全。
Producer 发送消息,Consumer 消费处理。SMS / Mail 异步发送,不解耦主流程。
同模块内 Service 互相注入。跨模块通过 api 包或直接依赖。
async · event-driven
巡检计划自动生成 · 养护计划定时创建 · 数据统计报表 · 超时任务自动处理
@Lock4j 分布式锁防并发 · @Idempotent 幂等性 · @RateLimiter 限流保护 · 熔断降级
security · auth-flow
security · auth · tenant
observability · monitoring
Logback + SkyWalking Logback Appender,TraceId 自动注入
Spring Boot Admin + Druid SQL 监控 + Redis 监控面板
Apache SkyWalking 9.5 分布式追踪,服务拓扑自动发现
SkyWalking · Admin Client · OpenTracing · 日志中心 · 一键接入
分布式锁 (Lock4j) · 幂等性保证 · 限流降级 · 异常全局处理 · 错误码统一管理
deployment · docker
deployment · ci-cd
# Stage 1: 构建 +FROM maven:3.9-eclipse-temurin-17 AS builder +COPY . /app && WORKDIR /app +RUN mvn clean package -DskipTests + +# Stage 2: 运行 +FROM eclipse-temurin:17-jre +COPY --from=builder /app/urbanops-server/target/*.jar app.jar +ENTRYPOINT ["java","-jar","/app.jar"]
roadmap · planning
MQTT 协议适配 · 设备影子 · TDengine 时序存储
Member + Pay + MP + Report 模块上线,补齐业务闭环
核心域拆分 · Spring Cloud 迁移 · 服务独立部署
evolution · target-architecture
智慧园林 + 工单调度 + 流程协同,三大核心域支撑城市运营。
15 个 Starter 组件化,模块间 Feign API + MQ 双通道解耦。
MySQL / DM8 / KingBase / OpenGauss 多数据库无缝切换。
SkyWalking + Admin + 日志中心,三大支柱保障系统可靠。
模块化先行 → API 契约驱动 → 渐进式拆分 → 独立部署验证。
IoT 网关已实现独立部署,为后续微服务化积累了宝贵经验。
感谢聆听 · 欢迎交流
从业务架构到技术架构,从单体模块到微服务演进——一文讲透全域平台。
基于 RuoYi-Vue-Pro 演进而来,面向城市园林绿化、工单调度、流程协同的综合运营管理平台。
Java 17 · Spring Boot 3.5.5 · MyBatis Plus 3.5.14 · Spring Security 6.x · Flowable 7.0 · Redisson 3.51 · SkyWalking 9.5 · RocketMQ · Vert.x + MQTT
Vue3 + element-plus 管理后台 · Vue3 + vben(ant-design-vue) 高级后台 · uni-app 移动端 · 大屏报表设计器 · 代码生成器一键生成前后端
SaaS 多租户:共享数据表 + tenant_id 字段隔离,biz-tenant Starter 透明拦截 SQL,自动添加租户条件
Logback + SkyWalking Logback Appender,TraceId 自动注入,一键关联链路
Spring Boot Admin 应用监控 + Druid SQL 监控 + Redis 监控面板
MQTT 协议适配 · 设备影子 · 数据上行 · TDengine 时序存储
// key-takeaways
从模块化到微服务化,从单应用到平台化,路径清晰可落地。