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

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

项目地址: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测试功能):

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

统计报表功能:


导出功能:

相关推荐
华仔啊14 分钟前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
武子康1 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
砍材农夫2 小时前
TCP和UDP区别
后端
千寻girling2 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
千寻girling2 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
贾铭2 小时前
如何实现一个网页版的剪映(三)使用fabric.js绘制时间轴
前端·后端
xiaoye20182 小时前
Spring 自定义 Redis 超时:TTL、TTI 与 Pipeline 实战
后端
程序员爱钓鱼5 小时前
GoHTML解析利器:github.com/PuerkitoBio/goquery实战指南
后端·google·go
golang学习记5 小时前
从“大泥球“到模块化单体:Spring Modulith + IntelliJ IDEA 拯救你的代码
后端·intellij idea
颜酱6 小时前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法