Browse Source

update 登录信息统计。

CrazyIter_Bin 3 years ago
parent
commit
81f7c07b87

+ 1 - 1
TEAMModelOS.FunctionV4/ServiceBus/ActiveTaskTopic.cs

@@ -1394,7 +1394,7 @@ namespace TEAMModelOS.FunctionV4.ServiceBus
                         var messageChange = new ServiceBusMessage(new   { delete_id =lessonId, tmdid =tmdid,scope=scope,opt="delete",school=school}.ToJsonString());
                         messageChange.ApplicationProperties.Add("name", "LessonRecordEvent");
                         await _serviceBus.GetServiceBusClient().SendMessageAsync(ActiveTask, messageChange);
-                        await _dingDing.SendBotMsg($"课例因【{lessonRecord.name}】,课例ID:【{lessonRecord.id}】时间到期,即将被自动删除,到期时间:" +
+                        await _dingDing.SendBotMsg($"课例:【{lessonRecord.name}】\n课例ID:【{lessonRecord.id}】\n因时间到期,即将被自动删除,到期时间:" +
                             $"{lessonRecord.expire}\n{lessonRecord.ToJsonString()}", GroupNames.成都开发測試群組);
                     }
                 }

+ 5 - 1
TEAMModelOS.SDK/Models/Cosmos/Student/Student.cs

