caiaf 4 years ago
parent
commit
f63d2b94da

+ 37 - 4
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/backstage/state/ExportPassedState_3.kt

@@ -3,10 +3,13 @@ package cn.sagacloud.server.algorithm.backstage.state
 import cn.sagacloud.server.algorithm.backstage.sync.SyncFloor
 import cn.sagacloud.server.algorithm.backstage.sync.SyncUtil
 import cn.sagacloud.server.algorithm.models.config.MyProperties
+import cn.sagacloud.server.algorithm.models.message.MessageEntity
 import cn.sagacloud.server.algorithm.models.message.MessageType
 import cn.sagacloud.server.algorithm.models.modelFile.ModelFile
+import cn.sagacloud.server.algorithm.models.request.BindFloorRequest
 import cn.sagacloud.server.algorithm.services.BaseDataService
 import cn.sagacloud.server.algorithm.services.CommonService
+import cn.sagacloud.server.algorithm.services.datacenter.DataCenterService
 import cn.sagacloud.server.algorithm.services.endpoint.ModelFileService
 import cn.sagacloud.server.algorithm.services.excel.ExcelService
 import cn.sagacloud.server.algorithm.services.message.MessageService
@@ -14,6 +17,9 @@ import cn.sagacloud.server.algorithm.services.modelCheck.ModelCheckService
 import cn.sagacloud.server.algorithm.services.monitor.ModelMonitorService
 import cn.sagacloud.server.algorithm.services.json.JSONAnalyzerService
 import com.sybotan.database.SFilter
+import com.sybotan.service.SPageContext
+import com.sybotan.service.models.enums.SResponseType
+import com.sybotan.service.models.responses.SBaseResponse
 import com.sybotan.service.utils.SSpringContextUtil
 import org.slf4j.LoggerFactory
 import org.springframework.beans.factory.annotation.Autowired
