From 60c59ea2ed4ee11a9989fdd4ce0ddace6efe452e Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 04 四月 2023 14:35:46 +0800
Subject: [PATCH] 群控备份

---
 HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs |  136 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 106 insertions(+), 30 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
index 28dea93..e58062f 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CombinedDimming/GroupControl.cs
@@ -4,19 +4,74 @@
 
 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>
@@ -25,7 +80,7 @@
         /// 鎴块棿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>
@@ -33,32 +88,32 @@
 
 
 
-        /// <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
@@ -72,5 +127,26 @@
         /// </summary>
         public string spk = string.Empty;
     }
+
+
+    public class GroupControlType
+    {
+        /// <summary>
+        /// 绫诲瀷
+        /// </summary>
+        public string type = string.Empty;
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public string typeName = string.Empty;
+        /// <summary>
+        /// 缇ゆ帶鏀寔鐨剆pk
+        /// </summary>
+        public List<string> spks = new List<string>();
+        /// <summary>
+        /// 缇ゆ帶鏀寔鐨剆pk灞炴��
+        /// </summary>
+        public List<string> spkAttrs = new List<string>();
+    }
 }
 

--
Gitblit v1.8.0