| | |
| | | |
| | | namespace HDL_ON.Entity |
| | | { |
| | | public class GroupControl |
| | | public class GroupControl : Function |
| | | { |
| | | public GroupControl() |
| | | { |
| | | spk = "GroupControl"; |
| | | } |
| | | /// <summary> |
| | | /// 群控ID |
| | | /// </summary> |
| | | public string userDeviceGroupControlId = string.Empty; |
| | | /// <summary> |
| | | /// 群控sid |
| | | /// </summary> |
| | | public string sid = string.Empty; |
| | | //public string sid = string.Empty; |
| | | /// <summary> |
| | | /// 生成群控sid |
| | | /// </summary> |
| | | public string NewGroupControlSid() |
| | | { |
| | | string sceneId = ""; |
| | | try |
| | | { |
| | | string sOidBeginsWith = "000101";//厂商 + 通讯方式 |
| | | DateTime dt = DateTime.Now; |
| | | DateTime startTime = TimeZoneInfo.ConvertTimeToUtc(new DateTime(2020, 1, 1)); |
| | | long m = (long)((dt - startTime).TotalMilliseconds / 10); |
| | | string sTimeSpan = "00000000"; |
| | | |
| | | byte[] arry = new byte[4]; |
| | | arry[0] = (byte)(m & 0xFF); |
| | | arry[1] = (byte)((m & 0xFF00) >> 8); |
| | | arry[2] = (byte)((m & 0xFF0000) >> 16); |
| | | arry[3] = (byte)((m >> 24) & 0xFF); |
| | | sTimeSpan = arry[0].ToString("X2") + arry[1].ToString("X2") + arry[2].ToString("X2") + arry[3].ToString("X2"); |
| | | |
| | | |
| | | if (sTimeSpan.Length >= 8) |
| | | { |
| | | sTimeSpan = sTimeSpan.Substring(0, 8); |
| | | } |
| | | else |
| | | { |
| | | sTimeSpan = Guid.NewGuid().ToString().Substring(0, 8); |
| | | //sTimeSpan = "00000000"; |
| | | } |
| | | |
| | | sceneId = sOidBeginsWith + sTimeSpan; |
| | | |
| | | sceneId += "AA"; |
| | | sceneId += "AA01"; |
| | | int maxId = 1; |
| | | |
| | | Random random = new Random(Guid.NewGuid().GetHashCode()); |
| | | maxId = random.Next(10); |
| | | |
| | | sceneId += (maxId + 1).ToString("X4"); |
| | | sceneId += "0000"; |
| | | } |
| | | catch |
| | | { |
| | | return sceneId; |
| | | } |
| | | return sceneId; |
| | | } |
| | | /// <summary> |
| | | /// 群控名称 |
| | | /// </summary> |
| | | public string name = string.Empty; |
| | | //public string name = string.Empty; |
| | | /// <summary> |
| | | /// 群控类型 |
| | | /// </summary> |
| | |
| | | /// 房间uid |
| | | /// </summary> |
| | | public List<String> uids = new List<string>(); |
| | | public List<String> roomIds = new List<string>(); |
| | | //public List<String> roomIds = new List<string>(); |
| | | /// <summary> |
| | | /// 群控功能sid配置 |
| | | /// </summary> |
| | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 获取设备添加到房间的房间名称 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public string GetRoomListName() |
| | | { |
| | | string roomNameList = ""; |
| | | foreach (var roomId in roomIds) |
| | | { |
| | | var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId); |
| | | if (findRoom == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (roomNameList != "") |
| | | { |
| | | roomNameList += ","; |
| | | } |
| | | roomNameList += findRoom.floorName + "-" + findRoom.roomName; |
| | | } |
| | | if (roomNameList == "") |
| | | { |
| | | roomNameList = Language.StringByID(StringId.WholeZone); |
| | | } |
| | | return roomNameList; |
| | | } |
| | | ///// <summary> |
| | | ///// 获取设备添加到房间的房间名称 |
| | | ///// </summary> |
| | | ///// <returns></returns> |
| | | //public string GetRoomListName() |
| | | //{ |
| | | // string roomNameList = ""; |
| | | // foreach (var roomId in roomIds) |
| | | // { |
| | | // var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId); |
| | | // if (findRoom == null) |
| | | // { |
| | | // continue; |
| | | // } |
| | | // if (roomNameList != "") |
| | | // { |
| | | // roomNameList += ","; |
| | | // } |
| | | // roomNameList += findRoom.floorName + "-" + findRoom.roomName; |
| | | // } |
| | | // if (roomNameList == "") |
| | | // { |
| | | // roomNameList = Language.StringByID(StringId.WholeZone); |
| | | // } |
| | | // return roomNameList; |
| | | //} |
| | | } |
| | | |
| | | public class GroupControlFunction |
| | |
| | | /// </summary> |
| | | public string spk = string.Empty; |
| | | } |
| | | |
| | | |
| | | public class GroupControlType |
| | | { |
| | | /// <summary> |
| | | /// 类型 |
| | | /// </summary> |
| | | public string type = string.Empty; |
| | | /// <summary> |
| | | /// 类型名称 |
| | | /// </summary> |
| | | public string typeName = string.Empty; |
| | | /// <summary> |
| | | /// 群控支持的spk |
| | | /// </summary> |
| | | public List<string> spks = new List<string>(); |
| | | /// <summary> |
| | | /// 群控支持的spk属性 |
| | | /// </summary> |
| | | public List<string> spkAttrs = new List<string>(); |
| | | } |
| | | } |
| | | |