AclUserRoleService.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using WMS.BZModels.Dto.UserCenterManager.UserGroupDtos;
  8. using WMS.BZModels;
  9. using WMS.BZModels.Models.UserCenterManager;
  10. using WMS.Info;
  11. using WMS.BZSqlSugar;
  12. using WMS.BZModels.Dto.UserCenterManager.UserRoleDtos;
  13. using Mapster;
  14. namespace WMS.BZServices.UserCenterManager
  15. {
  16. public class AclUserRoleService
  17. {
  18. private readonly Repository<AclUserRole> _acluserroleRepository;
  19. public AclUserRoleService(Repository<AclUserRole> acluserroleRepository)
  20. {
  21. _acluserroleRepository = acluserroleRepository;
  22. }
  23. /// <summary>
  24. /// 获取列表数据
  25. /// <summary>
  26. /// <returns></returns>
  27. public IList<AclUserRoleDto> GetList(string keyword)
  28. {
  29. var predicate = Expressionable.Create<AclUserRole>();
  30. predicate = predicate.And( m => m.IsStop==0);
  31. predicate = predicate.AndIF(!string.IsNullOrEmpty(keyword), m => m.Code.Contains(keyword) || m.Name.Contains(keyword));
  32. var list = _acluserroleRepository.Queryable().Where(predicate.ToExpression()).ToList();
  33. return list.Adapt<List<AclUserRoleDto>>();
  34. }
  35. public PagedInfo<AclUserRoleDto> GetPageList(Pagination pagination, AclUserRoleQueryDto billDocsinfoQueryDto)
  36. {
  37. var predicate = Expressionable.Create<AclUserRole>();
  38. predicate = predicate.AndIF(billDocsinfoQueryDto != null && !string.IsNullOrEmpty(billDocsinfoQueryDto?.KeyWord), m => m.Code.Contains(billDocsinfoQueryDto.KeyWord) || m.Name.Contains(billDocsinfoQueryDto.KeyWord));
  39. var list = _acluserroleRepository.Queryable().Where(predicate.ToExpression())
  40. .ToPage<AclUserRole, AclUserRoleDto>(pagination);
  41. return list;
  42. }
  43. public Dictionary<string, AclUserRoleDto> GetMap()
  44. {
  45. try
  46. {
  47. Dictionary<string, AclUserRoleDto> dics = new Dictionary<string, AclUserRoleDto>();
  48. _acluserroleRepository.Queryable().ToList().ForEach(it => dics.Add(it.Id.ToString(), it.Adapt<AclUserRoleDto>()));
  49. return dics;
  50. }
  51. catch (Exception ex)
  52. {
  53. throw ex;
  54. }
  55. }
  56. /// <summary>
  57. /// 获取实体数据
  58. /// <param name="keyValue">主键</param>
  59. /// <summary>
  60. /// <returns></returns>
  61. public AclUserRole GetEntityById(long keyValue)
  62. {
  63. try
  64. {
  65. return _acluserroleRepository.Queryable().Where(it => it.Id == keyValue).First();
  66. }
  67. catch (Exception ex)
  68. {
  69. throw ex;
  70. }
  71. }
  72. /// <summary>
  73. /// 获取实体数据
  74. /// <param name="keyValue">主键</param>
  75. /// <summary>
  76. /// <returns></returns>
  77. public AclUserRole GetEntityByCode(string keyValue)
  78. {
  79. try
  80. {
  81. return _acluserroleRepository.Queryable().Where(it => it.Code == keyValue).First();
  82. }
  83. catch (Exception ex)
  84. {
  85. throw ex;
  86. }
  87. }
  88. public void Save(LoginUserInfo loginUser, string keyValue, AclUserRole entity)
  89. {
  90. try
  91. {
  92. if (string.IsNullOrWhiteSpace(entity.Code))
  93. {
  94. throw new ArgumentException("角色编号不能为空");
  95. }
  96. if (keyValue.IsEmpty() || keyValue == "undefined")
  97. {
  98. var mat = _acluserroleRepository.GetSingle(p => p.Code == entity.Code);
  99. if (mat != null)
  100. {
  101. throw new ArgumentException("角色编码已存在");
  102. }
  103. entity.Id = IdFactory.NewId();
  104. entity.AddTime = DateTime.Now;
  105. entity.AddWho = loginUser.UserNo;
  106. entity.EditTime = DateTime.Now;
  107. entity.EditWho = loginUser.UserNo;
  108. _acluserroleRepository.Insert(entity);
  109. }
  110. else
  111. {
  112. entity.Id = Convert.ToInt64(keyValue);
  113. entity.EditTime = DateTime.Now;
  114. entity.EditWho = loginUser.UserNo;
  115. _acluserroleRepository.UpdateEntity(entity);
  116. }
  117. }
  118. catch (Exception ex)
  119. {
  120. throw ex;
  121. }
  122. }
  123. public void Delete(string Id)
  124. {
  125. try
  126. {
  127. if (string.IsNullOrWhiteSpace(Id) || long.TryParse(Id, out var result))
  128. {
  129. throw new ArgumentException("用户组Id错误");
  130. }
  131. var entity = GetEntityById(result);
  132. if (entity != null)
  133. {
  134. _acluserroleRepository.Delete(entity);
  135. //_acluserroleRepository.Deleteable().Where(it => it.Id == result).ExecuteCommand();
  136. }
  137. //ctx.Deleteable<ACL_USERRELATION>().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_ITEMNO == keyValue).ExecuteCommand();
  138. //ctx.Deleteable<ACL_AUTHORIZE>().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_OBJNO == keyValue).ExecuteCommand();
  139. //ctx.Deleteable<ACL_USERGRP>().Where(it => it.F_NO == keyValue).ExecuteCommand();
  140. }
  141. catch (Exception ex)
  142. {
  143. throw ex;
  144. }
  145. }
  146. }
  147. }