# Revit-algorithm
## 项目结构
![项目结构](./img/revit_001.jpg)

    如图中所标记
    1. 后台任务模块, 处理模型的各个状态和状态流转
    2. 配置类
    3. 对外的服务接口
    4. 所有的模型类
    5. 所有的服务类
    6. 项目配置文件
    7. 测试类
    8. Gradle的build文件
    
## 项目介绍

### 功能
    1. 提供上传, 管理revit模型和通知的服务
    2. 提供检查, 校验并处理模型, 导出revit数据同步到数据中心的服务
    3. 提供模型底图服务
    
### 技术细节
    1. 基于springboot web框架
    2. 数据库使用postgresql, 数据持久化框架使用myBatis和sybotan(公司内部)
    3. 检查标高和轴网使用postgresql中的扩展插件plpython3
    4. 发送JMS消息使用activemq
    5. 使用poi操作xlsx文件
    
## 打包
![项目打包](./img/revit_002.jpg)

    如果打测试包, 在右侧Gradle的管理页面里双击任务buildDevJar或者buildDevWar即可. 打包内容中就会
    把左侧资源文件包resources和resources-dev的内容加入到打包的资源内, 建议在打包前把上次打包的文件删除
    

## 服务依赖
    1. 依赖于数据中心
    2. 依赖于模型调度器
    3. 依赖于文件服务器(必须具备分页上传的功能)