New file |
| | |
| | | package com.hdl.linkpm.sdk.project; |
| | | |
| | | import com.google.gson.JsonArray; |
| | | 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.home.bean.GatewayBindBean; |
| | | import com.hdl.linkpm.sdk.home.bean.GatewayInfoBean; |
| | | import com.hdl.linkpm.sdk.home.bean.HomeInfoBean; |
| | | import com.hdl.linkpm.sdk.home.controller.HDLPMHomeController; |
| | | 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.NewProjectRequestBean; |
| | | 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.project.controller.HDLPMProjectController; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * Created by jlchen on 12/8/21. |
| | | * 项目管理相关 |
| | | */ |
| | | public class HDLLinkPMProject { |
| | | //instance |
| | | private volatile static HDLLinkPMProject instance; |
| | | |
| | | /** |
| | | * getInstance |
| | | * |
| | | * @return HDLLinkProject |
| | | */ |
| | | public static synchronized HDLLinkPMProject getInstance() { |
| | | if (instance == null) { |
| | | synchronized (HDLLinkPMProject.class) { |
| | | if (instance == null) { |
| | | instance = new HDLLinkPMProject(); |
| | | } |
| | | } |
| | | } |
| | | return instance; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取指定公司员工列表 支持名称模糊查询 |
| | | * |
| | | * @param companyId 公司ID |
| | | * @param userName 名称模糊查询 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getDebuggerList(String companyId, String userName, IEmployeeInfoCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getDebuggerList(companyId, userName, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 添加调试人员、转移调试人员 |
| | | * |
| | | * @param houseId 住宅id |
| | | * @param userId 用户id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void changeHomeDebugger(String houseId, String userId, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().changeHomeDebugger(houseId, userId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 批量添加调试人员、转移调试人员 |
| | | * |
| | | * @param houseIds 住宅id 列表 |
| | | * @param userId 用户id |
| | | * @param communityCode 社区code |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void batchChangeHomeDebugger(List<String> houseIds, String userId, String communityCode, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().batchChangeHomeDebugger(houseIds, userId, communityCode, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 获取项目列表、指定项目类型查询所有调试状态 |
| | | * |
| | | * @param projectTypes 数组 项目类型 ProjectType.Home、ProjectType.RealEstate、ProjectType.PublicBuilding、ProjectType.Hotel |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getProjectList(List<String> projectTypes, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getProjectList(projectTypes, "", null, pageNo, pageSize, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 获取项目列表 |
| | | * 支持根据项目类型 |
| | | * 支持根据项目名字模糊查询 |
| | | * 支持更加调试状态集合查询 |
| | | * |
| | | * @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 void getProjectList(List<String> projectTypes, String communityName, List<String> debugStatus, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getProjectList(projectTypes, communityName, debugStatus, pageNo, pageSize, callBack); |
| | | } |
| | | |
| | | public void getRedebugProjectList(String communityName,String companyId,String debugUserId, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getReDebugProjectList(communityName,companyId, debugUserId, pageNo, pageSize, callBack); |
| | | } |
| | | |
| | | public void getProjectListExcuse(List<String> projectTypes, String communityName, List<String> debugStatus, int pageNo, int pageSize, IProjectInfoListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getProjectListExecute(projectTypes, communityName, debugStatus, pageNo, pageSize, callBack); |
| | | } |
| | | |
| | | public void addDownloadCount(String driverVersionId) { |
| | | HDLPMProjectController.getInstance().addDownloadCount(driverVersionId); |
| | | } |
| | | |
| | | public void addDownloadFirmwareCount(String firmwareVersionId) { |
| | | HDLPMProjectController.getInstance().addDownloadFirmwareCount(firmwareVersionId); |
| | | } |
| | | |
| | | public void addDownloadThirdCount(String thirdFirmwareVersionId) { |
| | | HDLPMProjectController.getInstance().addDownloadThirdCount(thirdFirmwareVersionId); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 新建项目 |
| | | * |
| | | * @param newProjectRequestBean 项目信息对象 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void addNewHouseProject(NewProjectRequestBean newProjectRequestBean, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().addNewHouseProject(newProjectRequestBean, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 交付项目 所有房屋处于已交付状态才通过 否则提示尚未有未交付的房屋 |
| | | * 针对酒店和地产项目 |
| | | * |
| | | * @param communityId 小区ID |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void deliveryRoject(String communityId, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().deliveryRoject(communityId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 撤回交付的项目 已交付的项目变为待交付 针对酒店和地产项目 |
| | | * |
| | | * @param communityId 小区ID |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void withdrawDeliveryProject(String communityId, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().withdrawDeliveryProject(communityId, callBack); |
| | | } |
| | | |
| | | /******************************房屋管理******************************/ |
| | | /** |
| | | * 获取项目的房屋信息列表,分页查询 |
| | | * |
| | | * @param requestBean 请求参数对象 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getProjecHouseList(HousePageRequestBean requestBean, IProjectHouseListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getProjecHouseList(requestBean, callBack); |
| | | } |
| | | public void getProjecHouseListExecute(HousePageRequestBean requestBean, IProjectHouseListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().getProjecHouseListExecute(requestBean, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 绑定极光推送 |
| | | * |
| | | * @param communityCode 项目code |
| | | * @param debugStatus 调试状态 0:待调试 1:调试中 2:待验收 3:已完成 4:已交付,为空则不过滤 |
| | | * @param houseIds 房屋id集合 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | |
| | | /** |
| | | * |
| | | * @param deviceName 设备名称 |
| | | * @param pushToken App的推送Token,在极光为RegId 设备类型,可用值:Android、IOS、WinPhone |
| | | * @param software 软件来源,Evoyo、ON、ON_Plus、DebugTreasure |
| | | * @param callBack |
| | | */ |
| | | public void bindJPushId(String deviceName, String pushToken, String software, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().bindJPushId(deviceName, pushToken, software, callBack); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param homeId 住宅id |
| | | * @param homeName 住宅名称 |
| | | * @param callBack |
| | | */ |
| | | public void syncHome(String homeId, String homeName, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().updateHouseName(homeId, homeName, callBack); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 解绑极光推送 |
| | | * |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void unBindJPushId(IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().unBindJPushId(callBack); |
| | | } |
| | | |
| | | /** |
| | | * 批量更新房屋调试状态 |
| | | * |
| | | * @param communityCode 项目code |
| | | * @param debugStatus 调试状态 0:待调试 1:调试中 2:待验收 3:已完成 4:已交付,为空则不过滤 |
| | | * @param houseIds 房屋id集合 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void batchChangeHouseDebugstatus(String communityCode, int debugStatus, List<String> houseIds, IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().batchChangeHouseDebugstatus(communityCode, debugStatus, houseIds, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 获取驱动分页列表 |
| | | * |
| | | * @param driverTypeId 驱动类型id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getDriverList(String driverTypeId, DriverTypeListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().driverList(driverTypeId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 获取驱动分页列表 |
| | | * |
| | | * @param driverId 驱动类型id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getVersionList(String driverId, DriverDetailListCallBack callBack) { |
| | | HDLPMProjectController.getInstance().versionList(driverId, callBack); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询红外设备类型列表 |
| | | * |
| | | * @param deviceType 设备类型 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getIrDeviceTypeList(String deviceType, IResponseCallBack<List<IrDeviceTypeBean>> callBack) { |
| | | HDLPMProjectController.getInstance().getIrDeviceTypeList(deviceType, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 查询红外设备类型的品牌列表 |
| | | * |
| | | * @param deviceTypeId 设备类型主键Id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getIrDeviceBrandList(String deviceTypeId, IResponseCallBack<List<IrDeviceBrandBean>> callBack) { |
| | | HDLPMProjectController.getInstance().getIrDeviceBrandList(deviceTypeId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 查询红外设备类型的品牌红外码库列表 |
| | | * |
| | | * @param brandId 品牌主键Id |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void getIrDeviceCodeList(String brandId, IResponseCallBack<List<IrDeviceCodeBean>> callBack) { |
| | | HDLPMProjectController.getInstance().getIrDeviceCodeList(brandId, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 驱动上传 |
| | | * |
| | | * @param url 驱动下载路径 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void downLoadDriver(String url, DriverDownLoadCallBack callBack) { |
| | | HDLPMProjectController.getInstance().downLoadDriver(url, callBack); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /******************************数据上传云端******************************/ |
| | | /** |
| | | * house表的数据没有同步到home表、数据存在两张表里面,需要客户端调接口同步 |
| | | * |
| | | * @param homeInfoBean 住宅Info |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void synchHouseToHome(HomeInfoBean homeInfoBean, IDefaultCallBack callBack) { |
| | | HDLPMHomeController.getInstance().synchHouseToHome(homeInfoBean, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 绑定网关到住宅 |
| | | * |
| | | * @param bean 网关信息 |
| | | * @param callBack |
| | | * @return |
| | | */ |
| | | public void bindGateway(GatewayBindBean bean, IResponseCallBack<GatewayInfoBean> callBack) { |
| | | HDLPMHomeController.getInstance().bindGateway(bean, callBack); |
| | | } |
| | | |
| | | /** |
| | | * 设备基本信息(oid) |
| | | * @param homeId |
| | | * @param devicesInfo |
| | | * @param callBack |
| | | */ |
| | | public void fullUpdateDeviceInfo(String homeId, JsonArray devicesInfo,IDefaultCallBack callBack){ |
| | | HDLPMProjectController.getInstance().fullUpdateDeviceInfo(homeId, devicesInfo,callBack); |
| | | } |
| | | |
| | | /** |
| | | * 更新功能信息,全量 |
| | | * @param homeId |
| | | * @param funtionListInfo |
| | | * @param callBack |
| | | */ |
| | | public void fullUpdateFunctionInfo(String homeId ,String gatewayId,JsonArray funtionListInfo ,IDefaultCallBack callBack){ |
| | | HDLPMProjectController.getInstance().fullUpdateFunctionListInfo(homeId,gatewayId,funtionListInfo,callBack); |
| | | } |
| | | public void fullUpdateSceneInfo(String homeId ,JsonArray data ,IDefaultCallBack callBack){ |
| | | HDLPMProjectController.getInstance().fullUpdateSceneListInfo(homeId,data,callBack); |
| | | } |
| | | public void fullUpdateLogicInfo(String homeId ,JsonArray data ,IDefaultCallBack callBack){ |
| | | HDLPMProjectController.getInstance().fullUpdateLogicListInfo(homeId,data,callBack); |
| | | } |
| | | public void fullUpdateUidInfo(String homeId ,JsonArray data ,IDefaultCallBack callBack){ |
| | | HDLPMProjectController.getInstance().fullUpdateUidInfo(homeId,data,callBack); |
| | | } |
| | | public void fullUpdateSecuritysListInfo(String homeId,String gatewayId ,JsonArray data ,IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().fullUpdateSecuritysListInfo(homeId, gatewayId, data, callBack); |
| | | } |
| | | public void fullUpdateGroupControlListInfo(String homeId,String gatewayId ,JsonArray data ,IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().fullUpdateSecuritysListInfo(homeId, gatewayId, data, callBack); |
| | | } |
| | | |
| | | public void fullAddGroupControlList(String homeId,String gatewayId ,JsonArray data ,IDefaultCallBack callBack) { |
| | | HDLPMProjectController.getInstance().fullAddGroupControlList(homeId, gatewayId, data, callBack); |
| | | } |
| | | |
| | | } |