项目开发维护技术文档(总结梳理)

目录

一、项目背景

二、架构设计

1.技术栈

2.架构图

3.代码结构

三、模块划分

1.用户模块

2.商品模块

四、开发规范

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.用户模块

该模块负责处理用户相关的业务,包括注册、登录、个人信息管理等功能。

  • 注册接口:/user/register

  • 登录接口:/user/login

  • 个人信息接口:/user/info

2.商品模块

该模块负责处理商品相关的业务,包括商品展示、下单、支付、配送等功能。

  • 商品列表接口:/product/list

  • 商品详情接口:/product/detail

  • 下单接口:/order/add

  • 支付接口:/order/pay

  • 配送接口:/order/delivery

四、开发规范

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.部署流程

  1. 克隆代码仓库:git clone https://github.com/example/project.git

  2. 修改配置文件:将application.properties中的数据库、缓存、服务注册等配置项修改为实际的值。

  3. 构建打包:mvn clean package

  4. 启动应用: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官方文档:Spring Boot

  • 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

你可能感兴趣的:(spring,java,后端)