From ce88de4891b87c3b7b2750575e15d6e48d518852 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 24 十月 2024 10:39:12 +0800 Subject: [PATCH] 增加云端库 --- HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/project/controller/HDLPMProjectController.java | 1092 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,092 insertions(+), 0 deletions(-) diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/project/controller/HDLPMProjectController.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/project/controller/HDLPMProjectController.java new file mode 100644 index 0000000..43dbbc8 --- /dev/null +++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/project/controller/HDLPMProjectController.java @@ -0,0 +1,1092 @@ +package com.hdl.linkpm.sdk.project.controller; + +import android.text.TextUtils; + + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.hdl.hdlhttp.HxHttp; +import com.hdl.linkpm.sdk.core.api.HDLCloudProjectApi; +import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack; +import com.hdl.linkpm.sdk.core.callback.IResponseCallBack; +import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.linkpm.sdk.core.interceptor.HDLSmartHeader; +import com.hdl.linkpm.sdk.core.response.HDLResponse; +import com.hdl.linkpm.sdk.project.bean.DriveDetailListBean; +import com.hdl.linkpm.sdk.project.bean.DriveTypeListBean; +import com.hdl.linkpm.sdk.project.bean.EmployeeInfoBean; +import com.hdl.linkpm.sdk.project.bean.HousePageRequestBean; +import com.hdl.linkpm.sdk.project.bean.IrDeviceBrandBean; +import com.hdl.linkpm.sdk.project.bean.IrDeviceCodeBean; +import com.hdl.linkpm.sdk.project.bean.IrDeviceTypeBean; +import com.hdl.linkpm.sdk.project.bean.ProjectHouseListBean; +import com.hdl.linkpm.sdk.project.bean.NewProjectRequestBean; +import com.hdl.linkpm.sdk.project.bean.ProjectInfoListBean; +import com.hdl.linkpm.sdk.project.callback.DriverDetailListCallBack; +import com.hdl.linkpm.sdk.project.callback.DriverDownLoadCallBack; +import com.hdl.linkpm.sdk.project.callback.DriverTypeListCallBack; +import com.hdl.linkpm.sdk.project.callback.IEmployeeInfoCallBack; +import com.hdl.linkpm.sdk.project.callback.IProjectHouseListCallBack; +import com.hdl.linkpm.sdk.project.callback.IProjectInfoListCallBack; +import com.hdl.linkpm.sdk.user.HDLLinkPMUser; +import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils; +import com.hdl.linkpm.sdk.utils.HDLGsonUtils; + +import java.util.List; + +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.functions.Consumer; +import okhttp3.ResponseBody; + +/** + * Created by jlchen on 12/8/21. + * 椤圭洰绠$悊鐩稿叧鐨勭綉缁滆姹� + */ +public class HDLPMProjectController { + /** + * instance + */ + private volatile static HDLPMProjectController instance; + + /** + * getInstance + * + * @return HDLProjectController + */ + public static synchronized HDLPMProjectController getInstance() { + if (instance == null) { + synchronized (HDLPMProjectController.class) { + if (instance == null) { + instance = new HDLPMProjectController(); + } + } + } + return instance; + } + + /** + * 鑾峰彇鎸囧畾鍏徃鍛樺伐鍒楄〃 鏀寔鍚嶇О妯$硦鏌ヨ + * + * @param companyId 鍏徃ID + * @param userName 鍚嶇О妯$硦鏌ヨ + * @param callBack + * @return + */ + public Disposable getDebuggerList(String companyId, String userName, IEmployeeInfoCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_DEBUGGER_GET); + JsonObject json = new JsonObject(); + json.addProperty("companyId", companyId); + json.addProperty("userName", userName); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<List<EmployeeInfoBean>>() { + @Override + public void onResponse(List<EmployeeInfoBean> response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 娣诲姞璋冭瘯浜哄憳銆佽浆绉昏皟璇曚汉鍛� + * + * @param houseId 浣忓畢id + * @param userId 鐢ㄦ埛id + * @param callBack + * @return + */ + public Disposable changeHomeDebugger(String houseId, String userId, IDefaultCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_DEBUGGER_ADD); + JsonObject json = new JsonObject(); + json.addProperty("houseId", houseId); + json.addProperty("userId", userId); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鎵归噺娣诲姞璋冭瘯浜哄憳銆佽浆绉昏皟璇曚汉鍛� + * + * @param houseIds 浣忓畢id 鍒楄〃 + * @param userId 鐢ㄦ埛id + * @param communityCode 绀惧尯code + * @param callBack + * @return + */ + public Disposable batchChangeHomeDebugger(List<String> houseIds, String userId, String communityCode, IDefaultCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_DEBUGGER_BATCHADD); + JsonObject json = new JsonObject(); + json.add("houseIds", HDLGsonUtils.toJsonArray(houseIds)); + json.addProperty("userId", userId); + json.addProperty("communityCode", communityCode); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /******************************缃戝叧椹卞姩******************************/ + /** + * 鏂板缓椤圭洰 + * + * @param callBack + * @return + */ + public Disposable driverList(String driverTypeId, DriverTypeListCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_GET_DRIVERLIST); + JsonObject json = new JsonObject(); + json.addProperty("driverTypeId", driverTypeId); + json.addProperty("pageNo", "1"); + json.addProperty("pageSize", "100"); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<DriveTypeListBean>() { + @Override + public void onResponse(DriveTypeListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鏂板缓椤圭洰 + * + * @param callBack + * @return + */ + public Disposable versionList(String driverId, DriverDetailListCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_GET_VERSIONLIST); + JsonObject json = new JsonObject(); + json.addProperty("driverId", driverId); + json.addProperty("pageNo", "1"); + json.addProperty("pageSize", "100"); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<DriveDetailListBean>() { + @Override + public void onResponse(DriveDetailListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + + + /** + * 鏌ヨ绾㈠璁惧绫诲瀷鍒楄〃 + * + * @param callBack + * @return + */ + public Disposable getIrDeviceTypeList(String deviceType, IResponseCallBack<List<IrDeviceTypeBean>> callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_GET_IR_DEVICETYPELIST); + JsonObject json = new JsonObject(); + if (!TextUtils.isEmpty(deviceType)) { + json.addProperty("deviceType", deviceType); + } + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<List<IrDeviceTypeBean>>() { + @Override + public void onResponse(List<IrDeviceTypeBean> response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鏌ヨ绾㈠璁惧绫诲瀷鐨勫搧鐗屽垪琛� + * + * @param callBack + * @return + */ + public Disposable getIrDeviceBrandList(String deviceTypeId, IResponseCallBack<List<IrDeviceBrandBean>> callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_GET_IR_DEVICEBRANDLIST); + JsonObject json = new JsonObject(); + json.addProperty("deviceTypeId", deviceTypeId); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<List<IrDeviceBrandBean>>() { + @Override + public void onResponse(List<IrDeviceBrandBean> response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鏌ヨ绾㈠璁惧绫诲瀷鐨勫搧鐗岀孩澶栫爜搴撳垪琛� + * + * @param callBack + * @return + */ + public Disposable getIrDeviceCodeList(String brandId, IResponseCallBack<List<IrDeviceCodeBean>> callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_GET_IR_DEVICECODELIST); + JsonObject json = new JsonObject(); + json.addProperty("brandId", brandId); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<List<IrDeviceCodeBean>>() { + @Override + public void onResponse(List<IrDeviceCodeBean> response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + + /** + * 涓嬭浇椹卞姩 + * + * @param callBack + * @return + */ + public Disposable downLoadDriver(String url, DriverDownLoadCallBack callBack) { + return HxHttp.builder() + .url(url) + .headers(HDLSmartHeader.IGNORE_SIGN_HEADER, 1) + .build() + .download() + .subscribe(new Consumer<ResponseBody>() { + @Override + public void accept(ResponseBody responseBody) throws Exception { + //缃戠粶璇锋眰鎴愬姛锛岃鍙栨枃浠朵繚瀛樺埌sd鍗� + callBack.onSuccess(responseBody); + } + }, new Consumer<Throwable>() { + @Override + public void accept(Throwable throwable) throws Exception { + /** + * 缃戠粶璇锋眰澶辫触 + * 鍏蜂綋鍙互鑷繁瀹炵幇 + */ + HDLExceptionSubmitUtils.submit(url, null, throwable); + if (callBack != null) { + callBack.onFailure(new HDLException(403, throwable.getMessage())); + } + } + }); + } + + + /******************************************************************/ + + + /******************************椤圭洰绠$悊******************************/ + /** + * 鑾峰彇椤圭洰鍒楄〃 + * + * @param projectTypes 鏁扮粍 椤圭洰绫诲瀷 ProjectType.Home銆丳rojectType.RealEstate銆丳rojectType.PublicBuilding銆丳rojectType.Hotel + * @param communityName 閫氳繃椤圭洰鍚嶇О妯$硦鏌ヨ + * @param debugStatus 鏁扮粍 璋冭瘯鐘舵�� To_Be_Debugged(0, "寰呰皟璇�")銆丏ebugging(1, "璋冭瘯涓�")銆乄AIT_DELIVERED(3, "寰呬氦浠�")銆丏elivered(4, "宸蹭氦浠�")銆両NITIAL_TATE(5,"鍒濆鎬�") + * @param pageNo + * @param pageSize + * @param callBack + * @return + */ + public Disposable getProjectList(List<String> projectTypes, String communityName, List<String> debugStatus, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_GET_PAGE); + JsonObject json = new JsonObject(); + json.add("projectTypes", HDLGsonUtils.toJsonArray(projectTypes)); + json.addProperty("pageNo", pageNo); + json.addProperty("pageSize", pageSize); + if (debugStatus != null && debugStatus.size() > 0) { + json.add("debugStatus", HDLGsonUtils.toJsonArray(debugStatus)); + } + if (!TextUtils.isEmpty(communityName)) { + json.addProperty("communityName", communityName); + } + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<ProjectInfoListBean>() { + @Override + public void onResponse(ProjectInfoListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /******************************椤圭洰绠$悊******************************/ + /** + * 鑾峰彇椤圭洰鍒楄〃 + * + * @param companyId 鎵�灞炰紒涓氬崟浣峣d + * @param debugUserId 璋冭瘯鍛樺伐璐﹀彿id + * @param pageNo + * @param pageSize + * @param callBack + * @return + */ + public Disposable getReDebugProjectList(String communityName, String companyId, String debugUserId, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_REDEBUG_GET_PAGE); + JsonObject json = new JsonObject(); + json.addProperty("companyId", companyId); + json.addProperty("debugUserId", debugUserId); + json.addProperty("pageNo", pageNo); + json.addProperty("pageSize", pageSize); + if (!TextUtils.isEmpty(communityName)) { + json.addProperty("communityName", communityName); + } + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<ProjectInfoListBean>() { + @Override + public void onResponse(ProjectInfoListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable getProjectListExecute(List<String> projectTypes, String communityName, List<String> debugStatus, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_GET_PAGE); + JsonObject json = new JsonObject(); + json.add("projectTypes", HDLGsonUtils.toJsonArray(projectTypes)); + json.addProperty("pageNo", pageNo); + json.addProperty("pageSize", pageSize); + if (debugStatus != null && debugStatus.size() > 0) { + json.add("debugStatus", HDLGsonUtils.toJsonArray(debugStatus)); + } + if (!TextUtils.isEmpty(communityName)) { + json.addProperty("communityName", communityName); + } + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<ProjectInfoListBean>() { + @Override + public void onResponse(ProjectInfoListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + + /** + * 鏂板缓椤圭洰 + * + * @param newProjectRequestBean 椤圭洰淇℃伅瀵硅薄 + * @param callBack + * @return + */ + public Disposable addNewHouseProject(NewProjectRequestBean newProjectRequestBean, IDefaultCallBack callBack) { + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_CREATE); + return HxHttp.builder() + .url(requestUrl) + .raw(HDLGsonUtils.toJson(newProjectRequestBean)) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, newProjectRequestBean, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 浜や粯椤圭洰 鎵�鏈夋埧灞嬪浜庡凡浜や粯鐘舵�佹墠閫氳繃 鍚﹀垯鎻愮ず灏氭湭鏈夋湭浜や粯鐨勬埧灞� + * 閽堝閰掑簵鍜屽湴浜ч」鐩� + * + * @param communityId 灏忓尯ID + * @param callBack + * @return + */ + public Disposable deliveryRoject(String communityId, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("communityId", communityId); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_DELIVERY_ROJECT); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鎾ゅ洖浜や粯鐨勯」鐩� 宸蹭氦浠樼殑椤圭洰鍙樹负寰呬氦浠� 閽堝閰掑簵鍜屽湴浜ч」鐩� + * + * @param communityId 灏忓尯ID + * @param callBack + * @return + */ + public Disposable withdrawDeliveryProject(String communityId, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("communityId", communityId); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_WITHDRAW_DELIVERY_PROJECT); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + + /******************************鎴垮眿绠$悊******************************/ + /** + * 鑾峰彇椤圭洰鐨勬埧灞嬩俊鎭垪琛紝鍒嗛〉鏌ヨ + * + * @param requestBean 璇锋眰鍙傛暟瀵硅薄 + * @param callBack + * @return + */ + public Disposable getProjecHouseList(HousePageRequestBean requestBean, IProjectHouseListCallBack callBack) { + String requestJsonStr = HDLGsonUtils.toJson(requestBean); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_GET_HOUSE_PAGE); + return HxHttp.builder() + .url(requestUrl) + .raw(requestJsonStr) + .build() + .post() + .subscribeWith(new HDLResponse<ProjectHouseListBean>() { + @Override + public void onResponse(ProjectHouseListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, requestBean, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + public Disposable getProjecHouseListExecute(HousePageRequestBean requestBean, IProjectHouseListCallBack callBack) { + String requestJsonStr = HDLGsonUtils.toJson(requestBean); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_PROJECT_GET_HOUSE_PAGE); + return HxHttp.builder() + .url(requestUrl) + .raw(requestJsonStr) + .build() + .executePost() + .subscribeWith(new HDLResponse<ProjectHouseListBean>() { + @Override + public void onResponse(ProjectHouseListBean response) { + if (callBack != null) { + callBack.onSuccess(response); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, requestBean, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + + } + + /** + * 鎵归噺鏇存柊鎴垮眿璋冭瘯鐘舵�� + * + * @param communityCode 椤圭洰code + * @param debugStatus 璋冭瘯鐘舵�� 0锛氬緟璋冭瘯 1锛氳皟璇曚腑 2锛氬緟楠屾敹 3锛氬凡瀹屾垚 4锛氬凡浜や粯锛屼负绌哄垯涓嶈繃婊� + * @param houseIds 鎴垮眿id闆嗗悎 + * @param callBack + * @return + */ + public Disposable batchChangeHouseDebugstatus(String communityCode, int debugStatus, List<String> houseIds, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("communityCode", communityCode); + json.addProperty("debugStatus", debugStatus); + json.add("houseIds", HDLGsonUtils.toJsonArray(houseIds)); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_BATCH_UPDATE_STATUS); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + /** + * 璁惧鍩烘湰淇℃伅(oid) + * + * @param homeId + * @param devicesInfo + * @param callBack + * @return + */ + public Disposable fullUpdateDeviceInfo(String homeId, JsonArray devicesInfo, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.add("devices", devicesInfo); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_DEVICE_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + + /** + * 鏇存柊鍔熻兘淇℃伅锛屽叏閲� + */ + public Disposable fullUpdateFunctionListInfo(String homeId, String gatewayId, JsonArray functionListInfo, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.addProperty("gatewayId", gatewayId); + json.add("devices", functionListInfo); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_FUNCTION_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable fullUpdateSceneListInfo(String homeId, JsonArray data, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.add("scenes", data); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_SCENE_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable fullUpdateLogicListInfo(String homeId, JsonArray data, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.add("logics", data); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_LOGIC_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable fullUpdateUidInfo(String homeId, JsonArray data, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.add("rooms", data); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_ROOM_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable fullUpdateSecuritysListInfo(String homeId, String gatewayId, JsonArray data, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.addProperty("gatewayId", gatewayId); + json.add("securitys", data); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_SECURITY_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + public Disposable fullAddGroupControlList(String homeId, String gatewayId, JsonArray data, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.addProperty("gatewayId", gatewayId); + json.add("infos", data); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSE_GROUPCONTROL_FULL_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .executePost() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable updateHouseName(String homeId, String homeName, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); + json.addProperty("homeName", homeName); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_HOUSENAME_UPDATE); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable addDownloadCount(String driverVersionId) { + JsonObject json = new JsonObject(); + json.addProperty("driverVersionId", driverVersionId); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_ADD_DOWNLOADCOUNT); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + } + }); + } + + public Disposable addDownloadFirmwareCount(String firmwareVersionId) { + JsonObject json = new JsonObject(); + json.addProperty("firmwareVersionId", firmwareVersionId); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_ADD_FIRMWARE_DOWNLOADCOUNT); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + } + }); + } + + public Disposable addDownloadThirdCount(String thirdFirmwareVersionId) { + JsonObject json = new JsonObject(); + json.addProperty("thirdFirmwareVersionId", thirdFirmwareVersionId); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_ADD_THIRD_DOWNLOADCOUNT); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + } + }); + } + + + /******************************鏋佸厜鎺ㄩ��******************************/ + + public Disposable bindJPushId(String deviceName, String pushToken, String software, IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("deviceName", deviceName); + json.addProperty("deviceType", "Android"); + json.addProperty("produce", "true"); + json.addProperty("pushToken", pushToken); + json.addProperty("software", software); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_JPUSH_BIND); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + HDLLinkPMUser.getInstance().saveHDLJpushId(response); + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } + + public Disposable unBindJPushId(IDefaultCallBack callBack) { + JsonObject json = new JsonObject(); + json.addProperty("pushId", HDLLinkPMUser.getInstance().getHDLJpushId()); + String requestUrl = HDLCloudProjectApi.getRequestUrl(HDLCloudProjectApi.POST_JPUSH_UNBIND); + return HxHttp.builder() + .url(requestUrl) + .raw(json.toString()) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String response) { + if (callBack != null) { + callBack.onSuccess(); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, json, e); + if (callBack != null) { + callBack.onFailure(e); + } + } + }); + } +} -- Gitblit v1.8.0