@@ -54,6 +60,9 @@ class ExportPassedState_3 : ModelState {
     @Autowired
     lateinit var monitorService: ModelMonitorService
 
+    @Autowired
+    lateinit var dataCenterService : DataCenterService
+
     val dataService = BaseDataService
 
     var modelList: ArrayList<ModelFile>? = null
@@ -89,6 +98,7 @@ class ExportPassedState_3 : ModelState {
         }
         modelList!!.forEach {
             try {
+
                 if (it.floorModelId == null || it.id == null)
                     return@forEach
                 val floorModelArr = dataService.floorModelService.select(SFilter.eq("id", it.floorModelId!!)).exec()
@@ -121,10 +131,33 @@ class ExportPassedState_3 : ModelState {
                 syncFloor.init(floor).prepareDataCenterData()
                 // 开始同步设备, 部件, 元空间
                 syncUtil.syncDataWithBindingFloor(syncFloor, it, floor)
-                // 转状态到4
-                it.status = 4
-                dataService.modelFileService.update(it, arrayListOf("status"))
-                val message = messageService.buildMessageEntityWithoutLink("${folderFloorName.first}的${folderFloorName.second}模型上传成功", MessageType.Success, it.projectId, arrayListOf(it.userId?:""), "")
+
+                val prevBimId = CommonService.generateBIMIDPrefix(SPageContext.getHeader("ProjectId")!!, floor!!.folderId!!, floor!!.floorName!!, false)
+
+
+                val bimId = CommonService.generateBIMIDPrefix(floor.projectId!!, floor.folderId!!, floor.floorName!!, false)
+                val bindFloorRequest = BindFloorRequest()
+                bindFloorRequest.attributeMap["floorElevation"] = it.baseLevel
+                bindFloorRequest.bimId = bimId
+                bindFloorRequest.oldBimId = prevBimId
+                bindFloorRequest.floorId = floor.id
+                bindFloorRequest.floorMap = "${myProperties.fileService.baseGraph}/${floor.currentModelId}.jsonz"
+                bindFloorRequest.modelId = floor.id
+                // 访问数据中心绑定楼层接口
+                var message: MessageEntity
+                if(!dataCenterService.bindFloor(bindFloorRequest, floor.projectId!!)){
+                    // 转状态到4
+                    it.status = 31
+                    it.syncRetryDate = Date()
+                    it.syncErrorMsg = "数据中心绑定楼层失败"
+                    dataService.modelFileService.update(it, arrayListOf("status", "syncRetryDate", "syncErrorMsg"))
+                    message = messageService.buildMessageEntityWithoutLink("${folderFloorName.first}的${folderFloorName.second}模型绑定楼层失败",MessageType.Error, it.projectId, arrayListOf(it.userId?:""),"即将重试")
+                }else{
+                    // 转状态到4
+                    it.status = 4
+                    dataService.modelFileService.update(it, arrayListOf("status"))
+                    message = messageService.buildMessageEntityWithoutLink("${folderFloorName.first}的${folderFloorName.second}模型上传成功", MessageType.Success, it.projectId, arrayListOf(it.userId?:""), "")
+                }
                 messageService.sendMessage(message)
             } catch (e: Exception) {
                 // 转状态到31

+ 12 - 12
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/models/modelFile/FloorModel.kt

@@ -35,7 +35,7 @@ import javax.persistence.Table
  * @author jxing
  */
 @ApiModel(description = "模型楼层")
-@Table(name = "revit.model_floor")
+@Table(name = "public.floor")
 class FloorModel : SBaseEntity() {
     /** 表自增id */
     @ApiModelProperty(value = "表自增id")
@@ -50,17 +50,17 @@ class FloorModel : SBaseEntity() {
 
     /** 楼层名称 */
     @ApiModelProperty(value = "楼层名称")
-    @Column(name = "floor_name")
+    @Column(name = "name")
     var floorName: String? = null
 
     /** 该楼层当前的模型id */
     @ApiModelProperty(value = "该楼层当前的模型id")
-    @Column(name = "current_model_id")
+    @Column(name = "model_id")
     var currentModelId: String? = null
 
     /** 该楼层所属的文件夹id */
     @ApiModelProperty(value = "该楼层所属的文件夹id")
-    @Column(name = "folder_id")
+    @Column(name = "building_id")
     var folderId: String? = null
 
     // new
@@ -69,14 +69,14 @@ class FloorModel : SBaseEntity() {
     @ApiModelProperty(value = "该楼层在物理世界上的楼层id")
     var floorId: String? = null
 
-    /** 该楼层在物理世界上的楼层id */
-    @ApiModelProperty(value = "是否覆盖以前绑定的楼层, true是覆盖, false是只添加, 默认false")
-    var isCover: Boolean? = null
+//    /** 该楼层在物理世界上的楼层id */
+//    @ApiModelProperty(value = "是否覆盖以前绑定的楼层, true是覆盖, false是只添加, 默认false")
+//    var isCover: Boolean? = null
 
-    /** 该楼层在物理世界上的建筑id */
-    @ApiModelProperty(value = "该楼层在物理世界上的建筑id")
-    @Column(name = "building_id")
-    var buildingId: String? = null
+//    /** 该楼层在物理世界上的建筑id */
+//    @ApiModelProperty(value = "该楼层在物理世界上的建筑id")
+//    @Column(name = "building_id")
+//    var buildingId: String? = null
 
 //    /** 该楼层在物理世界上的楼层id */
 //    @ApiModelProperty(value = "该楼层在物理世界上的楼层id")
@@ -84,7 +84,7 @@ class FloorModel : SBaseEntity() {
 //    var floorIdList: ArrayList<String>? = null
 
 
-    var bind_floor_ids: String? = null
+//    var bind_floor_ids: String? = null
 
 
 }

+ 1 - 1
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/models/modelFile/ModelFileFolder.kt

@@ -33,7 +33,7 @@ import javax.persistence.Table
  * @author jxing
  */
 @ApiModel(description = "模型文件夹")
-@Table(name = "revit.model_folder")
+@Table(name = "public.building")
 class ModelFileFolder : SBaseEntity(){
 
     /** 表自增id */

+ 5 - 2
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/services/endpoint/ModelFileService.kt

@@ -10,6 +10,7 @@ import cn.sagacloud.server.algorithm.models.request.UploadModelRequest
 import cn.sagacloud.server.algorithm.services.BaseDataService
 import cn.sagacloud.server.algorithm.services.CommonService
 import cn.sagacloud.server.algorithm.services.http.HttpService
+import cn.sagacloud.server.algorithm.util.IdUtils
 import com.alibaba.fastjson.JSON
 import com.sybotan.database.SFilter
 import com.sybotan.database.extensions.keyValue
@@ -346,8 +347,10 @@ class ModelFileService {
      */
     fun addFloor(request: UploadModelRequest): FloorModel {
         var floor = FloorModel()
-        floor.id = CommonService.generateUUID("", true)
-        floor.projectId = request.projectId
+//        floor.id = CommonService.generateUUID("", true)
+        val projectId = request.projectId!!
+        floor.id = IdUtils.floorIdCreate(projectId!!)
+        floor.projectId = projectId
         floor.folderId = request.folderId
         floor.floorName = request.floorName
         if(!dataService.floorModelService.insert(floor))

+ 276 - 0
revit-algorithm/src/main/kotlin/cn/sagacloud/server/algorithm/util/IdUtils.kt

@@ -0,0 +1,276 @@
+/*
+ * *********************************************************************************************************************
+ *
+ *          !!
+ *        .F88X
+ *        X8888Y
+ *      .}888888N;
+ *        i888888N;        .:!              .I$WI:
+ *          R888888I      .'N88~            i8}+8Y&8"l8i$8>8W~'>W8}8]KW+8IIN"8&
+ *          .R888888I    .;N8888~          .X8'  "8I.!,/8"  !%NY8`"8I8~~8>,88I
+ *            +888888N;  .8888888Y                                  "&&8Y.}8,
+ *            ./888888N;  .R888888Y        .'}~    .>}'.`+>  i}!    "i'  +/'  .'i~  !11,.:">,  .~]!  .i}i
+ *              ~888888%:  .I888888l      .]88~`1/iY88Ii+1'.R$8$8]"888888888>  Y8$  W8E  X8E  W8888'188Il}Y88$*
+ *              18888888    E8888881    .]W%8$`R8X'&8%++N8i,8N%N8+l8%`  .}8N:.R$RE%N88N%N$K$R  188,FE$8%~Y88I
+ *            .E888888I  .i8888888'      .:$8I;88+`E8R:/8N,.>881.`$8E/1/]N8X.Y8N`"KF&&FK!'88*."88K./$88%RN888+~
+ *            8888888I  .,N888888~        ~88i"8W,!N8*.I88.}888%F,i$88"F88"  888:E8X.>88!i88>`888*.}Fl1]*}1YKi'
+ *          i888888N'      I888Y          ]88;/EX*IFKFK88X  K8R  .l8W  88Y  ~88}'88E&%8W.X8N``]88!.$8K  .:W8I
+ *        .i888888N;        I8Y          .&8$  .X88!  i881.:%888>I88  ;88]  +88+.';;;;:.Y88X  18N.,88l  .+88/
+ *      .:R888888I
+ *      .&888888I                                          Copyright (c) 2009-2020.  博锐尚格科技股份有限公司
+ *        ~8888'
+ *        .!88~                                                                     All rights reserved.
+ *
+ * *********************************************************************************************************************
+ */
+
+package cn.sagacloud.server.algorithm.util
+
+import java.text.SimpleDateFormat
+import java.util.*
+
+
+/**
+ * id生成帮助类
+ *
+ * @author 张维新
+ */
+object IdUtils {
+
+    /**
+     * 生成项目id
+     *
+     * @param   code    城市六位编码
+     * @param   num     城市存在建筑的数量
+     * @return          返回项目id
+     */
+    fun projectIdCreate(code: String, num: Int): String {
+        try {
+            if (num + 1 > 9999) {
+                throw  SecurityException("建筑数量已超出最大值")
+            }
+            val nums = num + 1
+            val genId = String.format("%1$4s", nums).replace(' ', '0')
+            val sb = StringBuilder()
+            val appendId = sb.append("Pj").append(code).append(genId)
+
+            return appendId.toString()
+        } catch (e: Throwable) {
+            e.printStackTrace()
+        }
+        throw  SecurityException("id生成失败")
+    } // Function ProjectId
+
+    /**
+     * 生成建筑Id
+     *
+     * @param   projectId   项目id
+     * @return              建筑id
+     */
+    fun buildIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Bd")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val buildId = sb.append(bdid).append(uuId)
+        return buildId.toString()
+    } // Function buildIdCreate
+
+    /**
+     * 生成楼层Id
+     *
+     * @param   projectId   项目id
+     * @return              楼层id
+     */
+    fun floorIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Fl")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val floorId = sb.append(bdid).append(uuId)
+        return floorId.toString()
+    } // Function floorIdCreate
+
+    /**
+     * 生成空间Id
+     *
+     * @param   projectId   项目id
+     * @return              空间id
+     */
+    fun spaceIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Sp")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val spaceId = sb.append(bdid).append(uuId)
+        return spaceId.toString()
+    } // Function spaceIdCreate
+
+    /**
+     * 生成元空间Id
+     *
+     * @param   projectId   项目id
+     * @return              元空间id
+     */
+    fun iSpaceIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Si")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val siId = sb.append(bdid).append(uuId)
+        return siId.toString()
+    } // Function iSpaceIdCreate
+
+    /**
+     * 生成系统Id
+     *
+     * @param   projectId   项目id
+     * @return              系统id
+     */
+    fun systemIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Sy")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val systemId = sb.append(bdid).append(uuId)
+        return systemId.toString()
+    } // Function systemIdCreate
+
+    /**
+     * 生成设备Id
+     *
+     * @param   projectId   项目id
+     * @return              设备id
+     */
+    fun equipmentIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Eq")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val eqId = sb.append(bdid).append(uuId)
+        return eqId.toString()
+    } // Function equipmentIdCreate
+
+    /**
+     * 生成设备部件Id
+     *
+     * @param   projectId   项目id
+     * @return              设备部件id
+     */
+    fun equipmentComponentIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Ec")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val ecId = sb.append(bdid).append(uuId)
+        return ecId.toString()
+    } // Function equipmentComponentIdCreate
+
+    /**
+     * 生成设施Id
+     *
+     * @param   projectId   项目id
+     * @return              设施id
+     */
+    fun structureIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "St")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val stId = sb.append(bdid).append(uuId)
+        return stId.toString()
+    } // Function structureIdCreate
+
+    /**
+     * 生成设施部件Id
+     *
+     * @param   projectId   项目id
+     * @return              设施部件id
+     */
+    fun structureComponentIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Sc")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val scId = sb.append(bdid).append(uuId)
+        return scId.toString()
+    } // Function structureComponentIdCreate
+
+    /**
+     * 生成资产编码Id
+     *
+     * @param   projectId   项目id
+     * @return              设备资产编码id
+     */
+    fun peIdCreate(projectId: String): String {
+        val bdid = "Pe"
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val peId = sb.append(bdid).append(uuId)
+        return peId.toString()
+    } // Function peIdCreate
+
+    /**
+     * 生成点位编码Id
+     *
+     * @return              设备点位编码id
+     */
+    fun ptIdCreate(): String {
+        val bdid = "Pt"
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val peId = sb.append(bdid).append(uuId)
+        return peId.toString()
+    } // Function peIdCreate
+
+    /**
+     * 生成竖井Id
+     *
+     * @param   projectId   项目id
+     * @return              竖井id
+     */
+    fun shaftIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "Sh")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val shId = sb.append(bdid).append(uuId)
+        return shId.toString()
+    } // Function shaftIdCreate
+
+    /**
+     * 生成租户Id
+     *
+     * @param   projectId   项目id
+     * @return              租户id
+     */
+    fun tenantIdCreate(projectId: String): String {
+        val bdid = projectId.replace("Pj", "VOTn")
+        val sb = StringBuilder()
+        val uuid = UUID.randomUUID().toString()
+        val uuId = uuid.replace("-", "")
+        val shId = sb.append(bdid).append(uuId)
+        return shId.toString()
+    } // Function shaftIdCreate
+
+    /**
+     * 生成uuid
+     *
+     * @return              uuid
+     */
+    fun uuidCreate(): String {
+        val uuid = UUID.randomUUID().toString()
+        return uuid.replace("-", "")
+    } // Function uuidCreate
+
+
+    fun time():String {
+        val df = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") //设置日期格式
+        println(df.format(Date())) // new Date()为获取当前系统时间
+        return df.format(Date())
+    }
+
+
+} // Object IdUtils

