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);
|
}
|
}
|
});
|
}
|
}
|