项目开发维护技术文档(梳理总结中)
目录
项目名称——惠誉灵境
一、项目背景
二、架构设计
1.技术栈
2.架构图
3.代码结构
三、模块划分
1.平台首页
2.登录模块
3.系统模块
(1)系统首页
(2)组织架构
(3)权限管控
①角色管理
(4)基础工具
①邮件推送
②短信发送
③站内信息
4.业务模块
(1)能源监测
①设备监测
②计量点数据
③历史数据
④告警记录
⑤子系统管理
⑥计量点管理
⑦操控记录
⑧监测绘图绘制
⑨告警配置
(2)公司架构
①机构管理
②岗位管理
③人员管理
(3)企业管理
①企业资料
②添加操作员
③账户信息
④蒸汽月度确认
⑤电能月度确认
⑥系统告警记录
⑦签约合同
⑧凭证上传
⑨客户端设备
⑩数据中心
(4)系统运维
①设备管理
设备列表
操作记录
客户端设备
②接管和排放标准
③水质采样
④水抄表记录
⑤电能抄表记录
⑥蒸汽抄表记录
⑦巡检
⑧故障处理
⑨数据采集
⑩网关管理
网关配置
网关数据
(5)运营管理
①企业账户
账户信息
缴费凭证
退款记录
信用额度
交易记录
②数据中心
单位用量
水月度结算
蒸汽月度结算
电能月度结算
水用量曲线
电能用量曲线
水数据导出
③单位统计分析
④企业面板
计量点数据
告警管理
企业资料
企业管理员
⑤单位管理
⑥签署合约
⑦核对缴费
⑧设备记录
⑨管线配置
⑩系统参数
消息通知
告警级别配置
流程设计
⑪意见反馈
(6)在线办公
①已发申请
②待办事宜
③已办事宜
④已结束申请
四、开发规范
1.命名规范
2.代码格式
3.版本控制
五、部署流程
1.环境要求
2.部署流程
六、问题解决
1.数据库连接异常
2.Redis缓存失效
七、参考资料
项目名称——惠誉灵境
一、项目背景
“惠誉灵境绿色发展服务平台” 是一款专注于清洁能源全产业链的综合服务平台。该平台以现场无人化、生产自动化、交易流程智能化、数据可视化和设备智能化为核心理念,充分运用云计算、大数据、边缘计算、物联网和人工智能等先进信息技术。旨在构建以新能源产业数据资产为核心的智慧应用体系,助力企业实现数字化转型,推动领先数字清洁能源企业的发展目标。
二、架构设计
1.技术栈
-
前端:Vue.js + Ant Design Vue
-
Vue.js:版本为3.2.31,作为项目的主要框架。
-
Ant Design Vue:版本为3.2.10,UI 组件库,提供了丰富的可复用组件。
-
Vue Router:版本为4.0.12,用于处理前端路由。
-
Vuex:版本为4.0.2,用于状态管理。
-
Axios:版本为0.24.0,用于发送 HTTP 请求。
-
Echarts:版本为5.2.2,用于数据可视化。
-
TypeScript:版本为4.5.5,强类型的 JavaScript 扩展。
-
Vite:版本为2.8.6,快速的前端构建工具。
-
ESLint:版本为7.11.0,用于代码规范检查。
-
Prettier:版本为2.4.1,用于代码格式化。
-
Babel:版本为10.1.0,用于将新版本 JavaScript 转换为旧版本。
-
Less:版本为4.1.2,CSS 预处理器。
-
PostCSS:版本为8.4.7,用于处理 CSS。
-
Tailwind CSS:版本为3.0.23,CSS 工具库。
-
TypeScript:版本为4.5.5,强类型的 JavaScript 扩展。
-
Rollup:版本为5.7.1,用于打包 JavaScript 代码。
-
其他辅助工具和库,如 moment、NProgress、tinymce、highlight.js 等。
-
-
后端:Spring Boot + MyBatis Plus + PolarDB for MySQL
-
Web 开发框架
-
Spring Boot(版本2.5.4):用于快速搭建基于 Spring 的应用程序。
-
dubbo-spring-boot-starter(版本3.0.7):集成了 Dubbo 微服务框架和 Spring Boot
-
-
数据(库)存储
-
Redis(通过 spring-boot-starter-data-redis):用作缓存数据库。
-
MyBatis Plus(版本 3.5.1):用于简化 MyBatis 操作的持久层框架。
-
Druid(版本 1.2.8):用于数据库连接池、监控和管理。
-
Apache ShardingSphere(版本5.0.0):提供数据库分片和分库分表能力,实现数据水平拆分和扩展。
-
dynamic-datasource (版本3.5.2) :动态数据源管理框架,实现多数据源的管理和使用
-
MySQL Connector/J (版本8.0.30) : Java 应用程序中连接和操作 MySQL 数据库
-
-
工具类库
-
Lombok(版本 1.18.22):用于简化 Java 代码,如自动生成 getter/setter 方法等。
-
Hutool(版本 5.7.22):Java工具包,封装了一系列开发中常用的工具类。
-
Pinyin4j(版本 2.5.1):用于进行汉字转拼音操作。
-
IP2Region(版本 2.6.3):用于根据 IP 地址获取地理位置信息。
-
mapstruct, mapstruct-processor(版本1.4.1.Final):提供了对象映射和转换的功能,简化了对象之间的转换操作。
-
Blade Core Tool (版本3.5.0):基于 Spring Boot 的快速开发框架,提供了一些常用的工具
-
-
API 文档与测试
-
Knife4j(版本 2.0.9):用于生成接口文档并进行在线测试。
-
JUnit (版本4.13.2) : JUnit 是一个 Java 编程语言的单元测试框架
-
-
数据转换与加密
-
EasyPoi(版本 4.3.0):用于 Excel 和 Word 的简单操作与处理。
-
sm-crypto(版本 1.63):提供了一些简单的对称加密算法。
-
bcprov-jdk15on(版本 0.3.2):集成了 Bouncy Castle 加密库,提供了丰富的加密算法支持。
-
Bouncy Castle PKIX JDK15On(版本 1.70):Java 密码学库,提供了各种加密和解密算法。
-
-
分布式系统
-
Redisson(版本 3.14.0):用于在 Redis 基础上提供的分布式和高可用服务。
-
Dubbo Spring Boot Starter (3.0.7):用于构建分布式服务框架的工具。
-
Apache Dubbo(版本3.0.7):一个分布式服务框架,用于构建高性能、可扩展的分布式应用程序。
-
Apache Curator(版本4.2.0):用于ZooKeeper的Java客户端框架,用于简化与ZooKeeper的交互。
-
dubbo-dependencies-zookeeper(版本3.0.7):集成了 ZooKeeper 作为 Dubbo 的注册中心,用于服务治理和服务注册发现。
-
Apache Curator Framework版本 4.2.0):Apache ZooKeeper 的 Java 客户端库,用于管理 ZooKeeper 集群。
-
-
消息队列和通信
-
Eclipse Paho (版本1.2.5): :MQTT 客户端库,用于实现 MQTT 协议通信。
-
Bouncy Castle(版本1.70):加密和密码学库,提供安全通信和数据保护功能。
-
org.eclipse.paho.client.mqttv3(版本1.70):支持 MQTT 协议的消息队列客户端,用于实现发布/订阅模式的消息通信。
-
dyvmsapi20170525(版本2.1.4):集成了阿里云的语音服务 API,用于实现语音通知等功能。
-
-
微信小程序开发相关
-
weixin-java-miniapp (版本4.4.0)::提供了对微信小程序开发的 Java SDK 支持,用于与微信小程序进行交互,集成了微信小程序订阅消息的工具,用于在该项目中实现消息推送的功能。
-
-
Sa-Token(v1.30.0)
-
sa-token-spring-boot-starter:提供基于Spring Boot的身份认证和权限管理功能。
-
sa-token-dao-redis-jackson:整合了Redis作为持久化存储,使用Jackson进行序列化。
-
sa-token-alone-redis:实现了权限缓存与业务缓存的分离。
-
sa-token-sso:提供了单点登录(SSO)功能。
-
-
JustAuth(v1.16.5):实现第三方登录功能,包括集成了各大平台的OAuth认证
-
文件上传
-
com.qcloud.cos_api (5.6.68):腾讯云上传文件客户端,用于文件上传到腾讯云对象存储服务(COS)。
-
com.aliyun.oss.aliyun-sdk-oss (3.14.0):阿里云上传文件客户端,用于文件上传到阿里云对象存储服务(OSS)。
-
io.minio.minio (3.0.12):MinIO上传文件客户端,用于文件上传到MinIO对象存储服务
-
-
邮件发送
-
com.sun.mail.javax.mail (1.6.2):Java邮件发送库,用于发送邮件。
-
com.aliyun.aliyun-java-sdk-dm (3.3.1):阿里云邮件发送库,用于通过阿里云发送邮件
-
com.tencentcloudapi.tencentcloud-sdk-java-ses (3.1.455):腾讯云邮件发送库,用于通过腾讯云发送邮件。
-
-
短信发送
-
com.aliyun.dysmsapi20170525 (2.0.9):阿里云短信发送库,用于通过阿里云发送短信。
-
com.tencentcloudapi.tencentcloud-sdk-java-sms (3.1.455):腾讯云短信发送库,用于通过腾讯云发送短信。
-
-
系统硬件信息获取
-
com.github.oshi.oshi-core (6.2.2):系统硬件信息库,用于获取系统的硬件信息。
-
2.架构图
3.代码结构
项目的目录结构、主要文件、代码分层等方面的内容。
前端:
├─ .editorconfig #定义编辑器的基本配置,如缩进、换行符等
│ .env.development #环境变量文件,用于配置开发环境的环境变量
│ .env.production #环境变量文件,用于配置生产环境的环境变量
│ .eslintrc.js #ESLint配置文件,用于定义代码规范和检查代码质量
│ .gitignore #Git版本控制忽略文件列表,指定不需要提交到版本库中的文件和目录
│ antd.js #Ant Design的全局配置文件,用于自定义主题和样式
│ index.html #项目的入口HTML文件,定义页面结构和引入必要的脚本和样式
│ jsconfig.json #用于配置JavaScript项目的编译选项和路径别名等
│ package-lock.json #用于锁定安装软件包时的精确版本,保证多次安装得到相同的依赖
│ package.json #项目的配置文件,包含项目的名称、依赖、脚本等信息
│ postcss.config.js #PostCSS的配置文件,用于对CSS进行预处理和后处理
│ prettier.config.js #Prettier的配置文件,用于定义代码格式化规则
│ README.md #项目的说明文档,提供项目的概述、使用方法等信息
│ tailwind.config.js #Tailwind CSS的配置文件,用于自定义样式和主题
│ vite.config.js #Vite的配置文件,包含了项目的打包和构建配置
│
├─.idea #IDEA编辑器的配置文件目录,包括项目的一些配置信息
│
├─node_modules #项目依赖的第三方包存放目录
│
└─src #源代码目录,包含项目的源代码文件
│
├─api #与后端交互的API接口目录,包括发送请求、获取响应等
│ ├─auth #用户认证相关的API接口
│ │
│ ├─biz #业务逻辑相关的API接口
│ │
│ ├─components
│ │ └─Selector #可复用的下拉选择器组件相关的API接口
│ │
│ ├─dev #开发环境相关的API接口,如获取日志、调试接口等
│ │
│ └─sys
│ │
│ ├─approval #审批相关的API接口,如提交审批、查询审批记录等
│ │
│ └─resource #资源管理相关的API接口,如上传文件、获取文件列表等
│
├─assets #存放静态资源文件的目录,如图片、图标等
│ ├─css
│ │ └─svgAnimation #存放SVG动画相关的CSS文件
│ │
│ ├─icons
│ │ │
│ │ └─uiw #存放UI框架中的图标文件
│ │
│ └─images
│ │
│ └─fileImg #存放文件类型图标文件,用于在资源管理模块中显示不同类型文件对应的图标
│
├─components #可复用的组件目录,包含各种通用的业务组件
│ │ global.less #全局样式文件,定义了整个应用的通用样式
│ │ index.less #主样式文件,用于引入和管理各个组件的样式
│ │
│ ├─Chart #Echarts图表相关的组件目录
│ │ ├─eCBingZhuangTu #Echarts表示饼状图组件
│ │ │
│ │ ├─eCKXianTu #Echarts表示折线图组件
│ │ │
│ │ ├─eCLouDouTu #Echarts漏斗图组件
│ │ │
│ │ ├─eCSanDianTu #Echarts散点图组件
│ │ │
│ │ ├─eCShuXingTu #Echarts属性图组件
│ │ │ TreeWithPolylineEdge.vue
│ │ │
│ │ ├─eCXianXingTu #Echarts线性图组件
│ │ │
│ │ ├─eCYiBiaoTu #Echarts仪表图组件
│ │ │
│ │ ├─eCZhuZhuangTu #Echarts柱状图组件
│ │ │
│ │ ├─g2BingZhuangTu #G2饼状图组件
│ │ │
│ │ ├─g2CiYunTu #G2词云图组件
│ │ │
│ │ ├─g2JinDuTu #G2进度图组件
│ │ │
│ │ ├─g2LouDouTu #G2漏斗图组件
│ │ │
│ │ ├─g2MianJiTu #G2面积图组件
│ │ │
│ │ ├─g2SanDianTu #G2散点图组件
│ │ │
│ │ ├─g2TiaoXingTu #G2条形图组件
│ │ │
│ │ ├─g2ZheXianTu #G2折线图组件
│ │ │
│ │ ├─g2ZhuZhuangTu #G2柱状图组件
│ │ │
│ │ └─g2ZiDanTu #G2子弹图组件
│ │
│ ├─ColorPicker #颜色选择器组件
│ │
│ ├─Cron #定时任务配置组件
│ │
│ ├─CropUpload #图片裁剪上传组件
│ │
│ ├─Editor #编辑器组件
│ │
│ ├─Ellipsis #文本内容超出部分省略显示组件
│ │
│ ├─MonitoringDrawing #监控绘图组件
│ │
│ ├─NumberInfo #数字信息展示组件
│ │
│ ├─Selector #选择器组件
│ │
│ ├─ShortcutCard #快捷卡片组件
│ │
│ ├─Table #表格组件
│ │
│ ├─TreeSelect #树形选择组件
│ │
│ ├─Trend #趋势展示组件
│ │
│ ├─XnHighlightjs #代码高亮组件
│ │
│ ├─XnSignName #签名组件
│ │
│ └─XnUpload #上传组件
│
├─config #项目配置文件目录,包括一些项目的配置信息
│
├─layout #布局相关的组件目录,包括页面布局组件等
│ │
│ ├─components #通用的可复用组件
│ │
│ └─other #其他一些非布局和通用组件
│
├─localess #国际化相关的文件目录,存放多语言支持所需的文件
│ │
│ └─lang
│
├─router #路由配置目录,包括项目的路由配置信息
│
├─store #状态管理目录,用于存放Vuex相关的文件
│ │
│ └─modules
│
├─style #样式文件目录,包括通用的样式文件
│
├─utils #工具函数目录,包括一些通用的工具函数
│ │
│ └─permission
│
└─views #视图组件目录,包括项目的各个页面视图组件
├─auth #认证相关的视图组件。用户登录、找回密码等认证相关的页面
│ │
│ ├─findPwd #找回密码页面的视图组件
│ │
│ ├─login #登录页面的视图组件
│ │
│ ├─monitor #监控页面的视图组件
│ │
│ └─third #第三方登录页面的视图组件
│
├─biz #业务相关的视图组件。组织机构、职位、用户等业务相关的页面
│ ├─org #织机构页面的视图组件
│ │
│ ├─position #职位页面的视图组件
│ │
│ └─user #用户页面的视图组件
│
├─dev #开发相关的视图组件。包括配置、字典、日志等开发相关的页面
│ ├─config #配置相关的视图组件,
│ │ │ 邮件配置、文件配置、其他配置、短信配置、第三方配置等子页面
│ │ │
│ │ ├─emailConfig #邮件配置页面的视图组件
│ │ │
│ │ ├─fileConfig #文件配置页面的视图组件
│ │ │
│ │ ├─otherConfig #其他配置页面的视图组件
│ │ │
│ │ ├─smsConfig #短信配置页面的视图组件
│ │ │
│ │ └─thirdConfig #第三方配置页面的视图组件
│ │
│ ├─dict #字典相关的视图组件
│ │ │
│ │ └─category #字典分类页面的视图组件
│ │
│ ├─email #邮件相关的视图组件
│ │ │
│ │ └─send #发送邮件页面的视图组件
│ │
│ ├─file #文件相关的视图组件
│ │
│ ├─job #任务相关的视图组件
│ │
│ ├─log #日志相关的视图组件
│ │ ├─oplog #操作日志页面的视图组件
│ │ │
│ │ └─vislog #访问日志页面的视图组件
│ │
│ ├─message #消息相关的视图组件
│ │
│ ├─monitor #监控相关的视图组件
│ │
│ └─sms #短信相关的视图组件
│ │
│ └─send #发送短信页面的视图组件
│
├─exm #某个功能或模块的视图组件
│ ├─chart #图表相关的视图组件
│ │
│ ├─editor #富文本编辑器相关的视图组件
│ │
│ ├─iconSelect #图标选择相关的视图组件
│ │
│ └─nestRoutor #嵌套路由相关的视图组件
│
├─index #主页相关的视图组件
│ │
│ └─components #主页中的各种组件。侧边栏、面包屑导航、顶部导航栏等主页组件
│
├─other #其他视图组件目录
│
└─sys #存放系统管理相关的页面和功能
├─apply #申请相关功能页面
│
├─checkFee #检查费用相关功能页面
│
├─checkRealNameAuthentication #实名认证相关功能页面
│
├─corporateAccounts #企业账户管理相关功能页面
│ │
│ ├─creditLine #信用额度管理页面
│ │
│ ├─enterpriseMng #企业管理页面
│ │
│ ├─rechargeRecord #充值记录页面
│ │
│ ├─refundRecord #退款记录页面
│ │
│ └─transaction #交易记录页面
│
├─corporateWater #企业水务管理页面
│
├─dataExport #数据导出相关功能页面
│
├─deviceInstall #设备安装相关功能页面
│
├─deviceManage #设备管理相关功能页面
│
├─deviceRecords #备记录相关功能页面
│
├─dischargeStandard #排放标准相关功能页面
│
├─electricEnergyConfiguration #电能配置相关功能页面
│ │
│ └─measureConfig #测量配置页面
│
├─energyMeterRead #能源计量读数相关功能页面
│
├─energyMonthSettlement #能源月度结算相关功能页面
│
├─enterprise #企业相关功能页面
│ ├─consumptionSubsidiaries #子公司消费页面
│ │
│ ├─dataCenter #数据中心页面
│ │
│ ├─energyCircleStats #能源循环统计页面
│ │
│ ├─energySettlement #能源结算页面
│ │
│ ├─settlement #结算页面
│ │
│ ├─steamCircleStats #蒸汽循环统计页面
│ │
│ └─steamSettlement #蒸汽结算页面
│
├─enterpriseDevice #企业设备管理相关功能页面
│
├─enterpriseInformation #企业信息相关功能页面
│
├─enterpriseMng #企业管理相关功能页面
│
├─enterpriseOperator #企业操作员相关功能页面
│
├─feedback #反馈相关功能页面
│
├─flowDesign #流程设计相关功能页面
│
├─gatewayAdministration #网关管理相关功能页面
│ ├─gatewayConfiguration #网关配置页面
│ │
│ └─gatewayData #网关数据页面
│
├─gatewayData #网关数据相关功能页面
│
├─gather #采集相关功能页面#
│
├─gatherWaterSample #采集水样相关功能页面
│
├─groupEnterpriseInformation #集团企业信息相关功能页面
│
├─maintenance #维护相关功能页面
│
├─maintenanceRecord #维护记录相关功能页面
│
├─meteringPointData #计量点数据相关功能页面
│
├─meterReadRecord #抄表记录相关功能页面
│
├─myAccounts #我的账户相关功能页面
│
├─myDevices #我的设备相关功能页面
│
├─online #在线相关功能页面
│ ├─addRequest #添加请求页面
│ │
│ ├─applyList #申请列表页面
│ │
│ ├─endApplication #结束申请页面
│ │
│ ├─handledMatters #已处理事项页面
│ │
│ └─waitHandle #待处理页面
│
├─onSiteInspection #现场巡检相关功能页面
│ ├─externalPatrolinspection #外部巡检页面
│ │
│ └─regularInspection #定期巡检页面
│
├─org #组织相关功能页面
│
├─paymentRecord #支付记录相关功能页面
│
├─pipelineConfiguratione #管道配置相关功能页面
│
├─positione #职位相关功能页面
│
├─ranchMonitoring #牧场监测相关功能页面
│ ├─deviceMonitor #设备监测页面
│ │
│ ├─drawingManagement #绘图管理页面
│ │
│ ├─measurePointData #测量点数据页面
│ │
│ ├─measurePointMng #测量点管理页面
│ │
│ ├─monitorChildMng #监测子管理页面
│ │
│ ├─monitorHistorye #监测子管理页面
│ │
│ ├─operateRecord #操作记录页面
│ │
│ ├─plcMng #PLC管理页面
│ │
│ ├─ranchWarnConfig #牧场警报配置页面
│ │
│ └─warnRecord #警报记录页面
│
├─rechargeRecord #充值记录相关功能页面
│
├─regularInspection #定期巡检相关功能页面
│
├─resource #资源相关功能页面
│ ├─buttone #按钮页面
│ │
│ ├─field #字段页面
│ │
│ ├─menu #菜单页面
│ │
│ ├─module #模块页面
│ │
│ └─spa #单页面应用页面
│
├─rolee #角色相关功能页面
│
├─signContract #签署合同相关功能页面
│
├─signerConfig #签约人配置相关功能页面
│
├─startContract #发起合同相关功能页面
│
├─statisticsSubsidiaries #统计子公司相关功能页面
│
├─steamMonthSettlement #蒸汽月度结算相关功能页面
│
├─streamManRead #流量计读数相关功能页面
│
├─switchMng #开关管理相关功能页面
│
├─systemAlarmRecord #系统警报记录相关功能页面
│
├─systemPanel #系统面板相关功能页面
│
├─systemParamaterSet #系统参数设置相关功能页面
│
├─troubleshooting #故障排除相关功能页面
│
├─user #用户相关功能页面
│ │ form.vue #用户表单页面
│ │ index.vue #用户主页面
│ │ realNameForm.vue #实名认证表单页面
│ │ userCenter.vue #用户中心页面
│ │
│ └─userTab #用户选项卡相关功能页面
│ │
│ ├─bindForm #绑定表单页面
│ │
│ └─userMessage #用户消息页面
│
├─warnLevelSet #警报级别设置相关功能页面
│
├─warnMng #警报管理相关功能页面
│
└─waterFactoryMng #水厂管理相关功能页面
后端:
water-handle
│ pom.xml #项目公共父类的配置文件,定义了项目的依赖、插件等信息
│ water.iml
│
├─water-common #项目中的一个模块,基础通用规则模块,包含了公共的工具类、注解、枚举等内容
│ │ pom.xml #Maven项目的配置文件,定义了项目的依赖、插件等信息
│ │ water-common.iml #IntelliJ IDEA的项目文件,记录了项目的一些配置信息
│ │
│ ├─src #源代码目录
│ │ └─main #主目录
│ │ ├─java #Java源代码目录
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─common
│ │ │ ├─annotation #存放自定义注解相关的代码文件
│ │ │ ├─cache #存放缓存相关的代码文件
│ │ │ ├─enums #存放枚举类型相关的代码文件
│ │ │ ├─exception #存放异常处理相关的代码文件
│ │ │ ├─page #存放分页相关的代码文件
│ │ │ ├─pojo #存放JavaBean对象相关的代码文件
│ │ │ ├─prop #存放属性配置相关的代码文件
│ │ │ ├─threadpool #存放线程池相关的代码文件
│ │ │ ├─timer #存放定时任务相关的代码文件
│ │ │ └─util #存放通用工具类相关的代码文件
│ │ └─resources #资源文件目录,存放项目的配置文件、静态资源文件等
│ │
│ └─target #Maven构建生成的目录,存放编译后的类文件、打包文件等
│
│
│
├─water-gather #项目中的一个模块,采集模块,该模块主要用于采集、处理和管理水务相关的数据
│ │ pom.xml
│ │ water-gather.iml
│ │
│ └─src
│ └─main
│ ├─java
│ │ └─water
│ │ └─gather
│ │ │
│ │ ├─core #采集模块的核心组件
│ │ │
│ │ └─modular #模块化的业务逻辑,按照不同的业务模块进行划分
│ │ ├─biz #业务逻辑相关的代码
│ │ │ ├─device #设备相关的业务逻辑
│ │ │ │
│ │ │ ├─enterprise #企业相关的业务逻辑
│ │ │ │
│ │ │ ├─gather #采集相关的业务逻辑
│ │ │ │
│ │ │ ├─monitor #监控相关的业务逻辑
│ │ │ │
│ │ │ ├─topic #主题相关的业务逻辑
│ │ │ │
│ │ │ └─view #视图相关的业务逻辑
│ │ │ ├─device #设备视图相关的业务逻辑
│ │ │ │
│ │ │ └─enterpriseDevice #企业设备视图相关的业务逻辑
│ │ │
│ │ ├─services #服务相关的代码
│ │ │ ├─common #通用服务相关的代码
│ │ │ │ │
│ │ │ │ └─pojo #POJO类相关的代码
│ │ │ │
│ │ │ └─mqtt #MQTT服务相关的代码
│ │ │
│ │ └─utils #工具类相关的代码
│ │
│ │ gatherApplication.java #采集模块的启动类,Spring Boot应用的入口 │ │
│ └─resources #资源文件目录,存放项目的配置文件、静态资源文件等
│ application.properties #Spring Boot应用的配置文件
│ logback-spring.xml #日志框架Logback的配置文件
│
│
│
├─water-monitor-his #项目中的一个模块,历史监控模块,该模块主要负责水务监控历史数据
│ │ pom.xml #Maven项目的配置文件,定义了项目的依赖、插件等信息
│ │ water-monitor-his.iml #IntelliJ IDEA的项目文件,记录了项目的一些配置信息
│ │
│ └─src
│ └─main
│ ├─java
│ │ └─water
│ │ └─handle
│ │ └─his
│ │ │
│ │ ├─config #配置相关的代码
│ │ │
│ │ ├─monitor #监控相关的代码
│ │ │
│ │ ├─page #分页相关的代码
│ │ │
│ │ ├─point #监控点相关的代码
│ │ │
│ │ ├─threadpool #线程池相关的代码
│ │ │
│ │ └─utils #工具类相关的代码
│ │
│ └─resources
│ │ application-sharding-tables.properties #分片表相关的配置文件, │ │ 用于分片数据库的管理
│ │
│ │ application.properties #Spring Boot应用的配置文件
│ │
│ └─mapping #MyBatis的映射文件目录,存放SQL语句的映射文件
│
│
│
├─water-plugin #项目中的一个模块,插件模块,用于管理一系列子模块
│ │ pom.xml
│ │ water-plugin.iml
│ │
│ ├─water-plugin-auth #登录鉴权插件,插件模块的子模块之一,用于实现认证相关的功能
│ │ │ pom.xml
│ │ │ water-plugin-auth.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─auth
│ │ │ ├─core #核心代码,用于实现认证相关的功能, │ │ │ │ │ 包括配置、工具类等
│ │ │ │ │
│ │ │ │ ├─config #配置相关的代码,用于指定认证相关的参数, │ │ │ │ │ 比如token有效期、是否开启单点登录等
│ │ │ │ │
│ │ │ │ └─util #工具类相关的代码,
│ │ │ │ 用于实现认证过程中的加密、解密等操作
│ │ │ │
│ │ │ └─modular #模块化代码,按照不同的功能模块进行划分
│ │ │ ├─login #登录模块,用于实现用户登录相关的功能, │ │ │ │ 如用户名密码登录、短信验证码登录等
│ │ │ │
│ │ │ ├─monitor #监控模块,用于实现系统监控相关的功能, │ │ │ │ 比如在线用户统计、操作日志记录等
│ │ │ │
│ │ │ └─third #第三方登录模块,用于实现第三方登录
│ │ │
│ │ └─target #Maven构建生成的目录,包含了编译后的Java类文件和打包后的jar包等
│ │
│ ├─water-plugin-biz #业务功能插件,插件模块的子模块之一,用于实现业务逻辑相关的功能
│ │ │ pom.xml
│ │ │ water-plugin-biz.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─biz #该模块的源代码目录,包含了处理业务逻辑的Java类
│ │ │ ├─core #核心功能的目录,包含了配置和枚举等核心组件
│ │ │ │ ├─config #配置相关的类
│ │ │ │ └─enums #枚举类型的定义
│ │ │ │
│ │ │ ├─listener #监听器相关的类
│ │ │ │
│ │ │ ├─modular #模块化的目录,包含了不同功能模块的子目录
│ │ │ │ ├─account #账户模块的目录,包含了账户相关功能的子目录
│ │ │ │ │ ├─account #账户操作的子目录
│ │ │ │ │ │
│ │ │ │ │ ├─quota #配额相关功能的子目录
│ │ │ │ │ │
│ │ │ │ │ ├─receipt #收据相关功能的子目录
│ │ │ │ │ │
│ │ │ │ │ └─transaction #交易相关功能的子目录
│ │ │ │ │
│ │ │ │ ├─audit #审核模块的目录,包含了审核相关功能的子目录
│ │ │ │ │ ├─apply #申请审核功能的子目录,包含了控制器、 │ │ │ │ │ │ │ 实体、枚举、映射、参数、结果和服务等组件
│ │ │ │ │ │ ├─controller #控制器类,用于处理HTTP请求和响应
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─entity #实体类
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─enums #枚举类型的定义,与当前子模块相关
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─mapper #MyBatis的Mapper接口和XML文件
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ └─mapping
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─param #包含一些参数类,用于封装请求参数
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─result #包含一些结果类,用于封装接口返回结果
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─service #包含服务接口和实现类,用于处理业务逻辑
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ └─impla
│ │ │ │ │ │ │
│ │ │ │ │ │ └─strategy #包含一些策略类,用于实现特定的业务策略
│ │ │ │ │ │ ├─factory
│ │ │ │ │ │ │
│ │ │ │ │ │ └─service
│ │ │ │ │ │
│ │ │ │ │ ├─category #处理分类相关的业务逻辑
│ │ │ │ │ │
│ │ │ │ │ ├─definition
│ │ │ │ │ │
│ │ │ │ │ ├─leave #负责处理请假相关的业务逻辑
│ │ │ │ │ │
│ │ │ │ │ ├─node #负责处理节点相关的业务逻辑, │ │ │ │ │ │ │ 包括节点配 置、节点参数等
│ │ │ │ │ │ ├─config #负责节点配置相关的业务逻辑
│ │ │ │ │ │ │ ├─entity #节点配置信息的实体类
│ │ │ │ │ │ │ ├─mapper
│ │ │ │ │ │ │ └─service
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─entity #负责节点参数相关的业务逻辑
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─mapper
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─param
│ │ │ │ │ │ │
│ │ │ │ │ │ ├─provider #节点参数配置信息进行操作的Provider类
│ │ │ │ │ │ │
│ │ │ │ │ │ └─service
│ │ │ │ │ │
│ │ │ │ │ └─push
│ │ │ │ │
│ │ │ │ ├─base #包含一些基础功能的代码,例如基础配置、基础参数等
│ │ │ │ │ │
│ │ │ │ │ └─param
│ │ │ │ │
│ │ │ │ ├─basic #包含一些与基础数据相关的功能, │ │ │ │ │ │ 如业务、字典、组织结构、职位、关系、用户等
│ │ │ │ │ ├─business
│ │ │ │ │ │
│ │ │ │ │ ├─dict
│ │ │ │ │ │
│ │ │ │ │ ├─org
│ │ │ │ │ │
│ │ │ │ │ ├─position
│ │ │ │ │ │
│ │ │ │ │ ├─relation
│ │ │ │ │ │
│ │ │ │ │ └─user
│ │ │ │ │
│ │ │ │ ├─bit #包含一些与位操作相关的功能, │ │ │ │ │ │ 例如数据采集、原始消息处理等
│ │ │ │ │ ├─gather
│ │ │ │ │ │
│ │ │ │ │ └─originalmessage
│ │ │ │ │
│ │ │ │ ├─chartplug #包含一些图表插件相关的代码
│ │ │ │ │
│ │ │ │ ├─contract #包含一些合同管理相关的功能代码
│ │ │ │ │
│ │ │ │ ├─device #包含一些设备管理相关的功能代码, │ │ │ │ │ │ 包括设备信息和设备安装等
│ │ │ │ │ ├─device
│ │ │ │ │ │
│ │ │ │ │ └─deviceinstall
│ │ │ │ │
│ │ │ │ ├─enterprise #包含一些企业管理相关的功能代码
│ │ │ │ │
│ │ │ │ ├─factory #包含一些工厂管理相关的功能代码, │ │ │ │ │ │ 包括工厂信息和工厂属性等
│ │ │ │ │ ├─factoryinfo
│ │ │ │ │ │
│ │ │ │ │ └─factoryproperty
│ │ │ │ │
│ │ │ │ ├─feedback #包含一些用户反馈相关的功能代码
│ │ │ │ │
│ │ │ │ ├─inform #包含一些通知消息相关的功能代码
│ │ │ │ │
│ │ │ │ ├─monitor #包含一些监控相关的功能代码
│ │ │ │ │
│ │ │ │ ├─ops #包含一些运维管理相关的功能代码, │ │ │ │ │ │ 包括故障管理、巡检管理等
│ │ │ │ │ ├─fault #故障管理相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─inspect #巡检管理相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─maintainitem #维护项目相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─maintainrecord #维护记录相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─manreadmeter #人工读表相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─round #巡视相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─sample #抽样相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ ├─scatterdiagram #散点图相关的功能代码
│ │ │ │ │ │
│ │ │ │ │ └─takeletstandard #取样标准相关的功能代码
│ │ │ │ │
│ │ │ │ ├─socket #包含一些与Socket通信相关的功能代码
│ │ │ │ │
│ │ │ │ ├─stats #包含一些统计功能相关的代码
│ │ │ │ │
│ │ │ │ ├─topic #包含一些主题相关的功能代码
│ │ │ │ │
│ │ │ │ ├─view #包含一些视图相关的功能代码
│ │ │ │ │
│ │ │ │ └─warn #包含一些预警相关的功能代码, │ │ │ │ │ 包括告警管理、阈值设置等
│ │ │ │ ├─alarm #告警管理相关的功能代码
│ │ │ │ │
│ │ │ │ ├─alarmlevel #告警级别管理相关的功能代码
│ │ │ │ │
│ │ │ │ ├─thresholdvalue #阈值管理相关的功能代码
│ │ │ │ │
│ │ │ │ └─warnlogrecord #预警记录相关的功能代码
│ │ │ │
│ │ │ ├─mqtt #MQTT 协议相关的类
│ │ │ │
│ │ │ ├─properties #属性相关的类,读取和解析配置文件等
│ │ │ │
│ │ │ ├─task #任务相关的类
│ │ │ │
│ │ │ └─websocket #WebSocket协议相关的类,与客户端之间的双向通信
│ │ │
│ │ └─target
│ │
│ ├─water-plugin-client #C端功能插件,插件模块的子模块之一,用于实现客户端相关的功能
│ │ │ pom.xml
│ │ │ water-plugin-client.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─client
│ │ │ ├─core #插件模块的核心功能代码所在的包。
│ │ │ │ 其中包含了一些与客户端插件核心功能相关的类和配置文件
│ │ │ │ └─config #存放插件的配置类,如客户端连接配置等
│ │ │ │
│ │ │ └─modular #插件模块的主要功能模块所在的根目录。
│ │ │ │ 它包含了多个子模块,分别负责不同的客户端功能
│ │ │ ├─relation
│ │ │ └─user
│ │ │
│ │ └─target
│ │
│ ├─water-plugin-dev #开发工具插件,插件模块的子模块之一,用于实现开发功能
│ │ │ pom.xml
│ │ │ water-plugin-dev.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─dev
│ │ │ ├─core
│ │ │ │ ├─aop #包含一些切面编程相关的类,用于实现横切逻辑
│ │ │ │ │
│ │ │ │ ├─config #包含了插件的配置类,例如开发插件的配置信息
│ │ │ │ │
│ │ │ │ └─listener #包含了一些监听器类,用于监听开发插件的事件
│ │ │ │
│ │ │ └─modular
│ │ │ ├─config #负责处理开发插件的配置相关的业务逻辑
│ │ │ │
│ │ │ ├─email #负责处理开发插件与电子邮件相关的业务逻辑
│ │ │ │
│ │ │ ├─file #负责处理开发插件与文件相关的业务逻辑
│ │ │ │
│ │ │ ├─job #负责处理开发插件与作业调度相关的业务逻辑
│ │ │ │
│ │ │ ├─log #负责处理开发插件与日志相关的业务逻辑
│ │ │ │
│ │ │ ├─message #负责处理开发插件与消息通知相关的业务逻辑
│ │ │ │
│ │ │ ├─monitor #负责处理开发插件与监控相关的业务逻辑
│ │ │ │
│ │ │ ├─region #负责处理开发插件与地域相关的业务逻辑
│ │ │ │
│ │ │ ├─relation #负责处理开发插件与关联关系相关的业务逻辑
│ │ │ │
│ │ │ └─sms #负责处理开发插件与短信相关的业务逻辑
│ │ │
│ │ └─target
│ ├─water-plugin-flow #审批功能插件,插件模块的子模块之一,用于流程审批相关功能
│ │ │ pom.xml
│ │ │ water-plugin-flow.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─flow
│ │ │ ├─core
│ │ │ │
│ │ │ └─modular
│ │ │ ├─apply #负责处理流程申请相关的业务逻辑
│ │ │ │
│ │ │ ├─audit #负责处理流程审批相关的业务逻辑
│ │ │ │
│ │ │ ├─category #负责处理流程分类相关的业务逻辑
│ │ │ │
│ │ │ ├─definition #负责处理流程定义相关的业务逻辑
│ │ │ │
│ │ │ └─node #负责处理流程节点相关的业务逻辑
│ │ │
│ │ └─target
│ │
│ ├─water-plugin-gen #生成功能插件,插件模块的子模块之一,用于实现代码生成相关的功能
│ │ pom.xml
│ │ water-plugin-gen.iml
│ │
│ ├─water-plugin-push #推送功能插件,插件模块的子模块之一,实现消息推送功能,
│ │ │ 用于集成微信小程序的订阅消息功能,并提供了与开发工具、系统功能和认证相关的接口
│ │ │ pom.xml
│ │ │ water-plugin-push.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─push
│ │ │ └─modular
│ │ │ ├─account #账号相关的功能模块
│ │ │ │
│ │ │ ├─apply #申请相关的功能模块
│ │ │ │
│ │ │ ├─business #业务相关的功能模块
│ │ │ │
│ │ │ ├─contract #合同相关的功能模块
│ │ │ │
│ │ │ ├─definition #定义相关的功能模块
│ │ │ │
│ │ │ ├─device #设备相关的功能模块
│ │ │ │
│ │ │ ├─enterprise #企业相关的功能模块
│ │ │ │
│ │ │ ├─factoryinfo #工厂信息相关的功能模块
│ │ │ │
│ │ │ ├─fault #故障相关的功能模块
│ │ │ │
│ │ │ ├─inform #通知相关的功能模块
│ │ │ │
│ │ │ ├─node #节点相关的功能模块
│ │ │ │
│ │ │ ├─org #组织相关的功能模块
│ │ │ │
│ │ │ ├─push #推送相关的功能模块
│ │ │ │
│ │ │ ├─quota #配额相关的功能模块
│ │ │ │
│ │ │ ├─receipt #收据相关的功能模块
│ │ │ │
│ │ │ ├─round #轮次相关的功能模块
│ │ │ │
│ │ │ ├─topic #主题相关的功能模块
│ │ │ │
│ │ │ ├─transaction #事务相关的功能模块
│ │ │ │
│ │ │ ├─user #用户相关的功能模块
│ │ │ │
│ │ │ └─view #视图相关的功能模块
│ │ │
│ │ └─target
│ │
│ └─water-plugin-sys #插件模块的子模块之一,用于组织和管理多个(以上8个)子模块(插件),
│ │ 仅用于管理和组织子模块
│ │ pom.xml
│ │ water-plugin-sys.iml
│ │
│ ├─src
│ │ └─main
│ │ └─java
│ │ └─water
│ │ └─handle
│ │ └─sys
│ │ ├─core
│ │ │ ├─config #配置文件
│ │ │ └─enums #枚举类型相关的代码
│ │ └─modular
│ │ ├─index #系统首页相关的代码文件
│ │ │
│ │ ├─org #组织机构相关的代码文件
│ │ │
│ │ ├─position #职位相关代码文件
│ │ │
│ │ ├─relation #关系相关代码文件
│ │ │
│ │ ├─resource #资源相关代码文件
│ │ │
│ │ ├─role #角色相关代码文件
│ │ │
│ │ └─user #用户相关代码文件
│ │
│ │
│ └─target
├─water-plugin-api #项目中的一个模块,插件 API 接口模块,
│ │ 负责定义和管理插件系统中各个插件 API 的接口
│ │ pom.xml
│ │ water-plugin-api.iml
│ │
│ ├─water-plugin-auth-api #登录鉴权 API 接口
│ │ │ pom.xml
│ │ │ water-plugin-auth-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─auth
│ │ │ ├─api
│ │ │ ├─bis
│ │ │ │ ├─entity
│ │ │ │ ├─mapper
│ │ │ │ └─service
│ │ │ │
│ │ │ ├─core
│ │ │ │ ├─annotation
│ │ │ │ ├─enums
│ │ │ │ ├─pojo
│ │ │ │ └─util│
│ │ │ └─wx
│ │ │ └─pojo
│ │ │
│ │ └─target
│ ├─water-plugin-biz-api #业务功能插件api接口
│ │ │ pom.xml
│ │ │ water-plugin-biz-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─biz
│ │ │ │ package-info.java
│ │ │ │
│ │ │ └─api
│ │ │
│ ├─water-plugin-client-api #C端功能插件api接口
│ │ │ pom.xml
│ │ │ water-plugin-client-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─client
│ │ │
│ │ └─target
│ ├─water-plugin-dev-api #开发工具插件api接口
│ │ │ pom.xml
│ │ │ water-plugin-dev-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─dev
│ │ │ ├─api
│ │ │ └─enums
│ │ │
│ │ └─target
│ ├─water-plugin-flow-api #登录鉴权 API 接口
│ │ │ pom.xml
│ │ │ water-plugin-flow-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─flow
│ │ │ ├─api
│ │ │ └─core
│ │ │ └─enums
│ │ └─target
│ ├─water-plugin-gen-api #系统功能插件api接口,代码生成
│ │ pom.xml
│ │ water-plugin-gen-api.iml
│ │
│ ├─water-plugin-push-api
│ │ │ pom.xml
│ │ │ water-plugin-push-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─push
│ │ │ ├─api
│ │ │ └─enums
│ │ └─target
│ ├─water-plugin-rpc-api #系统功能插件api接口,定义和管理与远程过程调用(RPC),
│ │ │ 该模块主要负责定义插件系统中与远程服务通信和调用相关的API接口,
│ │ │ 涉及到远程服务的注册、发现、调用等功能
│ │ │ pom.xml
│ │ │ water-plugin-rpc-api.iml
│ │ │
│ │ ├─src
│ │ │ └─main
│ │ │ └─java
│ │ │ └─com
│ │ │ └─water
│ │ │ └─rpc
│ │ │ └─api
│ │ │ ├─param
│ │ │ │
│ │ │ └─vo
│ │ │
│ │ └─target
│ └─water-plugin-sys-api #系统功能插件api接口,作为整个插件系统的API定义和管理中心,
│ │ 提供了各类插件所需的接口定义,并通过子模块的方式对各个功能进行了合理的划分和管理
│ │ pom.xml
│ │ water-plugin-sys-api.iml
│ │
│ ├─src
│ │ └─main
│ │ └─java
│ │ └─water
│ │ └─handle
│ │ └─sys
│ │ ├─api
│ │ │
│ │ └─core
│ │
│ └─target
│
│
│
├─water-service-task #项目中的一个模块,,水厂服务任务模块,
│ │ 用于处理水务相关业务逻辑的后台任务模块,
│ │ 其中涉及到与腾讯云、阿里云等服务进行短信和邮件发送,
│ │ 同时也包括了 Redis 数据库、MySQL 数据库、Dubbo 服务等的集成。
│ │ 另外,还包括了一些依赖的版本管理,构建插件等内容
│ │ pom.xml
│ │ water-service-task.iml
│ │
│ ├─src
│ │ └─main
│ │ ├─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ └─task
│ │ │ │
│ │ │ ├─core #核心代码,实现了任务调度、执行等核心逻辑
│ │ │ │
│ │ │ ├─enums #枚举类型的定义,用于表示任务状态、类型等枚举值
│ │ │ │
│ │ │ ├─exception #任务模块的异常类定义,用于处理任务执行过程中的异常情况
│ │ │ │
│ │ │ ├─im #与消息相关的处理逻辑,比如邮件、短信等消息发送的接口或实现
│ │ │ │ ├─email
│ │ │ │ │
│ │ │ │ ├─message
│ │ │ │ └─sms
│ │ │ │
│ │ │ ├─job #任务调度相关的代码,比如定时任务的配置和实现
│ │ │ │
│ │ │ ├─modular #块化的相关代码,可能是针对任务模块的功能进行模块化划分
│ │ │ │
│ │ │ ├─param #参数对象的定义,用于封装任务执行所需的参数
│ │ │ │
│ │ │ ├─pojo #普通的 Java 对象(POJO),用于表示任务相关的数据对象
│ │ │ │
│ │ │ ├─properties #项目的属性文件,比如配置文件等
│ │ │ │
│ │ │ ├─rpc #远程过程调用相关的代码,用于任务模块与其他模块或服务的通信
│ │ │ │
│ │ │ ├─util #工具类,提供了一些通用的工具方法供任务模块使用
│ │ │ │
│ │ │ └─websocket #与 WebSocket 相关的代码,
│ │ │ 用于支持任务模块的 WebSocket 通信功能
│ │ │
│ │ └─resources
│ │ │ application.properties
│ │ │ logback-spring.xml
│ │ │
│ │ └─mapper
│ │
│ └─target
│
│
│
├─water-task #项目中的一个模块,任务处理模块,
│ │ 与数据库交互、RPC 接口调用、消息订阅、分布式服务等功能
│ │ pom.xml
│ │ water-task.iml
│ │
│ └─src
│ └─main
│ ├─java
│ │ └─water
│ │ └─handle #处理相关的类和接口
│ │ │
│ │ ├─core #心功能相关的类和接口
│ │ │
│ │ └─modular #模块化相关的类和接口
│ │ ├─biz #业务逻辑相关的类和接口
│ │ │ ├─alarm #告警相关的类和接口
│ │ │ │
│ │ │ ├─alarmlevel #告警级别相关的类和接口
│ │ │ │
│ │ │ ├─backend #后端相关的类和接口
│ │ │ ├─business #业务相关的类和接口
│ │ │ │
│ │ │ ├─charge #收费相关的类和接口
│ │ │ │
│ │ │ ├─chargehistory #收费历史相关的类和接口
│ │ │ │
│ │ │ ├─contract #合同相关的类和接口
│ │ │ ├─device #设备相关的类和接口
│ │ │ │
│ │ │ ├─enterprise #企业相关的类和接口
│ │ │ │
│ │ │ ├─factory #工厂相关的类和接口
│ │ │ │
│ │ │ ├─factoryinfo #工厂信息相关的类和接口
│ │ │ │
│ │ │ ├─gather #数据采集相关的类和接口
│ │ │ │
│ │ │ ├─manreadmeter #人工读表相关的类和接口
│ │ │ │
│ │ │ ├─monitor #监控相关的类和接口
│ │ │ │
│ │ │ ├─relation #关联关系相关的类和接口
│ │ │ │
│ │ │ ├─switchcontrol #开关控制相关的类和接口
│ │ │ │
│ │ │ ├─thresholdvaluee #阈值相关的类和接口
│ │ │ │
│ │ │ ├─topic #主题相关的类和接口
│ │ │ │
│ │ │ ├─transaction #交易相关的类和接口
│ │ │ │
│ │ │ ├─userOpenId #用户OpenID相关的类和接口
│ │ │ │
│ │ │ ├─view #视图相关的类和接口
│ │ │ │ ├─device #设备视图
│ │ │ │ │
│ │ │ │ └─enterpriseDevice #企业设备视图
│ │ │ │
│ │ │ └─warn #警告相关的类和接口
│ │ │
│ │ ├─common #通用功能相关的类和接口
│ │ │ ├─controller #控制器
│ │ │ │
│ │ │ ├─enums #枚举类型
│ │ │ │
│ │ │ ├─params #参数
│ │ │ │
│ │ │ ├─pojo #POJO(Plain Old Java Object)
│ │ │ └─provider #提供者
│ │ │
│ │ ├─services #服务类相关的类和接口
│ │ │ │
│ │ │ ├─common #通用服务类
│ │ │ │ │
│ │ │ │ └─imp
│ │ │ │
│ │ │ ├─monitor #监控服务类
│ │ │ │
│ │ │ ├─mqtt #MQTT类
│ │ │ │
│ │ │ ├─task #任务相关类
│ │ │ │
│ │ │ └─timer #定时器相关类
│ │ │
│ │ └─utils #工具类
│ │
│ └─resources
│ application.properties
│ logback-spring.xml
│
│
│
└─water-web-app #项目中的一个模块,主启动模块
│ pom.xml #项目的元数据信息、依赖管理、构建插件配置等
│ water-web-app.iml #项目的配置和结构信息,IDE自动生成和维护
│
├─src
│ ├─main
│ │ ├─java
│ │ │ └─water
│ │ │ └─handle
│ │ │ │
│ │ │ └─core
│ │ │ ├─config #项目的配置类,如数据库连接配置、Spring 配置等
│ │ │ └─handler #目中定义的处理器、拦截器或者其他业务逻辑的处理类
│ │ │
│ │ └─resources
│ └─test #测试相关的代码,包括单元测试、集成测试等
│
└─target #Maven 构建时生成的输出目录,包括编译后的 class 文件、打包后的 jar 包
三、模块划分
1.平台首页
前端平台首页面路径:src/views/auth/homePage.vue
2.登录模块
前端登录页面路径:src/views/auth/login/
│ ├─login
│ │ callback.vue #第三方登录回调
│ │ login.vue #账号密码登录
│ │ phoneLoginForm.vue #手机号码登录
│ │ privacyPolicy.vue #隐私政策说明
│ │ threeLogin.vue #网站的第三方登录,
展示第三方登录的按钮,
包括了Gitee和微信登录两个按钮
点击不同的按钮会触发对应的第三方登录请求,并跳转到第三方平台的授权页面进行登录操作
后端登录路径:src/main/java/water/handle/auth/modular/login/controller/
/**
* C端登录控制器
*
**/
public class AuthClientController
/**
* B端登录控制器
*
**/
public class AuthController
登录请求网址:https://favfamid.com/api/
后端登录接口:
/**
* C端获取图片验证码
*
**/
@GetMapping("/auth/c/getPicCaptcha")
/**
* C端获取手机验证码
*
**/
@GetMapping("/auth/c/getPhoneValidCode")
/**
* C端账号密码登录
*
**/
@PostMapping("/auth/c/doLogin")
/**
* C端手机验证码登录
*
**/
@PostMapping("/auth/c/doLoginByPhone")
/**
* C端退出
*
**/
@GetMapping("/auth/c/doLogout")
public CommonResult<String> doLogout() {
/**
* C端获取用户信息
*
**/
@GetMapping("/auth/c/getLoginUser")
3.系统模块
(1)系统首页
前端系统首页面路径:src/views/index/index.vue
后端系统首页控制器路径:src/main/java/water/handle/sys/modular/index/controller/
后端系统首页控制器接口:
/**
* 系统首页控制器
*
*/
public class SysIndexController {
/**
* 添加当前用户日程
*
*/
@PostMapping("/sys/index/schedule/add")
/**
* 删除日程
*
*/
@PostMapping("/sys/index/schedule/deleteSchedule")
/**
* 获取当前用户日程列表
*
*/
@GetMapping("/sys/index/schedule/list")
/**
* 获取当前用户站内信列表
*
*/
@GetMapping("/sys/index/message/list")
/**
* 获取站内信详情
*
*/
@GetMapping("/sys/index/message/detail")
/**
* 获取当前用户访问日志列表
*
*/
@GetMapping("/sys/index/visLog/list")
/**
* 获取当前用户操作日志列表
*
*/
@GetMapping("/sys/index/opLog/list")
}
(2)组织架构
-
机构管理
前端机构管理页面路径:
后端系机构管理控制器路径:
后端机构管理控制器接口:
-
岗位管理
前端岗位管理路径:
后端岗位管理控制器路径:
后端岗位管理控制器接口:
-
人员管理
前端人员管理面路径:
后端人员管理控制器路径:
后端人员管理控制器接口:
(3)权限管控
①角色管理
前端角色管理页面路径:
后端系角色管理控制器路径:
后端角色管理控制器接口:
(4)基础工具
①邮件推送
前端邮件推送页面路径:
后端系邮件推送控制器路径:
后端邮件推送控制器接口:
②短信发送
前端短信发送页面路径:
后端短信发送控制器路径:
后端短信发送控制器接口:
③站内信息
前端站内信息页面路径:
后端站内信息控制器路径:
后端站内信息控制器接口:
4.业务模块
(1)能源监测
①设备监测
前端设备监测页面路径:
后端设备监测控制器路径:
后端设备监测控制器接口:
②计量点数据
前端计量点数据页面路径:
后端计量点数据控制器路径:
后端计量点数据控制器接口:
③历史数据
前端历史数据页面路径:
后端历史数据控制器路径:
后端历史数据控制器接口:
④告警记录
前端告警记录页面路径:
后端告警记录控制器路径:
后端告警记录控制器接口:
⑤子系统管理
前端子系统管理页面路径:
后端子系统管理控制器路径:
后端子系统管理控制器接口:
⑥计量点管理
前端计量点管理页面路径:
后端计量点管理控制器路径:
后端计量点管理控制器接口:
⑦操控记录
前端操控记录页面路径:
后端操控记录控制器路径:
后端操控记录控制器接口:
⑧监测绘图绘制
前端监测绘图绘制页面路径:
后端监测绘图绘制控制器路径:
后端监测绘图绘制控制器接口:
⑨告警配置
前端告警配置页面路径:
后端告警配置控制器路径:
后端告警配置控制器接口:
(2)公司架构
①机构管理
前端机构管理页面路径:
后端机构管理控制器路径:
后端机构管理控制器接口:
②岗位管理
前端岗位管理页面路径:
后端岗位管理控制器路径:
后端岗位管理控制器接口:
③人员管理
前端人员管理页面路径:
后端人员管理控制器路径:
后端人员管理控制器接口:
(3)企业管理
①企业资料
前端企业资料页面路径:
后端企业资料控制器路径:
后端企业资料控制器接口:
②添加操作员
前端添加操作员页面路径:
后端添加操作员控制器路径:
后端站添加操作员控制器接口:
③账户信息
前端账户信息页面路径:
后端账户信息控制器路径:
后端账户信息控制器接口:
④蒸汽月度确认
前端蒸汽月度确认页面路径:
后端蒸汽月度确认控制器路径:
后端蒸汽月度确认控制器接口:
⑤电能月度确认
前端电能月度确认页面路径:
后端电能月度确认控制器路径:
后端电能月度确认控制器接口:
⑥系统告警记录
前端系统告警记录页面路径:
后端系统告警记录控制器路径:
后端系统告警记录控制器接口:
⑦签约合同
前端签约合同页面路径:
后端签约合同控制器路径:
后端签约合同控制器接口:
⑧凭证上传
前端凭证上传页面路径:
后端凭证上传控制器路径:
后端凭证上传控制器接口:
⑨客户端设备
前端客户端设备页面路径:
后端客户端设备控制器路径:
后端客户端设备控制器接口:
⑩数据中心
前端数据中心页面路径:
后端数据中心控制器路径:
后端数据中心控制器接口:
(4)系统运维
①设备管理
-
设备列表
前端设备列表页面路径:
后端设备列表控制器路径:
后端设备列表控制器接口:
-
操作记录
前端操作记录页面路径:
后端操作记录控制器路径:
后端操作记录控制器接口:
-
客户端设备
前端客户端设备页面路径:
后端客户端设备控制器路径:
后端客户端设备控制器接口:
②接管和排放标准
前端接管和排放标准页面路径:
后端接管和排放标准控制器路径:
后端接管和排放标准控制器接口:
③水质采样
前端水质采样页面路径:
后端水质采样控制器路径:
后端水质采样控制器接口:
④水抄表记录
前端水抄表记录页面路径:
后端水抄表记录控制器路径:
后端水抄表记录控制器接口:
⑤电能抄表记录
前端电能抄表记录页面路径:
后端电能抄表记录控制器路径:
后端电能抄表记录控制器接口:
⑥蒸汽抄表记录
前端蒸汽抄表记录页面路径:
后端蒸汽抄表记录控制器路径:
后端蒸汽抄表记录控制器接口:
⑦巡检
前端巡检页面路径:
后端巡检控制器路径:
后端巡检控制器接口:
⑧故障处理
前端故障处理页面路径:
后端故障处理控制器路径:
后端故障处理控制器接口:
⑨数据采集
前端数据采集页面路径:
后端数据采集控制器路径:
后端数据采集控制器接口:
⑩网关管理
-
网关配置
前端网关配置页面路径:
后端网关配置控制器路径:
后端网关配置控制器接口:
-
网关数据
前端网关数据页面路径:
后端网关数据控制器路径:
后端网关数据控制器接口:
(5)运营管理
①企业账户
-
账户信息
前端账户信息页面路径:
后端账户信息控制器路径:
后端账户信息控制器接口:
-
缴费凭证
前端缴费凭证页面路径:
后端缴费凭证控制器路径:
后端缴费凭证控制器接口:
-
退款记录
前端退款记录页面路径:
后端退款记录控制器路径:
后端退款记录控制器接口:
-
信用额度
前端信用额度页面路径:
后端信用额度控制器路径:
后端信用额度控制器接口:
-
交易记录
前端交易记录页面路径:
后端交易记录控制器路径:
后端交易记录控制器接口:
②数据中心
-
单位用量
前端单位用量页面路径:
后端单位用量控制器路径:
后端单位用量控制器接口:
-
水月度结算
前端水月度结算页面路径:
后端水月度结算控制器路径:
后端水月度结算控制器接口:
-
蒸汽月度结算
前端蒸汽月度结算页面路径:
后端蒸汽月度结算控制器路径:
后端蒸汽月度结算控制器接口:
-
电能月度结算
前端电能月度结算页面路径:
后端电能月度结算控制器路径:
后端电能月度结算控制器接口:
-
水用量曲线
前端水用量曲线页面路径:
后端水用量曲线控制器路径:
后端水用量曲线控制器接口:
-
电能用量曲线
前端电能用量曲线页面路径:
后端电能用量曲线控制器路径:
后端电能用量曲线控制器接口:
-
水数据导出
前端水数据导出页面路径:
后端水数据导出控制器路径:
后端水数据导出控制器接口:
③单位统计分析
前端单位统计分析页面路径:
后端单位统计分析控制器路径:
后端单位统计分析控制器接口:
④企业面板
-
计量点数据
前端计量点数据页面路径:
后端计量点数据控制器路径:
后端计量点数据控制器接口:
-
告警管理
前端告警管理页面路径:
后端告警管理控制器路径:
后端告警管理控制器接口:
-
告警管理
前端告警管理页面路径:
后端告警管理控制器路径:
后端告警管理控制器接口:
-
告警管理
前端告警管理页面路径:
后端告警管理控制器路径:
后端告警管理控制器接口:
⑤单位管理
-
前端单位管理页面路径:
后端单位管理控制器路径:
后端单位管理控制器接口:
⑥签署合约
-
前端签署合约页面路径:
后端签署合约控制器路径:
后端签署合约控制器接口:
⑦核对缴费
-
前端核对缴费页面路径:
后端核对缴费控制器路径:
后端核对缴费控制器接口:
⑧设备记录
-
前端设备记录页面路径:
后端设备记录控制器路径:
后端设备记录控制器接口:
⑨管线配置
-
前端管线配置页面路径:
后端管线配置控制器路径:
后端管线配置控制器接口:
⑩系统参数
-
消息通知
前端消息通知页面路径:
后端消息通知控制器路径:
后端消息通知控制器接口:
-
告警级别配置
前端告警级别配置页面路径:
后端告警级别配置控制器路径:
后端告警级别配置控制器接口:
-
流程设计
前端流程设计页面路径:
后端流程设计控制器路径:
后端流程设计控制器接口:
⑪意见反馈
-
前端意见反馈页面路径:
后端意见反馈控制器路径:
后端意见反馈控制器接口:
(6)在线办公
①已发申请
前端已发申请页面路径:
后端已发申请控制器路径:
后端已发申请控制器接口:
②待办事宜
前端待办事宜页面路径:
后端待办事宜控制器路径:
后端待办事宜控制器接口:
③已办事宜
前端已办事宜页面路径:
后端已办事宜控制器路径:
后端已办事宜控制器接口:
④已结束申请
前端已结束申请页面路径:
后端已结束申请控制器路径:
后端已结束申请控制器接口:
四、开发规范
1.命名规范
-
类名:使用大驼峰命名法,如UserDao。
-
方法名:使用小驼峰命名法,如getUserById()。
-
变量名:使用小驼峰命名法,如userName。
-
常量名:使用全大写字母和下划线命名,如USER_NAME。
2.代码格式
-
缩进:使用4个空格进行缩进。
-
行宽:每行代码不超过80个字符。
-
大括号:左大括号单独占一行,右大括号与下一行代码对齐。
-
注释:注释清晰、准确、简洁,避免使用废话、口胡等内容。
3.版本控制
-
使用Git进行版本控制。
-
每个功能需开一个分支,由组长审核后合并到master分支。
-
提交代码时,需添加有意义的commit message。
五、部署流程
1.环境要求
前端开发环境:Node.js(版本16.17.1)
后端开发环境:Java环境(JDK1.8)
数据库:阿里云的PolorDB(版本5.7.1.0.24)
采集服务器:MQTT服务(版本5.0)
注册中心:zookeerer(版本8)
2.部署流程
-
克隆代码仓库:git clone https://github.com/example/project.git
-
修改配置文件:将application.properties中的数据库、缓存、服务注册等配置项修改为实际的值。
-
构建打包:mvn clean package
-
启动应用:java -jar target/project-1.0.0.jar
六、问题解决
1.数据库连接异常
-
问题描述:在启动应用时,提示无法连接数据库。
-
解决方法:检查application.properties中的数据库配置是否正确,检查MySQL服务是否正常启动。
2.Redis缓存失效
-
问题描述:在使用Redis缓存时,发现缓存经常失效。
-
解决方法:检查Redis配置是否正确,检查缓存Key的设计是否合理,检查缓存过期时间设置是否正确。
七、参考资料
-
Spring Boot官方文档:Spring Boot
-
MyBatis Plus官方文档:MyBatis-Plus
-
Redis官方文档:https://redis.io/docs/
-
ZooKeeper官方文档:ZooKeeper: Because Coordinating Distributed Systems is a Zoo
-
Dubbo 的官方文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html
-
Node.js 官方文档:https://nodejs.org/zh-cn/docs/
-
Vue.js 的官方文档:Vue.js - The Progressive JavaScript Framework | Vue.js
-
Ant Design Vue 官方文档:Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js