0
0

RoleGroupService.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System.Threading.Tasks;
  2. using ZhonTai.Admin.Core.Attributes;
  3. using ZhonTai.Admin.Core.Dto;
  4. using ZhonTai.Admin.Services.RoleGroup.Dto;
  5. using ZhonTai.Admin.Domain.RoleGroup;
  6. using ZhonTai.DynamicApi;
  7. using ZhonTai.DynamicApi.Attributes;
  8. using ZhonTai.Admin.Core.Consts;
  9. using ZhonTai.Admin.Domain.Role;
  10. namespace ZhonTai.Admin.Services.RoleGroup;
  11. /// <summary>
  12. /// 角色分组服务
  13. /// </summary>
  14. [DynamicApi(Area = AdminConsts.AreaName)]
  15. public class RoleGroupService : BaseService, IRoleGroupService, IDynamicApi
  16. {
  17. private readonly IRoleGroupRepository _RoleGroupRepository;
  18. private readonly IRoleRepository _roleRepository;
  19. public RoleGroupService(IRoleGroupRepository RoleGroupRepository, IRoleRepository roleRepository)
  20. {
  21. _RoleGroupRepository = RoleGroupRepository;
  22. _roleRepository = roleRepository;
  23. }
  24. /// <summary>
  25. /// 新增
  26. /// </summary>
  27. /// <param name="input"></param>
  28. /// <returns></returns>
  29. public async Task<IResultOutput> AddAsync(RoleGroupAddInput input)
  30. {
  31. var RoleGroup = Mapper.Map<RoleGroupEntity>(input);
  32. var id = (await _RoleGroupRepository.InsertAsync(RoleGroup)).Id;
  33. return ResultOutput.Result(id > 0);
  34. }
  35. /// <summary>
  36. /// 修改
  37. /// </summary>
  38. /// <param name="input"></param>
  39. /// <returns></returns>
  40. public async Task<IResultOutput> UpdateAsync(RoleGroupUpdateInput input)
  41. {
  42. if (!(input?.Id > 0))
  43. {
  44. return ResultOutput.NotOk();
  45. }
  46. var entity = await _RoleGroupRepository.GetAsync(input.Id);
  47. if (!(entity?.Id > 0))
  48. {
  49. return ResultOutput.NotOk("角色分组不存在!");
  50. }
  51. Mapper.Map(input, entity);
  52. await _RoleGroupRepository.UpdateAsync(entity);
  53. return ResultOutput.Ok();
  54. }
  55. /// <summary>
  56. /// 彻底删除
  57. /// </summary>
  58. /// <param name="id"></param>
  59. /// <returns></returns>
  60. [Transaction]
  61. public async Task<IResultOutput> DeleteAsync(long id)
  62. {
  63. //判断角色下是否有用户
  64. //删除角色数据
  65. await _roleRepository.DeleteAsync(a => a.RoleGroupId == id);
  66. //删除角色分组
  67. await _RoleGroupRepository.DeleteAsync(a => a.Id == id);
  68. return ResultOutput.Ok();
  69. }
  70. }