目录
项目名称——惠誉灵境
一、项目背景
二、架构设计
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