###主要特性
- 高效率开发,代码生成器可一键生成前后端代码
- 支持数据字典,可方便地对一些状态进行管理
- 支持接口级别的功能权限与数据权限,可自定义操作
- 自定义权限注解与匿名接口注解,可快速对接口拦截与放行
- 前后端统一异常拦截处理,统一输出异常,避免繁琐的判断

### 系统功能
- 用户管理:提供用户的相关配置
- 角色管理:对权限与菜单进行分配
- 菜单管理:已实现菜单动态路由
- 职位管理:配置各个部门的职位
- 字典管理:可维护常用一些固定的数据,如:状态,性别等
- 系统日志:记录用户操作日志与异常日志,方便开发人员定位排错
- 定时任务:整合Quartz做定时任务,加入任务日志,任务运行情况一目了然
- 代码生成:高灵活度生成前后端代码,减少大量重复的工作任务

### 项目结构
项目采用按功能分模块的开发方式,结构如下

- `auto-poi` 提供Excel导入导出服务

- `base-common` 提供常用基础类抽象与封装

- `module-system` 核心业务代码

### 部署
#### 1. 编写启动配置文件
CentOS 7 主服务器配置文件: /home/monitor/gas-monitor.service
```
[Unit]
Description=Gas Monitor
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/home/monitor
ExecStart=/usr/bin/java -jar /home/monitor/monitor.jar --spring.profiles.active=prod
Restart=always

[Install]
WantedBy=multi-user.target
```

CentOS 7 备用服务器配置文件: /home/monitor/gas-monitor.service
```
[Unit]
Description=Gas Monitor
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/home/monitor
ExecStart=/usr/bin/java -jar /home/monitor/monitor.jar --spring.profiles.active=prodb
Restart=always

[Install]
WantedBy=multi-user.target
```

#### 2. 配置开机自启动
```
sudo systemctl enable /home/monitor/gas-monitor.service
```

#### 3. 启动服务器
```
sudo systemctl start gas-monitor
```

#### 4. 其它常用命令
```
# 重启
sudo systemctl restart gas-monitor

# 停止服务
sudo systemctl stop gas-monitor

# 查看服务状态
sudo systemctl status gas-monitor
```