+ 23 - 23
revit-algorithm/src/main/resources-dev/application.yml

@@ -18,7 +18,7 @@ spring:
     name:                               revit-algorithm
     type:                               com.alibaba.druid.pool.DruidDataSource
     driver-class-name:                  org.postgresql.Driver
-    url:                                jdbc:postgresql://60.205.177.43:5432/datacenterlabsl
+    url:                                jdbc:postgresql://39.102.40.239:5432/datacenter
     #    url:                                jdbc:postgresql://192.168.20.250:5432/postgres
     #    url:                                jdbc:postgresql://47.94.89.44:5432/datacenter
     username:                           postgres
@@ -49,7 +49,7 @@ spring:
       max-request-size:                90MB        # 限制上传的多个文件的总大小
       max-file-size:                   90MB        # 限制单个文件的最大值
   activemq:
-    broker-url: failover:(tcp://60.205.177.43:61616)
+    broker-url: failover:(tcp://39.102.40.239:61616)
     in-memory: true
     pool:
       enabled: false
@@ -74,7 +74,7 @@ properties:
   #文件服务器配置
   fileService:
     # 基本属性
-    url:                               http://api.sagacloud.cn/dp-auxiliary/image-service/ # http://47.93.33.207:28888/image-service/ #http://adm.sagacloud.cn/image-service/
+    url:                               http://47.93.33.207:8888/image-service/
     systemId:                          revit
     secret:                            63afbef6906c342b
     dir:                               model
@@ -98,7 +98,7 @@ properties:
     mergeMultipartUpload:              ${properties.fileService.url}common/merge_multipart${properties.fileService.suffixWithSecret}&uploadId=
 
   scheduler:
-    url:                               http://60.205.177.43:8080/scheduler/
+    url:                               http://39.102.40.239:8080/scheduler/
     createTask:                        ${properties.scheduler.url}task/create
     queryTask:                         ${properties.scheduler.url}task/query
     queryTaskResult:                   ${properties.scheduler.url}result/query
@@ -106,36 +106,36 @@ properties:
 
 
   datacenter:
-    url:                               http://60.205.177.43:8080/datacenter/object/
+    url:                               http://39.102.40.239:8080/datacenter/
     # 设备相关接口
-    equipCreate: ${properties.datacenter.url}equip/create
-    equipDelete: ${properties.datacenter.url}equip/delete
-    equipQuery: ${properties.datacenter.url}equip/query
-    equipUpdate: ${properties.datacenter.url}equip/update
+    equipCreate: ${properties.datacenter.url}object/equip/create
+    equipDelete: ${properties.datacenter.url}object/equip/delete
+    equipQuery: ${properties.datacenter.url}object/equip/query
+    equipUpdate: ${properties.datacenter.url}object/equip/update
     # 元空间相关接口
-    ispaceCreate: ${properties.datacenter.url}ispace/create
-    ispaceDelete: ${properties.datacenter.url}ispace/delete
-    ispaceQuery: ${properties.datacenter.url}ispace/query
-    ispaceUpdate: ${properties.datacenter.url}ispace/update
+    ispaceCreate: ${properties.datacenter.url}object/ispace/create
+    ispaceDelete: ${properties.datacenter.url}object/ispace/delete
+    ispaceQuery: ${properties.datacenter.url}object/ispace/query
+    ispaceUpdate: ${properties.datacenter.url}object/ispace/update
     # 部件相关接口
-    componentCreate: ${properties.datacenter.url}component/create
-    componentDelete: ${properties.datacenter.url}component/delete
-    componentQuery: ${properties.datacenter.url}component/query
-    componentUpdate: ${properties.datacenter.url}component/update
+    componentCreate: ${properties.datacenter.url}object/component/create
+    componentDelete: ${properties.datacenter.url}object/component/delete
+    componentQuery: ${properties.datacenter.url}object/component/query
+    componentUpdate: ${properties.datacenter.url}object/component/update
     # 楼层相关接口
-    floorQuery: ${properties.datacenter.url}floor/query
-    floorUpdate: ${properties.datacenter.url}floor/update
+    floorQuery: ${properties.datacenter.url}object/floor/query
+    floorUpdate: ${properties.datacenter.url}object/floor/update
     # 绑定楼层接口
-    floorBind: ${properties.datacenter.url}update/equip-ispace
+    floorBind: ${properties.datacenter.url}rel/update/equip-ispace
     # 资产接口
-    propertyQuery: ${properties.datacenter.url}property/query
-    propertyUpdate: ${properties.datacenter.url}property/update
+    propertyQuery: ${properties.datacenter.url}object/property/query
+    propertyUpdate: ${properties.datacenter.url}object/property/update
     # 同步构件接口
     windowCreate: ${properties.datacenter.url}window/create_ignore
     vwallCreate: ${properties.datacenter.url}vwall/create_ignore
     doorCreate: ${properties.datacenter.url}door/create_ignore
 
   message:
-    url: http://60.205.177.43:8080/message-center/
+    url: http://39.102.40.239:8080/message-center/
     # 发送消息接口
     createPath: ${properties.message.url}message/create

+ 6 - 6
revit-algorithm/src/main/resources-prod/application.yml

@@ -18,7 +18,7 @@ spring:
     name:                               revit-algorithm
     type:                               com.alibaba.druid.pool.DruidDataSource
     driver-class-name:                  org.postgresql.Driver
-    url:                                jdbc:postgresql://60.205.177.43:5432/datacenterlabsl
+    url:                                jdbc:postgresql://172.17.100.16:5432/datacenter
     #    url:                                jdbc:postgresql://192.168.20.250:5432/postgres
     #    url:                                jdbc:postgresql://47.94.89.44:5432/datacenter
     username:                           postgres
@@ -49,7 +49,7 @@ spring:
       max-request-size:                90MB        # 限制上传的多个文件的总大小
       max-file-size:                   90MB        # 限制单个文件的最大值
   activemq:
-    broker-url: failover:(tcp://60.205.177.43:61616)
+    broker-url: failover:(tcp://172.17.100.16:61616)
     in-memory: true
     pool:
       enabled: false
@@ -75,7 +75,7 @@ properties:
   fileService:
     # 基本属性
     #url:                               http://api.sagacloud.cn/dp-auxiliary/image-service/ # http://47.93.33.207:28888/image-service/ #http://adm.sagacloud.cn/image-service/
-    url:                               http://60.205.177.43:8080/image-service/
+    url:                               http://47.93.33.207:8888/image-service/
     systemId:                          revit
     secret:                            63afbef6906c342b
     dir:                               model
@@ -99,7 +99,7 @@ properties:
     mergeMultipartUpload:              ${properties.fileService.url}common/merge_multipart${properties.fileService.suffixWithSecret}&uploadId=
 
   scheduler:
-    url:                               http://60.205.177.43:8080/scheduler/
+    url:                               http://172.17.100.16:8080/scheduler/
     createTask:                        ${properties.scheduler.url}task/create
     queryTask:                         ${properties.scheduler.url}task/query
     queryTaskResult:                   ${properties.scheduler.url}result/query
@@ -107,7 +107,7 @@ properties:
 
 
   datacenter:
-    url:                               http://60.205.177.43:8080/datacenter/
+    url:                               http://172.17.100.16:8080/datacenter/
     # 设备相关接口
     equipCreate: ${properties.datacenter.url}object/equip/create
     equipDelete: ${properties.datacenter.url}object/equip/delete
@@ -137,6 +137,6 @@ properties:
     doorCreate: ${properties.datacenter.url}door/create_ignore
 
   message:
-    url: http://60.205.177.43:8080/message-center/
+    url: http://172.17.100.16:8080/message-center/
     # 发送消息接口
     createPath: ${properties.message.url}message/create