网络泵使用NB接入业务平台

lifang 84e71245fc Merge branch 'dev' of lifang/NB_NetPump into master 3 years ago
doc 4e82ecd466 fix 低电量报警改为电量耗尽 3 years ago
nb-admin c437776fe2 update 更新saToken版本 3 years ago
nb-auth 0156a2a910 update 更新saToken版本 3 years ago
nb-common 0156a2a910 update 更新saToken版本 3 years ago
nb-core 5f35f69da0 update 手机号校验 3 years ago
nb-im 741203f4c5 update 默认权限体系 3 years ago
nb-oss d3cb2402c5 fix 低电量报警改为电量耗尽 3 years ago
nb-service 73cbb358d6 update 3 years ago
nb-service-api fae6becbc4 add 24小时未评提醒 3 years ago
.gitignore 6157099f6e fix 添加.gitignore文件 3 years ago
LICENSE 97ec623517 init 仓库文件初始化 3 years ago
README.md f2d524bddd fix 低电量报警改为电量耗尽 3 years ago
code996.sh 530e42d081 update coffee项目改为nb项目 3 years ago
pom.xml 0156a2a910 update 更新saToken版本 3 years ago

README.md

nb-netpump

Downloads Build Status Build Status

简介

n该项目是基于VUE3.x、SpringBoot2.x、Sa-Token、MyBatis-Plus、Redssion等技术实现帮助医患沟通、远程监控设备、辅助医生诊断的中央监护管理系统。

特性

  • WEB容器使用了undertow,相较于tomcat,并发性更好,性能要好一些。
  • Lombok,消除冗长的java代码,更加简化。
  • Mybatis Plus,可以简化CRUD开发。
  • Mybatis Plus Generator,生成前后端代码,简化开发工作量。
  • 使用java新特性,Stream API、lambda表达式等。
  • Hutool工具集合,减少项目工具类的编写。
  • Sa-Token权限认证框架,细分到页面按钮级别。
  • EasyExcel,方便导入导出功能,自定义Convert类,实现了数据字典的转化。
  • Guava,非常方便的java工具集,提供了类似Lists.newArrayList()和Sets.newHashSet()等静态方法。
  • DataSource注解,支持多数据源切换。
  • Fastjson,方便了JSON的格式化和解析。
  • Alibaba Java Coding Guidelines插件,IDEA插件,提高代码质量。
  • MinIO,分布式文件存储。
  • Redssion 分布式锁、延迟队列
  • 前端框架采用最新技术栈,Vue3 & Vite,打包更快更轻。
  • 前端框架采用TypeScript和Eslint,规范代码,提高项目可持续性和可维护性。

预览

项目地址

项目结构

nb-root
├── nb-admin        -- 项目启动地址
├── nb-auth         -- 权限模块
├── nb-common       -- 通用模块
    ├── config-common      -- 通用配置模块,web配置、redis配置、mybatis配置等 
    ├── crud-common        -- 单表查询通用配置模块 
    ├── delay-queue-common -- 延迟队列模块,使用redisson延迟队列功能
    ├── log-common         -- 日志模块
    ├── ws-common          -- websocket模块,根据主题实现订阅发布功能
├── nb-core         -- 内置功能,核心模块
├── nb-oss          -- 文件存储模块
├── nb-service      -- 服务实现模块
    ├── iot-service         -- 物联网设备对接模块
    ├── web-service         -- web端后台管理模块
├── nb-service-api  -- 服务api模块

核心依赖

依赖 版本
Spring Boot 2.5.8
Sa Token 1.29.0
Mybatis Plus 3.5.1
Mybatis Plus Generator 3.4.1
Hutool 5.7.21
Guava 30.1.1-jre
EasyExcel 3.0.5
Fastjson 1.2.79
Minio 8.3.7
Redssion 3.17.0

内置功能

1、输注信息
2、统计查询
3、信息维护
4、系统监控
5、系统管理

环境安装

1、安装Mysql数据库,安装Redis,安装MinIO文件存储。
2、执行./doc/db/schema.sql,创建数据库。
3、执行./doc/db/coffee.sql,创建数据表和插入基础数据。

Docker常用命令

1、查看镜像
docker images

2、查看所有容器
docker ps -a

3、拉取镜像
docker pull redis:latest

4、参数解释
--name,设置运行的镜像名称
-p,映射端口,虚拟机端口:docker端口
-e,设置环境变量
-v,挂载目录/文件,虚拟机目录/文件:docker目录/文件
--privileged=true,设置特权,比如为mysql获取root权限
-d,守护进程后台运行
-it,启动并运行
--restart=always,在docker服务重启后,自动重启mysql服务,也可以把docker服务作为开机启动,这样mysql就可以跟着开机启动了
--link,设置容器别名

Docker安装Redis

1、拉取镜像
docker pull redis:latest

2、启动并运行
docker run -itd --name redis -p 6379:6379 redis

Docker安装Mysql

1、拉取镜像
docker pull mysql:5.7

2、创建目录并授权
mkdir -p /opt/docker/mysql/data /opt/docker/mysql/conf
chmod -R 777 /opt/docker

3、创建配置文件并授权
touch /opt/docker/mysql/conf/my.cnf
vi /opt/docker/mysql/conf/my.cnf
chmod 777 /opt/docker/mysql/conf/my.cnf
my.cnf内容如下:
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1

4、启动并运行
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --privileged=true -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/logs:/var/log/mysql mysql:5.7

Docker安装MinIO

1、拉取镜像
docker pull minio/minio

2、创建目录并授权
mkdir -p /opt/docker/minio/data
chmod -R 777 /opt/docker

3、启动并运行
docker run -d -p 9000:9000 -p 9001:9001 --name=minio -v /opt/docker/minio/data:/data quay.io/minio/minio server /data/data-{1...4} --console-address ":9001" --address ":9000"

MinIO文件存储

部署

一、打包命令:指定prod环境,进行打包
    mvn clean package -DskipTests -Pprod
二、启动
    1、Windows环境,运行./doc/bin/run.bat
    2、Linux环境,运行./doc/bin/linux/startup.sh
三、注意事项
    1、Linux执行脚本,需要先授权,chmod +x startup.sh
    2、run.bat或startup.sh,需要和coffee-admin.jar放在同一个目录运行
    3、指定端口,需要修改脚本,并添加server.port参数,示例:--server.port=9090
四、服务器部署目录结构
    /opt
    ├── coffee
    ├──── coffee-ui
    ├──── coffee-boot
    ├────── startup.sh
    ├────── coffee-admin.jar