New file |
| | |
| | | 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、ProjectType.RealEstate、ProjectType.PublicBuilding、ProjectType.Hotel |
| | | * @param communityName 通过项目名称模糊查询 |
| | | * @param debugStatus 数组 调试状态 To_Be_Debugged(0, "待调试")、Debugging(1, "调试中")、WAIT_DELIVERED(3, "待交付")、Delivered(4, "已交付")、INITIAL_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 所属企业单位id |
| | | * @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); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |