RoleController.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using IdentityModel;
  2. using Microsoft.AspNetCore.Authorization;
  3. using Microsoft.AspNetCore.Http;
  4. using Microsoft.AspNetCore.Mvc;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Threading.Tasks;
  9. using TEAMModelOS.Model.Core.Models;
  10. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
  11. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
  12. using TEAMModelOS.SDK.Helper.Common.CollectionHelper;
  13. using TEAMModelOS.Service.Core.Interfaces;
  14. namespace TEAMModelOS.Controllers.Core
  15. {
  16. /// <summary>
  17. /// 获得学校信息
  18. /// </summary>
  19. [Route("api/[controller]")]
  20. [ApiController]
  21. [Authorize]
  22. public class RoleController : BaseController
  23. {
  24. private IRoleService _roleSeservice;
  25. private IHttpContextAccessor _httpContextAccessor;
  26. public RoleController(IRoleService roleService, IHttpContextAccessor httpContextAccessor)
  27. {
  28. _roleSeservice = roleService;
  29. _httpContextAccessor = httpContextAccessor;
  30. }
  31. [HttpPost("FindRoleByDict")]
  32. public async Task<BaseJosnRPCResponse> FindRoleByDict(JosnRPCRequest<Dictionary<string, object>> request)
  33. {
  34. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  35. List<Role> roles = await _roleSeservice.FindRolesByDict(request.@params);
  36. return builder.Data(roles).build();
  37. }
  38. [HttpPost("GetLoginRoles")]
  39. public async Task<BaseJosnRPCResponse> GetLoginRoles(JosnRPCRequest<Dictionary<string, object>> request)
  40. {
  41. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  42. List<string> rolecodes = GetLoginUser(JwtClaimTypes.Role);
  43. List<Role> roles = new List<Role>();
  44. if (rolecodes.IsNotEmpty()) {
  45. foreach (string code in rolecodes)
  46. {
  47. Role role = await _roleSeservice.FindRoleByRowKey(code);
  48. if (role != null && !string.IsNullOrEmpty(role.RowKey))
  49. {
  50. roles.Add(role);
  51. }
  52. }
  53. }
  54. return builder.Data(roles).build();
  55. }
  56. }
  57. }