平安校园
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

233 lines
5.6 KiB

  1. //
  2. namespace SafeCampus.Web.Core;
  3. /// <summary>
  4. /// 人员管理控制器
  5. /// </summary>
  6. [ApiDescriptionSettings("Application", Tag = "人员管理")]
  7. [Route("biz/organization/user")]
  8. [RolePermission]
  9. public class BizUserController : IDynamicApiController
  10. {
  11. private readonly IUserService _userService;
  12. private readonly IOrgService _orgService;
  13. private readonly IPositionService _positionService;
  14. public BizUserController(IUserService userService, IOrgService orgService, IPositionService positionService)
  15. {
  16. _userService = userService;
  17. _orgService = orgService;
  18. _positionService = positionService;
  19. }
  20. #region Get请求
  21. /// <summary>
  22. /// 导入预览
  23. /// </summary>
  24. /// <param name="input"></param>
  25. /// <returns></returns>
  26. [HttpPost("preview")]
  27. [DisableRequestSizeLimit]
  28. [SuppressMonitor]
  29. [DisplayName("导入预览")]
  30. public async Task<dynamic> Preview([FromForm] ImportPreviewInput input)
  31. {
  32. return await _userService.Preview(input);
  33. }
  34. /// <summary>
  35. /// 模板下载
  36. /// </summary>
  37. /// <returns></returns>
  38. [HttpGet(template: "template")]
  39. [SuppressMonitor]
  40. public async Task<dynamic> Template()
  41. {
  42. return await _userService.Template();
  43. }
  44. /// <summary>
  45. /// 人员分页查询
  46. /// </summary>
  47. /// <param name="input"></param>
  48. /// <returns></returns>
  49. [HttpGet("page")]
  50. [DisplayName("人员分页查询")]
  51. public async Task<dynamic> Page([FromQuery] UserPageInput input)
  52. {
  53. return await _userService.Page(input);
  54. }
  55. /// <summary>
  56. /// 获取人员选择器
  57. /// </summary>
  58. /// <returns></returns>
  59. [HttpGet("selector")]
  60. [DisplayName("人员选择器")]
  61. public async Task<dynamic> Selector([FromQuery] UserSelectorInput input)
  62. {
  63. return await _userService.Selector(input);
  64. }
  65. /// <summary>
  66. /// 获取人员拥有角色
  67. /// </summary>
  68. /// <param name="input"></param>
  69. /// <returns></returns>
  70. [HttpGet("ownRole")]
  71. [DisplayName("获取人员拥有角色")]
  72. public async Task<dynamic> OwnRole([FromQuery] BaseIdInput input)
  73. {
  74. return await _userService.OwnRole(input);
  75. }
  76. /// <summary>
  77. /// 人员详情
  78. /// </summary>
  79. /// <param name="input"></param>
  80. /// <returns></returns>
  81. [HttpGet("detail")]
  82. [DisplayName("人员详情")]
  83. public async Task<dynamic> Detail([FromQuery] BaseIdInput input)
  84. {
  85. return await _userService.Detail(input);
  86. }
  87. #endregion Get请求
  88. #region Post请求
  89. /// <summary>
  90. /// 添加人员
  91. /// </summary>
  92. /// <param name="input"></param>
  93. /// <returns></returns>
  94. [HttpPost("add")]
  95. [DisplayName("添加人员")]
  96. public async Task Add([FromBody] UserAddInput input)
  97. {
  98. await _userService.Add(input);
  99. }
  100. /// <summary>
  101. /// 修改人员
  102. /// </summary>
  103. /// <param name="input"></param>
  104. /// <returns></returns>
  105. [HttpPost("edit")]
  106. [DisplayName("修改人员")]
  107. public async Task Edit([FromBody] UserEditInput input)
  108. {
  109. await _userService.Edit(input);
  110. }
  111. /// <summary>
  112. /// 批量修改人员
  113. /// </summary>
  114. /// <param name="input"></param>
  115. /// <returns></returns>
  116. [HttpPost("edits")]
  117. [DisplayName("批量修改人员")]
  118. public async Task Edits([FromBody] BatchEditInput input)
  119. {
  120. await _userService.Edits(input);
  121. }
  122. /// <summary>
  123. /// 删除人员
  124. /// </summary>
  125. /// <param name="input"></param>
  126. /// <returns></returns>
  127. [HttpPost("delete")]
  128. [DisplayName("删除人员")]
  129. public async Task Delete([FromBody] BaseIdListInput input)
  130. {
  131. await _userService.Delete(input);
  132. }
  133. /// <summary>
  134. /// 禁用人员
  135. /// </summary>
  136. /// <param name="input"></param>
  137. /// <returns></returns>
  138. [HttpPost("disableUser")]
  139. [DisplayName("禁用人员")]
  140. public async Task DisableUser([FromBody] BaseIdInput input)
  141. {
  142. await _userService.DisableUser(input);
  143. }
  144. /// <summary>
  145. /// 启用人员
  146. /// </summary>
  147. /// <param name="input"></param>
  148. /// <returns></returns>
  149. [HttpPost("enableUser")]
  150. [DisplayName("启用人员")]
  151. public async Task EnableUser([FromBody] BaseIdInput input)
  152. {
  153. await _userService.EnableUser(input);
  154. }
  155. /// <summary>
  156. /// 重置密码
  157. /// </summary>
  158. /// <param name="input"></param>
  159. /// <returns></returns>
  160. [HttpPost("resetPassword")]
  161. [DisplayName("重置密码")]
  162. public async Task ResetPassword([FromBody] BaseIdInput input)
  163. {
  164. await _userService.ResetPassword(input);
  165. }
  166. /// <summary>
  167. /// 给人员授权角色
  168. /// </summary>
  169. /// <param name="input"></param>
  170. /// <returns></returns>
  171. [HttpPost("grantRole")]
  172. [DisplayName("授权角色")]
  173. public async Task GrantRole([FromBody] UserGrantRoleInput input)
  174. {
  175. await _userService.GrantRole(input);
  176. }
  177. /// <summary>
  178. /// 人员导入
  179. /// </summary>
  180. /// <param name="input"></param>
  181. /// <returns></returns>
  182. [HttpPost("import")]
  183. [DisplayName("人员导入")]
  184. public async Task<dynamic> Import([SuppressMonitor][FromBody] ImportResultInput<BizUserImportInput> input)
  185. {
  186. return await _userService.Import(input);
  187. }
  188. /// <summary>
  189. /// 人员导出
  190. /// </summary>
  191. /// <param name="input"></param>
  192. /// <returns></returns>
  193. [HttpPost("export")]
  194. [DisplayName("人员导出")]
  195. public async Task<dynamic> Export([FromBody] UserPageInput input)
  196. {
  197. return await _userService.Export(input);
  198. }
  199. #endregion Post请求
  200. }