LecturerController.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using Hei.Captcha;
  2. using HiTeachCE.Context;
  3. using HiTeachCE.Extension;
  4. using HiTeachCE.Helpers;
  5. using HiTeachCE.Models;
  6. using HiTeachCE.Services;
  7. using IdentityModel;
  8. using Microsoft.AspNetCore.Authorization;
  9. using Microsoft.AspNetCore.Mvc;
  10. using Microsoft.Extensions.Configuration;
  11. using System;
  12. using System.Collections.Generic;
  13. using System.Linq;
  14. using System.Linq.Expressions;
  15. using System.Security.Claims;
  16. using System.Text.Json;
  17. using System.Threading.Tasks;
  18. using TEAMModelOS.SDK.Context.Configuration;
  19. using TEAMModelOS.SDK.Context.Exception;
  20. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
  21. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
  22. using TEAMModelOS.SDK.Extension.JwtAuth.Models;
  23. using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
  24. using TEAMModelOS.SDK.Helper.Common.JsonHelper;
  25. using TEAMModelOS.SDK.Helper.Security.ShaHash;
  26. namespace HiTeachCE.Controllers
  27. {
  28. [Route("api/[controller]")]
  29. [ApiController]
  30. public class LecturerController : BaseController
  31. {
  32. private readonly LecturerService lecturerService;
  33. public LecturerController(LecturerService lecturer)
  34. {
  35. lecturerService = lecturer;
  36. }
  37. /// <summary>
  38. /// 获取知识
  39. /// </summary>
  40. /// <param name="request"></param>
  41. /// <returns></returns>
  42. [HttpPost("list")]
  43. [Authorize(Roles = "root")]
  44. public BaseJosnRPCResponse list(JosnRPCRequest<Dictionary<string, string>> request)
  45. {
  46. // request.@params.TryAdd("PartitionKey", request.lang);
  47. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  48. List<Lecturer> lecturers = new List<Lecturer>();
  49. Expression<Func<Lecturer, bool>> linq = null;
  50. if (request.@params.TryGetValue("cellphone", out string cellphone) && !string.IsNullOrEmpty(cellphone))
  51. {
  52. linq = m => m.cellphone == cellphone;
  53. }
  54. if (request.@params.TryGetValue("account", out string account) && !string.IsNullOrEmpty(account))
  55. {
  56. linq = m => m.account == account;
  57. }
  58. if (request.@params.TryGetValue("username", out string username) && !string.IsNullOrEmpty(username))
  59. {
  60. linq = m => m.username.Contains(username);
  61. }
  62. if (request.@params.TryGetValue("id", out string id) && !string.IsNullOrEmpty(id))
  63. {
  64. linq = m => m.id==id;
  65. }
  66. if (linq != null)
  67. {
  68. lecturers = lecturerService.GetList(linq);
  69. }
  70. lecturers.ForEach(x => { x.password = null; });
  71. return builder.Data(lecturers).build();
  72. }
  73. /// <summary>
  74. /// 获取知识
  75. /// </summary>
  76. /// <param name="request"></param>
  77. /// <returns></returns>
  78. [HttpPost("update")]
  79. [Authorize(Roles = "root")]
  80. public BaseJosnRPCResponse update(JosnRPCRequest<Lecturer> request)
  81. {
  82. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  83. Lecturer lecturer = lecturerService.GetById(request.@params.id);
  84. bool b = false;
  85. if (lecturer != null)
  86. {
  87. if (!string.IsNullOrEmpty(request.@params.password))
  88. {
  89. request.@params.password = BCrypt.Net.BCrypt.HashPassword(request.@params.password);
  90. }
  91. else
  92. {
  93. request.@params.password = lecturer.password;
  94. }
  95. request.@params.unionid = lecturer.unionid;
  96. if (lecturer.setaccount != 0)
  97. {
  98. request.@params.account = lecturer.account;
  99. }
  100. request.@params.registerTime = lecturer.registerTime;
  101. request.@params.cellphone = lecturer.cellphone;
  102. request.@params.areaCode = lecturer.areaCode;
  103. b = lecturerService.Update(request.@params);
  104. }
  105. return builder.Data(b).build();
  106. }
  107. /// <summary>
  108. /// 获取知识
  109. /// </summary>
  110. /// <param name="request"></param>
  111. /// <returns></returns>
  112. [HttpGet("GetId")]
  113. public BaseJosnRPCResponse GetList()
  114. {
  115. // request.@params.TryAdd("PartitionKey", request.lang);
  116. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  117. List<Lecturer> data = lecturerService.GetList();
  118. return builder.Data(Guid.NewGuid()).build();
  119. }
  120. ///// <summary>
  121. ///// 获取知识
  122. ///// </summary>
  123. ///// <param name="request"></param>
  124. ///// <returns></returns>
  125. //[HttpPost("GetList")]
  126. //[Authorize(Roles = "admin")]
  127. //public BaseJosnRPCResponse GetList(JosnRPCRequest<Dictionary<string, object>> request)
  128. //{
  129. // // request.@params.TryAdd("PartitionKey", request.lang);
  130. // JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  131. // List<Lecturer> data = lecturerService.GetList() ;
  132. // return builder.Data(Guid.NewGuid()).build();
  133. //}
  134. /// <summary>
  135. /// 获取知识
  136. /// </summary>
  137. /// <param name="request"></param>
  138. /// <returns></returns>
  139. [HttpPost("GetList1")]
  140. [Authorize(Policy = "admin")]
  141. public BaseJosnRPCResponse GetList1(JosnRPCRequest<Dictionary<string, object>> request)
  142. {
  143. // request.@params.TryAdd("PartitionKey", request.lang);
  144. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  145. List<Lecturer> data = lecturerService.GetList();
  146. return builder.Data(Guid.NewGuid()).build();
  147. }/// <summary>
  148. /// 获取知识
  149. /// </summary>
  150. /// <param name="request"></param>
  151. /// <returns></returns>
  152. [HttpPost("GetList2")]
  153. [Authorize]
  154. public BaseJosnRPCResponse GetList2(JosnRPCRequest<Dictionary<string, object>> request)
  155. {
  156. // request.@params.TryAdd("PartitionKey", request.lang);
  157. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  158. return builder.Data(Guid.NewGuid()).build();
  159. }
  160. }
  161. }