项目开发维护技术文档(梳理总结中)
目录
项目名称——惠誉灵境
一、项目背景
二、架构设计
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
相关文章:
项目开发维护技术文档(梳理总结中)
目录 项目名称——惠誉灵境 一、项目背景 二、架构设计 1.技术栈 2.架构图 3.代码结构 三、模块划分 1.平台首页 2.登录模块 3.系统模块 (1)系统首页 (2)组织架构 (3)权限管控 ①角色管理 (4&am…...
【接口测试】Apifox实用技巧干货分享
前言 不知道有多少人和我有着这样相似的经历:从写程序只要不报错就不测试😊,到写了程序若是有bug就debug甚至写单元测试,然后到了真实开发场景,大哥和你说,你负责的功能模块的所有接口写完要测试一遍无误在…...
车联网架构设计(一)_消息平台的搭建
车联网是物联网的一个主要应用方向,车辆通过连接车联网平台,实时进行消息的交互,平台可以提供车辆远程控制,故障检测,车路协同等各方面的功能。 我在车联网行业从事了很长时间的技术工作,参与了整个车联网…...
(蓝桥杯)1125 第 4 场算法双周赛题解+AC代码(c++/java)
题目一:验题人的生日【算法赛】 验题人的生日【算法赛】 - 蓝桥云课 (lanqiao.cn) 思路: 1.又是偶数,又是质数,那么只有2喽 AC_Code:C #include <iostream> using namespace std; int main() {cout<<2;return 0; …...
也可Adobe Animate
Animate CC 由原Adobe Flash Professional CC 更名得来,2015年12月2日:Adobe 宣布Flash Professional更名为Animate CC,在支持Flash SWF文件的基础上,加入了对HTML5的支持。并在2016年1月份发布新版本的时候,正式更名为…...
【面试HOT200】回溯篇
系列综述: 💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于【CodeTopHot300】进行的,每个知识点的修正和深入主要参…...
JVM——内存溢出和内存泄漏
目录 1. 内存溢出和内存泄漏内存泄漏的常见场景解决内存溢出的思路1.发现问题 – Top命令2.发现问题 – VisualVM3.发现问题 – Arthas4.发现问题 – Prometheus Grafana5.发现问题 – 堆内存状况的对比:将指定名称绑定到初始化程序的子对象或元素。简而言之,它们使我们能够从元组或结构中声明多个变量。与引用一样,结构化绑定是现有对象的别名;与引用不同,结构化绑定不必是引用类型(referen…...
Mover Creator 用户界面
1 “开始”对话框 首次打开 Mover Creator 时,出现的第一个页面是“开始”对话框,如下所示。从这里开始,用户可以选择开始设计飞机、武器或发动机。在上述每种情况下,用户都可以创建新模型或编辑现有模型。 1.1 新建模型 如果用…...
『Nginx安全访问控制』利用Nginx实现账号密码认证登录的最佳实践
📣读完这篇文章里你能收获到 如何创建用户账号和密码文件,并生成加密密码配置Nginx的认证模块,实现基于账号密码的登录验证 文章目录 一、创建账号密码文件1. 安装htpasswd工具1.1 CentOS1.2 Ubuntu 二、配置Nginx三、重启Nginx 在Web应用程…...
MongoDB导入导出命令
(1)mongoexport命令 例如: mongoexport --db testdb --collection person --out person.json mongoexport --db testdb --collection person --fields name,age --out person.json mongoexport --db testdb --collection person --query {&qu…...
软件工程期末复习(1)
学习资料 软件工程知识点总结_嘤桃子的博客-CSDN博客 软件工程学习笔记_软件工程导论第六版张海藩pdf-CSDN博客 【软件工程】软件工程期末试卷习题课讲解!!_哔哩哔哩_bilibili 【拯救者】软件工程速成(期末考研复试软考)均适用. 支持4K_哔哩哔哩_bil…...
nextjs入门
创建项目 npx create-next-app 项目名 体验文件路由 nextjs提供了文件路由的功能, 根据文件系统的目录结构, 可以识别为对应的页面路由 创建页面 首先, 在src下创建pages目录, 然后创建一个about文件(对应about页面)和main/index.js文件(对应首页) pages/main/index con…...
【C语言】字符串函数strlen #strcpy #strcmp #strcat #strstr及其模拟实现
在C语言中,有一种特殊的数据类型,即字符串类型。C 并没有专门定义一个字符串类型,这对我们使用字符串造成了一定的麻烦。但是,C标准库<string.h> 中定义了各种字符串函数,这对于我们来说是一件值得庆幸的事情。…...
递归实现组合型枚举
递归实现组合型枚举 #include<iostream> #include<vector>int n, m; std::vector<int>res; bool st[30];void Print() {for(int i0;i<res.size();i){printf("%d ",res[i]);}puts(""); }void dfs(int num) {if (res.size() m){Print(…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
