| | |
| | | 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 |
| | |
| | | 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?) { |
| | |
| | | fun putScene(scene: Scense, resultCallBack: ResultCallBack<ResponseBody>) { |
| | | sceneDao.insert(scene) |
| | | retrofit.create(ScenseService::class.java).putScense(scene) |
| | | .enqueue(ResponseBodyCallBack(resultCallBack)) |
| | | .enqueue(ResponseBodyCallBack(resultCallBack)) |
| | | } |
| | | |
| | | /** |
| | |
| | | fun updateScene(scene: Scense, resultCallBack: ResultCallBack<ResponseBody>) { |
| | | sceneDao.update(scene) |
| | | retrofit.create(ScenseService::class.java).updateScense(scene) |
| | | .enqueue(ResponseBodyCallBack(resultCallBack)) |
| | | .enqueue(ResponseBodyCallBack(resultCallBack)) |
| | | } |
| | | |
| | | /** |
| | |
| | | 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() |
| | | } |
| | | }) |
| | | } |
| | | } |