@@ -2,6 +2,7 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
+using static TEAMModelOS.SDK.Models.Teacher;
 
 namespace TEAMModelOS.SDK.Models
 {  
@@ -32,7 +33,10 @@ namespace TEAMModelOS.SDK.Models
         //补充留级信息
         //0在校,1留级,2退学 3毕业
         public int status { get; set; } = 0;
-
+        /// <summary>
+        /// 保留当天的登录信息
+        /// </summary>
+        public List<LoginInfo> loginInfos { get; set; } = new List<LoginInfo>();
         //public List<StudentParent> parents { get; set; }= new List<StudentParent>();
     }
     public class StudentParent {

+ 5 - 0
TEAMModelOS.SDK/Models/Cosmos/Student/TmdUser.cs

@@ -2,6 +2,7 @@ using System;
 using System.Collections.Generic;
 using System.Text;
 using TEAMModelOS.SDK.Models;
+using static TEAMModelOS.SDK.Models.Teacher;
 
 namespace TEAMModelOS.SDK
 {
@@ -11,6 +12,10 @@ namespace TEAMModelOS.SDK
         public string picture { get; set; }
         public string defaultSchool { get; set; }
         public List<School> schools { get; set; }
+        /// <summary>
+        /// ±£Áôµ±ÌìµÄµÇ¼ÐÅÏ¢
+        /// </summary>
+        public List<LoginInfo> loginInfos { get; set; } = new List<LoginInfo>();
         public class School
         {
             public string schoolId { get; set; }

+ 20 - 0
TEAMModelOS.SDK/Models/Cosmos/Teacher/Teacher.cs

@@ -16,6 +16,26 @@ namespace TEAMModelOS.SDK.Models
         public List<ThirdBind> binds { get; set; } = new List<ThirdBind>();
         public int lessonLimit { get; set; } = 0;
         public List<string> lessonShow { get; set; } = new List<string>();
+
+        /// <summary>
+        /// 保留当天的登录信息
+        /// </summary>
+        public List<LoginInfo> loginInfos { get; set; } = new List<LoginInfo>();
+
+        public class LoginInfo {
+            /// <summary>
+            /// 时间戳 毫秒
+            /// </summary>
+            public long time { get; set; }
+            /// <summary>
+            /// ip地址
+            /// </summary>
+            public string ip { get; set; }
+            /// <summary>
+            /// token到期时间
+            /// </summary>
+            public long exp { get; set;}
+        }
         public class TeacherSchool
         {
             public string schoolId { get; set; }

+ 138 - 0
TEAMModelOS.SDK/Models/Table/IESLogin.cs

@@ -0,0 +1,138 @@
+using Microsoft.Azure.Cosmos.Table;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.SDK.Context.Attributes.Azure;
+
+namespace TEAMModelOS.SDK.Models.Table
+{
+    [TableName(Name = "IESLogin")]
+    public class UserLogin : TableEntity
+    {
+        ///// <summary>
+        ///// UserLogin
+        ///// </summary>
+        //public string PartitionKey { get; set; }
+        ///// <summary>
+        ///// tmdid或者校内账户  stuid-schoolid 
+        ///// </summary>
+        //public string RowKey { get; set; }
+        //public string School { get; set; }
+        ///// <summary>
+        ///// tmdid或者校内id
+        ///// </summary>
+        //public string UserId { get; set; }
+        ///// <summary>
+        ///// 角色
+        ///// </summary>
+        //public string Role { get; set; }
+        ///// <summary>
+        ///// 2022050511  yyyyMMddHH
+        ///// </summary>
+        //public int Hour { get; set; }
+        ///// <summary>
+        ///// 20220505  yyyyMMdd
+        ///// </summary>
+        //public int Day { get; set; }
+        ///// <summary>
+        ///// 时间戳 毫秒
+        ///// </summary>
+        //public long  Time{ get; set; }
+    }
+
+
+    /// <summary>
+    /// 小时峰值统计登录信息
+    /// </summary>
+    [TableName(Name = "IESLogin")]
+    public class HourLogin : TableEntity
+    {
+        /// <summary>
+        /// HourLogin
+        /// </summary>
+        public string PartitionKey { get; set; }
+        /// <summary>
+        /// 2022050511  yyyyMMddHH
+        /// </summary>
+        public string RowKey { get; set; }
+        /// <summary>
+        /// 2022050512  yyyyMMddHH
+        /// </summary>
+        public int Hour { get; set; }
+        public int Teacher { get; set; }
+        public int Student { get; set; }
+        public int TmdUser { get; set; }
+    }
+
+    /// <summary>
+    /// 按天统计登录信息
+    /// </summary>
+    [TableName(Name = "IESLogin")]
+    public class DayLogin : TableEntity
+    {
+        /// <summary>
+        /// DayLogin
+        /// </summary>
+        public string PartitionKey { get; set; }
+        /// <summary>
+        /// 20220505  yyyyMMdd
+        /// </summary>
+        public string RowKey { get; set; }
+        /// <summary>
+        /// 20220505  yyyyMMdd
+        /// </summary>
+        public int Day { get; set; }
+        public int Teacher { get; set; }
+        public int Student { get; set; }
+        public int TmdUser { get; set; }
+    }
+
+    /// <summary>
+    /// 学校按天统计登录信息
+    /// </summary>
+    [TableName(Name = "IESLogin")]
+    public class DayLoginSchool : DayLogin
+    {
+        /// <summary>
+        /// DayLogin-hbcn学校编码
+        /// </summary>
+        public string PartitionKey { get; set; }
+        /// <summary>
+        /// 20220505  yyyyMMdd
+        /// </summary>
+        public string RowKey { get; set; }
+        /// <summary>
+        /// 20220505  yyyyMMdd
+        /// </summary>
+        public int Day { get; set; }
+        public int Teacher { get; set; }
+        public int Student { get; set; }
+        public string School { get; set; }
+    }
+
+    /// <summary>
+    ///  学校小时峰值统计登录信息
+    /// </summary>
+    [TableName(Name = "IESLogin")]
+    public class HourLoginSchool : HourLogin
+    {
+        /// <summary>
+        /// HourLogin-hbcn学校编码
+        /// </summary>
+        public string PartitionKey { get; set; }
+        /// <summary>
+        /// 2022050511  yyyyMMddHH
+        /// </summary>
+        public string RowKey { get; set; }
+        /// <summary>
+        /// 20220505  yyyyMMdd
+        /// </summary>
+        public int Hour { get; set; }
+        public int Teacher { get; set; }
+        public int Student { get; set; }
+       
+        public string School { get; set; }
+    }
+}

+ 1 - 1
TEAMModelOS/Controllers/School/SchoolController.cs

@@ -1646,7 +1646,7 @@ namespace TEAMModelOS.Controllers
                             {
                                 if (!string.IsNullOrWhiteSpace(t.email))
                                 {
-                                    CoreUser coreUser = coreUsers.Find(x => x.mail.Equals(t.email));
+                                    CoreUser coreUser = coreUsers.Find(x =>!string.IsNullOrWhiteSpace(x.mail)&&  x.mail.Equals(t.email));
                                     if (coreUser != null)
                                     {
                                         t.id = coreUser.id;

+ 1 - 1
TEAMModelOS/Controllers/School/SchoolTeacherController.cs

@@ -212,7 +212,7 @@ namespace TEAMModelOS.Controllers
                             {
                                 if (!string.IsNullOrWhiteSpace(t.email))
                                 {
-                                    CoreUser coreUser = coreUsers.Find(x => x.mail.Equals(t.email));
+                                    CoreUser coreUser = coreUsers.Find(x =>!string.IsNullOrWhiteSpace(x.mail)  && x.mail.Equals(t.email));
                                     if (coreUser != null)
                                     {
                                         t.id = coreUser.id;