From 0f58aa8ea118c3bd0b28396febc58fdbd94eef75 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 27 十月 2025 17:33:33 +0800
Subject: [PATCH] 2025.10.27 1. 新增巡查场景历史详情界面(待完成)
---
app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt | 67 +++++++++++++++++++++++++++------
1 files changed, 55 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt b/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt
index 8d709dd..e0c1c35 100644
--- a/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt
+++ b/app/src/main/java/cn/flightfeather/thirdappmodule/repository/SceneRepository.kt
@@ -1,14 +1,19 @@
package cn.flightfeather.thirdappmodule.repository
import cn.flightfeather.thirdappmodule.bean.entity.*
+import cn.flightfeather.thirdappmodule.bean.vo.BaseSubScene
+import cn.flightfeather.thirdappmodule.bean.vo.SceneDetailStrVo
+import cn.flightfeather.thirdappmodule.bean.vo.SceneDetailVo
import cn.flightfeather.thirdappmodule.common.net.ResponseBodyCallBack
import cn.flightfeather.thirdappmodule.common.net.ResultCallBack
import cn.flightfeather.thirdappmodule.common.net.ResultObserver
import cn.flightfeather.thirdappmodule.common.net.RetrofitFactory
import cn.flightfeather.thirdappmodule.httpservice.ScenseService
+import cn.flightfeather.thirdappmodule.model.bean.BaseResponse
import cn.flightfeather.thirdappmodule.module.task.Division
import cn.flightfeather.thirdappmodule.repository.dao.DomainDao
import cn.flightfeather.thirdappmodule.repository.dao.SceneDao
+import cn.flightfeather.thirdappmodule.util.Constant
import io.reactivex.Observable
import io.reactivex.functions.Function4
import okhttp3.ResponseBody
@@ -55,16 +60,16 @@
val dbService4 = domainDao.getTown()
val zipService = Observable.zip(dbService1, dbService2, dbService3, dbService4,
- Function4<List<Province>, List<City>, List<District>, List<Town>, Response<Division>> { t1, t2, t3, t4 ->
- Response.success(
- Division(
- ArrayList(t1),
- ArrayList(t2),
- ArrayList(t3),
- ArrayList(t4)
- )
+ Function4<List<Province>, List<City>, List<District>, List<Town>, Response<Division>> { t1, t2, t3, t4 ->
+ Response.success(
+ Division(
+ ArrayList(t1),
+ ArrayList(t2),
+ ArrayList(t3),
+ ArrayList(t4)
)
- })
+ )
+ })
RetrofitFactory.executeResult(zipService, object : ResultObserver<Division>() {
override fun onSuccess(result: Division?) {
@@ -105,7 +110,7 @@
fun putScene(scene: Scense, resultCallBack: ResultCallBack<ResponseBody>) {
sceneDao.insert(scene)
retrofit.create(ScenseService::class.java).putScense(scene)
- .enqueue(ResponseBodyCallBack(resultCallBack))
+ .enqueue(ResponseBodyCallBack(resultCallBack))
}
/**
@@ -114,7 +119,7 @@
fun updateScene(scene: Scense, resultCallBack: ResultCallBack<ResponseBody>) {
sceneDao.update(scene)
retrofit.create(ScenseService::class.java).updateScense(scene)
- .enqueue(ResponseBodyCallBack(resultCallBack))
+ .enqueue(ResponseBodyCallBack(resultCallBack))
}
/**
@@ -125,6 +130,44 @@
sceneDao.update(it)
}
retrofit.create(ScenseService::class.java).updateSceneList(sceneList)
- .enqueue(ResponseBodyCallBack(resultCallBack))
+ .enqueue(ResponseBodyCallBack(resultCallBack))
+ }
+
+ /**
+ * 鑾峰彇鍦烘櫙璇︽儏锛屽寘鍚熀纭�淇℃伅鍜屽満鏅壒鏈変俊鎭�
+ */
+ fun <T : BaseSubScene> getSceneDetail(scene: Scense, resultCallBack: ResultCallBack<SceneDetailVo<T>>) {
+ val sceneService = when (scene.typeid.toString()) {
+ Constant.SCENE_TYPE_SITE -> retrofit.create(ScenseService::class.java).getSceneDetail<T>(scene.guid)
+ else -> retrofit.create(ScenseService::class.java).getSceneDetail<T>(scene.guid)
+ }
+
+ RetrofitFactory.executeResult(sceneService, object : ResultObserver<BaseResponse<SceneDetailVo<T>>>() {
+ override fun onSuccess(result: BaseResponse<SceneDetailVo<T>>?) {
+ resultCallBack.onSuccess(result?.data)
+ }
+
+ override fun onFailure(e: Throwable, isNetWorkError: Boolean) {
+ resultCallBack.onFailure()
+ }
+ })
+ }
+
+ /**
+ * 鏇存柊鍦烘櫙璇︽儏
+ */
+ fun updateSceneDetail(vo: SceneDetailStrVo, resultCallBack: ResultCallBack<String>) {
+ vo.scene ?: return
+ val sceneService = retrofit.create(ScenseService::class.java).updateSceneDetail(vo.scene!!.typeid.toInt(), vo)
+
+ RetrofitFactory.executeResult(sceneService, object : ResultObserver<BaseResponse<String>>() {
+ override fun onSuccess(result: BaseResponse<String>?) {
+ resultCallBack.onSuccess(result?.data)
+ }
+
+ override fun onFailure(e: Throwable, isNetWorkError: Boolean) {
+ resultCallBack.onFailure()
+ }
+ })
}
}
\ No newline at end of file
--
Gitblit v1.9.3