From 1897c4ad5fa73b3f0a36e1aa0e1e9000302a6ace Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 31 十月 2025 17:35:09 +0800
Subject: [PATCH] 2025.10.31 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