瀏覽代碼

更新Lecture查询

CrazyIter 5 年之前
父節點
當前提交
62c892ae9d

+ 1 - 1
HiTeachCE/Context/DBContext.cs

@@ -98,7 +98,7 @@ namespace HiTeachCE.Context
         /// 根据主键查询
         /// </summary>
         /// <returns></returns>
-        public virtual List<Entity> GetById(dynamic id)
+        public virtual  Entity  GetById(dynamic id)
         {
             return CurrentDb.GetById(id);
         }

+ 90 - 18
HiTeachCE/Controllers/LecturerController.cs

@@ -28,53 +28,125 @@ namespace HiTeachCE.Controllers
 {
     [Route("api/[controller]")]
     [ApiController]
-   
+
     public class LecturerController : BaseController
     {
-      
+
         private readonly LecturerService lecturerService;
-        public LecturerController(LecturerService lecturer) {
+        public LecturerController(LecturerService lecturer)
+        {
             lecturerService = lecturer;
-            
-        }
-
-
 
+        }
 
         /// <summary>
         /// 获取知识
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
-        [HttpGet("GetId")]
-        public BaseJosnRPCResponse GetList()
+        [HttpPost("list")]
+        [Authorize(Roles = "root")]
+        public BaseJosnRPCResponse list(JosnRPCRequest<Dictionary<string, string>> request)
         {
             // request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
-            List<Lecturer> data = lecturerService.GetList();
-            return builder.Data(Guid.NewGuid()).build();
+            List<Lecturer> lecturers = new List<Lecturer>();
+            Expression<Func<Lecturer, bool>> linq = null;
+            if (request.@params.TryGetValue("cellphone", out string cellphone) && !string.IsNullOrEmpty(cellphone))
+            {
+                linq = m => m.cellphone == cellphone;
+            }
+            if (request.@params.TryGetValue("account", out string account) && !string.IsNullOrEmpty(account))
+            {
+                linq = m => m.account == account;
+            }
+            if (request.@params.TryGetValue("username", out string username) && !string.IsNullOrEmpty(username))
+            {
+                linq = m => m.username.Contains(username);
+            }
+            if (request.@params.TryGetValue("id", out string id) && !string.IsNullOrEmpty(id))
+            {
+                linq = m => m.id==id;
+            }
+            if (linq != null)
+            {
+                lecturers = lecturerService.GetList(linq);
+            }
+            lecturers.ForEach(x => { x.password = null; });
+            return builder.Data(lecturers).build();
         }
         /// <summary>
         /// 获取知识
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
-        [HttpPost("GetList")]
-        [Authorize(Roles  = "admin")]
-        public  BaseJosnRPCResponse GetList(JosnRPCRequest<Dictionary<string, object>> request)
+        [HttpPost("update")]
+        [Authorize(Roles = "root")]
+        public BaseJosnRPCResponse update(JosnRPCRequest<Lecturer> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            Lecturer lecturer = lecturerService.GetById(request.@params.id);
+            bool b = false;
+            if (lecturer != null)
+            {
+                if (!string.IsNullOrEmpty(request.@params.password))
+                {
+                    request.@params.password = BCrypt.Net.BCrypt.HashPassword(request.@params.password);
+                }
+                else
+                {
+                    request.@params.password = lecturer.password;
+                }
+                request.@params.unionid = lecturer.unionid;
+                if (lecturer.setaccount != 0)
+                {
+                    request.@params.account = lecturer.account;
+                }
+                request.@params.registerTime = lecturer.registerTime;
+                request.@params.cellphone = lecturer.cellphone;
+                request.@params.areaCode = lecturer.areaCode;
+                b = lecturerService.Update(request.@params);
+            }
+            return builder.Data(b).build();
+        }
+
+
+
+
+        /// <summary>
+        /// 获取知识
+        /// </summary>
+        /// <param name="request"></param>
+        /// <returns></returns>
+        [HttpGet("GetId")]
+        public BaseJosnRPCResponse GetList()
         {
             // request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
-            List<Lecturer> data = lecturerService.GetList() ;
+            List<Lecturer> data = lecturerService.GetList();
             return builder.Data(Guid.NewGuid()).build();
         }
+        ///// <summary>
+        ///// 获取知识
+        ///// </summary>
+        ///// <param name="request"></param>
+        ///// <returns></returns>
+        //[HttpPost("GetList")]
+        //[Authorize(Roles  = "admin")]
+        //public  BaseJosnRPCResponse GetList(JosnRPCRequest<Dictionary<string, object>> request)
+        //{
+        //    // request.@params.TryAdd("PartitionKey", request.lang);
+        //    JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+        //    List<Lecturer> data = lecturerService.GetList() ;
+        //    return builder.Data(Guid.NewGuid()).build();
+        //}
         /// <summary>
         /// 获取知识
         /// </summary>
         /// <param name="request"></param>
         /// <returns></returns>
         [HttpPost("GetList1")]
-        [Authorize(Policy  = "admin")]
+        [Authorize(Policy = "admin")]
         public BaseJosnRPCResponse GetList1(JosnRPCRequest<Dictionary<string, object>> request)
         {
             // request.@params.TryAdd("PartitionKey", request.lang);
@@ -92,8 +164,8 @@ namespace HiTeachCE.Controllers
         {
             // request.@params.TryAdd("PartitionKey", request.lang);
             JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
-           
+
             return builder.Data(Guid.NewGuid()).build();
         }
-     }
+    }
 }

+ 1 - 0
HiTeachCE/Extension/Jwt/JwtAuth.cs

@@ -91,6 +91,7 @@ namespace HiTeachCE.Extension
                 options.AddPolicy("admin", policy => policy.RequireRole("admin").Build());
                 options.AddPolicy("lecturer", policy => policy.RequireRole("lecturer").Build());
                 options.AddPolicy("learner", policy => policy.RequireRole("learner").Build());
+                options.AddPolicy("rootOrlearner", policy => policy.RequireRole("root","learner").Build());
             });
         }
     }

+ 1 - 0
HiTeachCE/Models/Lecturer.cs

@@ -28,5 +28,6 @@ namespace HiTeachCE.Models
         public string email { get; set; }
         public string avatar { get; set; }
         public string gender { get; set; }
+        public string region { get; set; }
     }
 }

+ 2 - 1
HiTeachCE/Program.cs

@@ -18,8 +18,9 @@ namespace HiTeachCE
         public static void Main(string[] args)
         {
             string h1= BCrypt.Net.BCrypt.HashPassword("https://sokrates.habookaclass.biz");
+            string h3 = BCrypt.Net.BCrypt.HashPassword("https://sokrates.habookaclass.biz");
             string h2=  BCrypt.Net.BCrypt.HashPassword(h1);
-            bool validPassword = BCrypt.Net.BCrypt.Verify("$2b$10$iR2zytZV0VvSh.mXJMKsVeA.mGCa0YvZ16INs3ErGyb290gY6fkba", "$2$10$rl55gj1XZuAdmVrd6tRWh.oS4byhlRQ6bmDMqBpG.r36UD7t4AXA2");
+            bool validPassword = BCrypt.Net.BCrypt.Verify(h3, h2);
             CreateHostBuilder(args).Build().Run();
         }