房间标签管理

更新时间:2024-08-28 01:53:29下载pdf

概述

房间标签是公版新增能力,可以给房间分标签。房间标签管理对应 FamilyManagerCoreKit.getRoomTagUseCase() 接口,实现对家庭的操作。

业务拓展 SDK 的房间标签信息都使用 RoomGroupBean 来描述,RoomGroupBean 的属性说明如下:

属性 类型 描述
roomGroupId Long 房间标签 ID
roomGroupName String 房间标签名称
rooms List 房间标签下的所属房间
index Int 房间标签排序

RoomBean 的属性说明如下:

属性 类型 描述
roomId Long 房间 ID
roomName String 房间名称
devSize Int 房间下的设备数量,包含群组和设备,依赖 HomeSDK 的缓存,没有缓存的情况下为 0
index Int 房间排序

获取房间标签列表

获取房间标签信息列表,其中信息不包含房间列表(rooms),只有房间组的 ID、名称和排序。

接口说明

fun getRoomTagList(
   familyId: Long,
   callback: IResponse<ArrayList<RoomGroupBean>>
 )

参数说明

参数 说明
familyId 家庭 ID
callback 查询结果的回调

调用示例

FamilyManagerCoreKit.getRoomTagUseCase().getRoomTagList(familyId, object :IResponse<ArrayList<RoomGroupBean>>{
            override fun onSuccess(result: ArrayList<RoomGroupBean>?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

获取房间归属房间组标签信息

获取房间分组标签信息列表,其中信息包含房间列表(rooms)。此外,没有分组标签的房间都在默认分组标签里,默认分组 ID 为 0

接口说明

fun getAllRoomLists(
        familyId: Long,
        callback: IResponse<ArrayList<RoomGroupBean>>
    )

参数说明

参数 说明
familyId 家庭 ID
callback 查询结果的回调,没有分组的房间都在默认分组里,默认分组 ID 为 0

调用示例

FamilyManagerCoreKit.getRoomTagUseCase().getAllRoomLists(familyId,object :IResponse<ArrayList<RoomGroupBean>>{
            override fun onSuccess(result:ArrayList<RoomGroupBean>?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

创建房间标签

新建房间标签,默认排序在最后。

接口说明

fun addRoomTag(
        familyId: Long,
        name: String,
        callback: IResponse<String>
    )

参数说明

参数 说明
familyId 家庭 ID
name 房间标签名称
callback 查询结果的回调

调用示例

FamilyManagerCoreKit.getRoomTagUseCase().addRoomTag(familyId,”一楼“ object :IResponse<String>{
            override fun onSuccess(result:String?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

解散房间组标签

解散房间组标签,不会删除房间标签下的房间。

接口说明

 fun removeRoomTag(
        roomTagId: Long,
        callback: IResponse<Boolean>
    )

参数说明

参数 说明
roomTagId 房间组标签 ID
callback 查询结果的回调

调用示例

FamilyManagerCoreKit.getRoomTagUseCase().removeRoomTag(rtagId,object :IResponse<Boolean>{
            override fun onSuccess(result:Boolean?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

修改房间组标签名称

接口说明

 fun updateRoomTagName(
        roomTagId: Long,
        name: String,
        callback: IResponse<String>
    )

参数说明

参数 说明
roomTagId 房间组标签 ID
name 新的房间标签名称
callback 查询结果的回调

调用示例

FamilyManagerCoreKit.getRoomTagUseCase().updateRoomTagName(rtagId,”一楼过道“,object :IResponse<Boolean>{
            override fun onSuccess(result:Boolean?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

房间组标签排序

接口说明

fun updateRoomTagSortInList(
        gid: Long,
        roomTagIds: List<String>,
        callback: IResponse<String>
    )

参数说明

参数 说明
gid 家庭 ID
roomTagIds 房间组标签 ID 集合
callback 查询结果的回调

调用示例

val list = listof("tagid1","tagid2","tagid3")
FamilyManagerCoreKit.getRoomTagUseCase().updateRoomTagSortInList(gid,rtagId,list ,object :IResponse<String>{
            override fun onSuccess(result:String?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

修改房间归属房间组标签信息

修改房间归属房间组标签信息,包含修改房间组标签排序,以及房间组下房间的新增、删除和房间列表排序。

接口说明

fun managerAndSortRoomInTagsList(
        gid: Long,
        roomTagIds: List<String>,
        roomGroupIds: Map<String, List<String>>,
        callback: IResponse<String>
    )

参数说明

参数 说明
gid 家庭 ID
roomTagIds 房间组标签 ID 集合
roomGroupIds 房间组下的房间列表,0 对应默认分组
callback 查询结果的回调

调用示例

val list = listof("tagid1","tagid2","tagid3")
val roomGroupIds = hashMapOf(Pair("0", listOf("roomid1","roomid2","roomid3")),Pair("tagid1", listOf("roomid12","roomid13","roomid14")))

FamilyManagerCoreKit.getRoomTagUseCase().managerAndSortRoomInTagsList(gid,list ,roomGroupIds,object :IResponse<String>{
            override fun onSuccess(result:String?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })

添加房间并且携带归属房间组标签信息

添加房间,可以携带房间标签信息,目前接口可以支持一对多的标签。

接口说明

 fun addRoomWithTag(
        gid: Long,
        name: String,
        roomTagIds: List<String>,
        callback: IResponse<String>
    )

参数说明

参数 说明
gid 家庭 ID
name 房间名称
roomTagIds 房间组标签 ID 集合
callback 查询结果的回调

调用示例

FamilyManagerCoreKit.getRoomTagUseCase().addRoomWithTag(gid,”阳台“,listof("tagid"),object :IResponse<String>{
            override fun onSuccess(result:String?) {
               //successful
            }

            override fun onError(errorCode: String?, errorMessage: String?) {

            }
        })