分布式项目___某污水处理项目

一.分布式项目___污水处理项目

项目地址:https://gitee.com/yanyigege/collaborative-water-springboot.git

​ 1.项目背景

总公司在全国各地有处理污水的项目部,各项目部处理自己的污水,总部需要监控各地分项目部每天处理污水的原料用量,掌握各分部的污水处理情况

​ 2.功能需求(这里只做部分主要功能,具体项目过大,这里主要展示后端实现)

①:能够将给定的excel表格的数据导入到对应的数据库中

②:能够将数据库的内容统计并得出报表,得到某项目部某星期的各种数据

③:能够将某项目部xx年xx月xx日到xx年xx月xx日的数据导出为excel,方便抽查分部的日利润,重要工作汇报和大额费用支出

④:能够实现报警功能,在数据库中的数据发生异常(如某分部某个过程中某原料含量超标,这里是调节池COD含量前后两天差值>500)后,向管理者的邮箱(这里用qq邮箱)发送警告,管理者的手机发送短信警告,并且在项目部群中@全体成员发送警告

⑤:实现站内信功能(使用前端定时器每5秒刷新一次)

​ 3.如何实现

​ 导入与导出用到了easyExcel(可以使用easy-poi),统计报表用到了Echarts,报警上使用定时器,定时扫描数据库中是否有异常数据,在有异常时,采用消息队列(rabbitMq)发送警告,同时使用redis避免同一警告重复报警

​ 4.环境搭建

​ 项目环境:jdk:1.8

​ mysql:8.0.37(8.x版本)

​ nacos:2.4.3(集中管理服务配置,注册服务信息)

​ centos7:在虚拟机运行rabbitMq消息队列

​ redis:3.2.100(因做演示,redis在本地运行)

​ 5.具体实现

​ 导入功能(因做演示,不演示前端页面,使用postman测试功能):

报警功能(采用消息队列+定时器):

统计报表功能:


导出功能:

相关推荐
不倒翁玩偶24 分钟前
IDEA导入新的SpringBoot项目没有启动按钮
java·spring boot·intellij-idea
程序猿阿伟32 分钟前
《分布式追踪Span-业务标识融合:端到端业务可观测手册》
分布式
苏三说技术41 分钟前
xxl-job 和 elastic-job,哪个更好?
后端
三小河1 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
三小河1 小时前
前端视角详解 Agent Skill
前端·javascript·后端
牛奔1 小时前
Go 是如何做抢占式调度的?
开发语言·后端·golang
颜酱1 小时前
二叉树遍历思维实战
javascript·后端·算法
爱装代码的小瓶子2 小时前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
曾经的三心草2 小时前
redis-9-集群
java·redis·mybatis
程序员良许2 小时前
嵌入式处理器架构
后端·单片机·嵌入式