|
@@ -1,12 +1,19 @@
|
|
|
package com.framework.mvvm.mv
|
|
|
|
|
|
import androidx.lifecycle.*
|
|
|
+import cn.sagacloud.cadengine.OkhttpUtil
|
|
|
+import com.framework.app.pathDownloadMap
|
|
|
+import com.framework.app.testIP
|
|
|
import com.framework.mvvm.model.data.AbsentLiveData
|
|
|
import com.framework.mvvm.model.data.Data
|
|
|
import com.framework.mvvm.model.db.entity.ProjectEntity
|
|
|
import com.framework.mvvm.model.repository.AdmRepository
|
|
|
import com.framework.mvvm.model.vo.AdmRequest
|
|
|
+import com.framework.mvvm.model.vo.FloorInfo
|
|
|
+import kotlinx.coroutines.Dispatchers
|
|
|
import kotlinx.coroutines.launch
|
|
|
+import kotlinx.serialization.decodeFromString
|
|
|
+import kotlinx.serialization.json.Json
|
|
|
|
|
|
|
|
|
class AdmViewModel(private val repository: AdmRepository) : ViewModel() {
|
|
@@ -46,23 +53,24 @@ class AdmViewModel(private val repository: AdmRepository) : ViewModel() {
|
|
|
* 请求建筑
|
|
|
*/
|
|
|
fun requestBuilding(request: AdmRequest) {
|
|
|
- viewModelScope.launch {
|
|
|
+ viewModelScope.launch(Dispatchers.IO) {
|
|
|
repository.requestBuilding(request)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 下载底图
|
|
|
- */
|
|
|
- fun downloadFloorMap() {
|
|
|
- viewModelScope.launch {
|
|
|
- val floors = repository.getFloors()
|
|
|
+ val floors = repository.getFloors()
|
|
|
floors.forEach {
|
|
|
-
|
|
|
+ val strInfo = it.strInfos
|
|
|
+ if (!strInfo.isNullOrEmpty()) {
|
|
|
+ try {
|
|
|
+ val info = Json.decodeFromString<FloorInfo>(strInfo)
|
|
|
+ val map = info.floorMap
|
|
|
+ val floorMap =
|
|
|
+ OkhttpUtil.getGzipMap("$testIP$pathDownloadMap${map!!}")
|
|
|
+ it.floorMap = floorMap
|
|
|
+ repository.upObject(it)
|
|
|
+ } catch (e: Exception) {
|
|
|
+ println("floor map Exception: $e")
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- // 遍历 floor ,创建 FloorInfo
|
|
|
- // 获取 floorMap
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|