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

目录

一、项目背景

二、架构设计

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/192026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同旺科技 USB TO SPI / I2C --- 调试W5500

所需设备: 内附链接 1、USB转SPI_I2C适配器(专业版); 首先,连接W5500模块与同旺科技USB TO SPI / I2C适配器,如下图: 读取重试时间值寄存器,默认值0x07D0 输出结果与默认值一致,芯片基本功能已经调通&am…

go自定义端口监听停用-------解决端口被占用的问题

代码 package mainimport ("fmt""log""net""os/exec""strconv""strings" )func getSelect(beign int, end int) int {var num intfor {_, err : fmt.Scan(&num)if err ! nil {fmt.Println("输入错误&am…

2、RocketMQ源码分析(二)

RocketMQ的底层通信模块remoting remoting是RocketMQ的底层通信模块,RocketMQ底层通讯是使用Netty来实现的。本文通过对remoting源码进行分析,来说明remoting如何实现高性能通信的。 二、Remoting 通信模块结构 remoting 的网络通信是基于 Netty 实现&…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《市场环境下运行的光热电站子系统容量优化配比研究》

这个标题涉及到对市场环境下运行的光热电站子系统进行容量优化配比的研究。让我们逐步解读: 市场环境下运行的光热电站: 这指的是光热电站在实际市场环境中的运行,可能包括了市场相关的经济、政策、竞争等因素。 子系统: 光热电站…

十六进制数列求和

高精度数组的集大成 做的时候在和高中同学叙叙旧&#xff0c;差点寄掉 代码如下&#xff1a; #include<stdio.h> void expand(int len); const char hexadecimal[17] "0123456789ABCDEF"; int result[20], mid[20], l_result[100];int main(void) {char tm…

你好!二分查找【JAVA】

1.初次相识 二分查找又称折半查找&#xff0c;是一种在有序数组中查找特定元素的算法。二分查找的基本思想是&#xff1a;通过不断地二分数组的中间元素&#xff0c;缩小查找区间&#xff0c;直到找到目标元素或者确定目标元素不存在为止。 二分查找的时间复杂度为O(logn)&…

docker配置redis主从、哨兵集群

搭建redis主从 准备工作 在/usr/local/software/redis/文件夹下建立如下的文件夹、文件 rootlocalhost redis]# mkdir -p 6379/conf 6379/data 6379/log [rootlocalhost redis]# mkdir -p 6380/conf 6380/data 6380/log [rootlocalhost redis]# mkdir -p 6381/conf 6381/…

Kubernetes集群部署—部署Worker节点(四)

文章目录 1、创建工作目录并拷贝二进制文件2 部署kubelet &#xff08;master节点操作&#xff09;2.1 创建配置文件2.2 配置参数文件2.3 生成bootstrap.kubeconfig文件2.4 systemd管理kubelet2.5 启动并设置开机启动 3 批准kubelet证书申请并加入集群4 部署kube-proxy &#x…

如何创建一个vue工程

1.打开vue安装网址&#xff1a;安装 | Vue CLI (vuejs.org) 2.创建一个项目文件夹 3.复制地址 4.打开cmd&#xff0c;进入这个地址 5.复制粘贴vue网页的安装命令 npm install -g vue/cli 6.创建vue工程 vue create vue这里可以通过上下键来进行选择。选最后一个选项按回车。 …

根文件系统构建-编译busybox

一. 简介 本文对 busybox进行编译。 本文继上一篇busybox配置&#xff0c;地址如下&#xff1a; 根文件系统构建-对busybox进行配置-CSDN博客 二. 根文件系统构建-编译busybox源码 1. 修改 Makefile&#xff0c;添加编译器 同 Uboot 和 Linux 移植一样&#xff0c;打开…

制作一个RISC-V的操作系统-环境搭建

文章目录 前言环境搭配 前言 由于之前的操作系统反馈难度太大&#xff0c;所以准备从这个RISC-V操作系统出发&#xff0c;以后知识层面更加深入再去完善。 环境搭配 按照依赖项 $ sudo apt update $ sudo apt install build-essential gcc make perl dkms git gcc-riscv64-…

装箱 Box 数据类型

装箱是最简单直接的一种智能指针&#xff0c;它的类型是Box<T>。装箱使我们可以把数据存储到堆上&#xff0c;并在栈上保留一个指向堆数据的指针。装箱操作常常被用于下面的场景&#xff1a; 当你拥有一个无法在编译时确定大小的类型&#xff0c;但又想使用这个类型的值…

决策 Diffie-Hellman DDH 和 CDH

密码学中的 Diffie-Hellman 问题有几种变体&#xff1a;计算问题 (CDH) 和决策问题 (DDH)。这篇文章将解释两者&#xff0c;并举例说明前者如何困难而后者如何简单。 迪菲-赫尔曼问题 Diffie-Hellman 问题是针对阿贝尔群制定的。我们想到的主要群是非零整数以大素数 p为模的乘…

WordPress(安装比子主题文件)zibll-7.5.1

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、新建网站二、配置ssl三.配置伪静态四.上传文件五.添加本地访问前言 提示:这里可以添加本文要记录的大概内容: 首先,我们要先理解什么是授权原理。 原理就是我们大家运营网站,点击授权…

三轴加速度计LIS2DW12开发(2)----基于中断信号获取加速度数据

三轴加速度计LIS2DW12开发.2--轮基于中断信号获取加速度数据 概述视频教学样品申请生成STM32CUBEMX串口配置IIC配置CS和SA0设置INT1设置串口重定向参考程序初始换管脚获取ID复位操作BDU设置开启INT1中断设置传感器的量程配置过滤器链配置电源模式设置输出数据速率中断判断加速…

Android framework定制1-->用户无操作一段时间,自动播放客户提供的视频,用户操作后退出播放

在PowerManagerService.java中监听用户操作&#xff0c;10秒无操作则打开预置的apk播放视频&#xff0c;直接上代码&#xff1a; --- a/frameworks/base/services/core/java/com/android/server/power/PowerManagerService.javab/frameworks/base/services/core/java/com/andr…

Mac卸载、安装Python

卸载 说明 对于删除 Python&#xff0c;我们首先要知道其具体都安装了什么&#xff0c;实际上&#xff0c;在安装 Python 时&#xff0c;其自动生成&#xff1a; Python framework&#xff0c;即 Python 框架&#xff1b;Python 应用目录&#xff1b;指向 Python 的连接。 …

网络冗余保护技术的研究与实现

摘要 .现在网络服务的安全性和可靠性变的越来越重要,如果网络中的网关设备出现问题,将会导致网络不能提供正常的服务。本文利用集群技术一一虚拟路由冗余协议(virtualRouterRedundaneyprotoeol,简称VRRP)来实现网关的高可用性,使得在一台网关设备宕机时,另外一个备份网关会及时…

mazing是什么软件?为什么选择iMazing

说起iOS设备管理工具&#xff0c;可能大家还有点陌生&#xff0c;其实就是Apple公司开发的移动设备&#xff0c;因其的操作系统是独特的iOS系统&#xff0c;所以又叫iOS设备。比如大家都在用的iPhone手机&#xff0c;就是这样类型的一个设备。 mazing是什么软件? iMazing是一…

【Linux】Ubuntu添加root用户

在Ubuntu中&#xff0c;默认情况下是禁用了root用户的登录。如果仍然想要启用root用户&#xff0c;并设置root用户的密码&#xff0c;应按照以下步骤进行操作&#xff1a; 一、输入sudo passwd root设置root用户密码 二、切换root用户 sudo -i su root 这两条命令均可却换至…