转换服务
# 环境集成
Windows:.net framework4.8、Redis
注意转换源文件和转换服务需在同一台服务器
# 模型转换
写入json数据到转换服务监听文件夹目录 (目录自定义)如:E:\360Api\Files\Json
json文件名称保持唯一:如:0a7d9c17-98ce-499d-85db-b73be89daf80.json文件内容如下:
{
"IUID":"4bf3cb51-041b-ed7a-9fcb-a9a0177ab011",
"SystemName":"应用一",
"FileName":"防撞护栏栏杆断面.dgn",
"UserName":"张三",
"CorpName":"北京跨世纪软件技术有限公司"
}
IUID:文件唯一标识 --必填
SystemName:应用标识 --必填
FileName:文件名称 --必填
UserName:用户名 --选填
CorpName:组织名称 --选填
# 编写以下接口转换服务自动调用
# 接口一:《根据文件唯一标识IUID获取转码相关路径》Get请求通过IUID返回相关文件参数
{
"fileSuffix": ".png",
"filePath": "E:\\360Api\\Files\\80da8186_0a29_47e0_80f0_972b246e27a5\\ 模型 \\align-center.png",
"relativepath": "Files\\80da8186_0a29_47e0_80f0_972b246e27a5\\ 模型 \\align-center.png",
"ibimFile": null,
"ibimname": "align-center.png",
}
fileSuffix :文件后缀 ** –** 必填
**filePath: **文件绝对路径–必填
**relativepath: **文件相对路径–必填
ibimFile :转换文件存储路径—选填,不填默认存放在源文件同级目录
ibimname :转换后的文件名称—选填,不填默认为如: 1.dgn=>1.dgn.ibm
# 接口二:《重启时获取需要转换任务》Get请求没有参数,重启转换服务时调用接口检测需要转换的文件
如有10个文件要转码就写10个json文件到转码监听目录
# 接口三:《收到任务》Get请求参数IUID、StatusType,转换过程中的转码状态
StatusType:状态码,0:未响应、1:正在排队、2:正在转码
StatusType:收到任务时传1、正在转码时传2
# 接口四:《转码完成》:Get请求参数IUID、conversionFilePath、StatusType
IUID—文件唯一标识、conversionFilePath—转码之后的绝对路径、StatusType:状态码3:转码完成、4:转码失败
以上为准备工作
以下为转换服务适配
# 转换服务配置文件
转换服务目录下:Config.ini文件
ProcessQuantity=3 说明:转换并发数 根据服务器性能配置转换并发数量
limit=7200000 说明:转换超时毫秒
RedisConnectionString=server:127.0.0.1,port:6379,password:,db:1 说明:Redis连接,转换相关信息会存在缓存库里面
日志路径=E:\360Api\ThirdTool\BwBimService 说明:日志输出目录
转换服务适配应用
转换服务目录下:config.json文件
[
{
"SystemName": "应用一",
"FullDir": "E:\\应用一\\Files\\Json",
"GetTaskData": "http://***/api/TaskManagement/GetTaskData?IUID={0}",
"RestartData": "http://***/api/TaskManagement/GetBIMRask",
"ReceiveAPI":"http://***/api/TaskManagement/StartRask?IUID={0}&StatusType={1}",
"CompleteAPI":"http://***/api/TaskManagement/FinishRask?IUID={0}&conversionFilePath={2}&StatusType={3}"
},
{
"SystemName": "应用二",
"FullDir": "E:\\应用二\\Files\\Json",
"GetTaskData": "",
"RestartData": "",
"ReceiveAPI": "",
"CompleteAPI":""
}
]
参数
SystemName:应用标识 说明:写入json时的应用标识,转换服务会根据应用标识找到对应的应用接口
FullDir: 监听目录 说明:模型转换写入json文件的目录,转换服务会监听该目录的json文件创建并解析里面的json数据进行排队转码
GetTaskData:根据文件唯一标识IUID获取转码相关路径接口 说明:转换服务在开始对文件进行转码之前需要获取到文件的路径信息等
RestartData:重启时获取需要转换任务 说明:重启转换服务时调用接口检测需要转换的文件
ReceiveAPI:收到任务说明:转换服务在监听到json文件创建的时候会去调用这个接口传递参数为文件唯一标识IUID和正在排队状态码1:正在排队,正在转换时传递参数为文件唯一标识IUID和正在转码状态码2:正在转换
CompleteAPI:《转码完成》说明:转换成功之后传递参数为文件唯一标识IUID、conversionFilePath:转码之后的绝对路径、StatusType:状态码3:转码完成、4:转码失败
# 配置文件做好之后运行安装服务
转换服务目录下:Install.bat文件 双击运行
卸载服务
转换服务目录下:Uninstall.bat文件 双击运行
注意修改配置文件之后需要卸载后再安装才会生效