From 773b9953ad645b39a9efa8ab6d71dfc9d9e4e22e Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期四, 24 十月 2024 11:51:57 +0800
Subject: [PATCH] 补全了所有日志

---
 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/home/controller/HDLPMHomeController.java |  493 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 493 insertions(+), 0 deletions(-)

diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/home/controller/HDLPMHomeController.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/home/controller/HDLPMHomeController.java
new file mode 100644
index 0000000..153959e
--- /dev/null
+++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/home/controller/HDLPMHomeController.java
@@ -0,0 +1,493 @@
+package com.hdl.linkpm.sdk.home.controller;
+
+import android.text.TextUtils;
+
+import com.google.gson.JsonObject;
+import com.hdl.hdlhttp.HxHttp;
+import com.hdl.linkpm.sdk.core.api.HDLCloudHomeApi;
+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.response.HDLResponse;
+import com.hdl.linkpm.sdk.home.bean.GatewayInfoBean;
+import com.hdl.linkpm.sdk.home.bean.GatewayBindBean;
+import com.hdl.linkpm.sdk.home.bean.HomeInfoBean;
+import com.hdl.linkpm.sdk.home.bean.logic.LogicInfoBean;
+import com.hdl.linkpm.sdk.home.bean.RoomInfoBean;
+import com.hdl.linkpm.sdk.home.bean.RoomInfoListBean;
+import com.hdl.linkpm.sdk.home.bean.logic.SecurityInfoBean;
+import com.hdl.linkpm.sdk.home.callback.IAddRoomListCallBack;
+import com.hdl.linkpm.sdk.home.callback.IRoomListCallBack;
+import com.hdl.linkpm.sdk.utils.HDLExceptionSubmitUtils;
+import com.hdl.linkpm.sdk.utils.HDLGsonUtils;
+
+import java.util.List;
+
+import io.reactivex.rxjava3.disposables.Disposable;
+
+/**
+ * Created by jlchen on 12/3/21.
+ * 浣忓畢鐩稿叧鐨勭綉缁滆姹�
+ */
+public class HDLPMHomeController {
+    /**
+     * instance
+     */
+    private volatile static HDLPMHomeController instance;
+
+    /**
+     * getInstance
+     *
+     * @return HDLHomeController
+     */
+    public static synchronized HDLPMHomeController getInstance() {
+        if (instance == null) {
+            synchronized (HDLPMHomeController.class) {
+                if (instance == null) {
+                    instance = new HDLPMHomeController();
+                }
+            }
+        }
+        return instance;
+    }
+
+    /**
+     * house琛ㄧ殑鏁版嵁娌℃湁鍚屾鍒癶ome琛ㄣ�佹暟鎹瓨鍦ㄤ袱寮犺〃閲岄潰锛岄渶瑕佸鎴风璋冩帴鍙e悓姝�
+     *
+     * @param homeInfoBean 浣忓畢Info
+     * @param callBack
+     * @return
+     */
+    public Disposable synchHouseToHome(HomeInfoBean homeInfoBean, IDefaultCallBack callBack) {
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_PROGRAM_HOME_ADD);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(HDLGsonUtils.toJson(homeInfoBean))
+                .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,homeInfoBean,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+
+    }
+
+    /***************2.鎴块棿绠$悊***************/
+    /**
+     * 鑾峰彇浣忓畢涓嬫埧闂磋〃
+     *
+     * @param homeId   浣忓畢ID
+     * @param roomType 鎴垮眿绫诲瀷 FLOOR  ROOM銆佷负绌虹殑鏃跺�欐煡鍏ㄩ儴
+     * @param pageNo   鍝竴椤�
+     * @param pageSize 椤甸潰澶у皬
+     * @param callBack
+     * @return
+     */
+    public Disposable getRoomList(String homeId, String roomType, int pageNo, int pageSize, IRoomListCallBack callBack) {
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_ROOM_GET_LIST);
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        if (!TextUtils.isEmpty(roomType)) {
+            json.addProperty("roomType", roomType);
+        }
+        json.addProperty("pageNo", pageNo);
+        json.addProperty("pageSize", pageSize);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<RoomInfoListBean>() {
+                    @Override
+                    public void onResponse(RoomInfoListBean 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 homeId   浣忓畢ID
+     * @param roomList 鏈�鏂扮殑鎴块棿鍒楄〃
+     * @param callBack
+     * @return
+     */
+    public Disposable fullAddOrEditRoomList(String homeId, List<RoomInfoBean> roomList, IAddRoomListCallBack callBack) {
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_ROOM_FULL_ADD_OR_EDIT);
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.add("rooms", HDLGsonUtils.toJsonArray(roomList));
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<Boolean>() {
+                    @Override
+                    public void onResponse(Boolean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl,json,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+
+    /***************3.缃戝叧绠$悊***************/
+    /**
+     * 缁戝畾缃戝叧鍒颁綇瀹�
+     *
+     * @param bean     缃戝叧淇℃伅
+     * @param callBack
+     * @return
+     */
+    public Disposable bindGateway(GatewayBindBean bean, IResponseCallBack<GatewayInfoBean> callBack) {
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_BIND);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(HDLGsonUtils.toJson(bean))
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<GatewayInfoBean>() {
+                    @Override
+                    public void onResponse(GatewayInfoBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl,bean,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 寮哄埗缁戝畾缃戝叧
+     * 濡傛灉缁戝畾缃戝叧杩斿洖10510 宸茬粡琚粦瀹氫簡,鍒欒皟杩欎釜鎺ュ彛寮哄埗鎹㈢粦
+     *
+     * @param homeId   浣忓畢ID
+     * @param mac      缃戝叧MAC
+     * @param callBack
+     * @return
+     */
+    public Disposable forceBindGateway(String homeId, String mac, IResponseCallBack<GatewayInfoBean> callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.addProperty("mac", mac);
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_FORCE_BIND);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<GatewayInfoBean>() {
+                    @Override
+                    public void onResponse(GatewayInfoBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl,json,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 瑙g粦缃戝叧
+     *
+     * @param homeId   浣忓畢id
+     * @param gatewayId      缃戝叧gatewayId
+     * @param callBack
+     * @return
+     */
+    public Disposable unbindGateway(String homeId, String gatewayId, IResponseCallBack<Boolean> callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.addProperty("gatewayId", gatewayId);
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_UNBIND);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<Boolean>() {
+                    @Override
+                    public void onResponse(Boolean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl,json,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+    /**
+     * 瑙g粦缃戝叧
+     *
+     * @param mac   缃戝叧mac鍦板潃
+     * @param callBack
+     * @return
+     */
+    public Disposable getGatewayHomeInfo(String mac, IResponseCallBack<GatewayInfoBean> callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("mac", mac);
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_HOMEINFO);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<GatewayInfoBean>() {
+                    @Override
+                    public void onResponse(GatewayInfoBean response) {
+                        if (callBack != null) {
+                            callBack.onSuccess(response);
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl,json,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+    /**
+     * 瑙g粦浠庣綉鍏�
+     *
+     * @param homeId   浣忓畢id
+     * @param oid      璁惧oid
+     * @param callBack
+     * @return
+     */
+    public Disposable unbindFalseGateway(String homeId, String oid,IResponseCallBack<Boolean> callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.addProperty("oid", oid);
+
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_DEVICE_OID_REMOVE);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<Boolean>() {
+                    @Override
+                    public void onResponse(Boolean 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 homeId   浣忓畢id
+     * @param callBack
+     * @return
+     */
+    public Disposable getGatewayList(String homeId, IResponseCallBack<List<GatewayInfoBean>> callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_GET_LIST);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<List<GatewayInfoBean>>() {
+                    @Override
+                    public void onResponse(List<GatewayInfoBean> 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 homeId    浣忓畢id
+     * @param gatewayId 鏃х綉鍏砳d
+     * @param newMac    鏂扮綉鍏砿ac
+     * @param callBack
+     * @return
+     */
+    public Disposable replaceGateway(String homeId, String gatewayId, String newMac, IDefaultCallBack callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.addProperty("gatewayId", gatewayId);
+        json.addProperty("newMac", newMac);
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_GATEWAY_REPLACE);
+        return HxHttp.builder()
+                .url(requestUrl)
+                .raw(json.toString())
+                .build()
+                .post()
+                .subscribeWith(new HDLResponse<List<String>>() {
+                    @Override
+                    public void onResponse(List<String> response) {
+                        if (callBack != null) {
+                            callBack.onSuccess();
+                        }
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        HDLExceptionSubmitUtils.submit(requestUrl,json,e);
+                        if (callBack != null) {
+                            callBack.onFailure(e);
+                        }
+                    }
+                });
+    }
+
+
+    /***************6.鑷姩鍖栧鍒犳敼鏌ョ鐞�***************/
+    /**
+     * 鍏ㄩ噺鏇存柊鍚屾鑷姩鍖栥�佸瓨鍦ㄤ笉鍙�,涓嶅瓨鍦ㄦ柊澧�
+     *
+     * @param homeId   浣忓畢id
+     * @param logics   鑷姩鍖栧垪琛�
+     * @param callBack
+     * @return
+     */
+    public Disposable fullAddLogicList(String homeId, List<LogicInfoBean> logics, IDefaultCallBack callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.add("logics", HDLGsonUtils.toJsonArray(logics));
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_LOGIC_FULL_SYNC);
+        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);
+                        }
+                    }
+                });
+    }
+
+    /***************7.瀹夐槻鍖栧鍒犳敼鏌ョ鐞�***************/
+    /**
+     * 鍏ㄩ噺鏇存柊鍚屾瀹夐槻銆佸瓨鍦ㄤ笉鍙�,涓嶅瓨鍦ㄦ柊澧�
+     *
+     * @param homeId    浣忓畢id
+     * @param gatewayId 缃戝叧ID
+     * @param securitys 瀹夐槻鍒楄〃
+     * @param callBack
+     * @return
+     */
+    public Disposable fullAddSecurityList(String homeId, String gatewayId, List<SecurityInfoBean> securitys, IDefaultCallBack callBack) {
+        JsonObject json = new JsonObject();
+        json.addProperty("homeId", homeId);
+        json.addProperty("gatewayId", gatewayId);
+        json.add("securitys", HDLGsonUtils.toJsonArray(securitys));
+        String requestUrl = HDLCloudHomeApi.getRequestUrl(HDLCloudHomeApi.POST_SECURITY_FULL_SYNC);
+        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