UsersRepository.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. using AutoMapper;
  2. using OASystem.Domain;
  3. using OASystem.Domain.Entities.System;
  4. using OASystem.Domain.ViewModels.System;
  5. using StackExchange.Redis;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace OASystem.Infrastructure.Repositories.System
  12. {
  13. public class UsersRepository : BaseRepository<UserInfoView, UserIView>
  14. {
  15. private readonly IMapper _mapper;
  16. public UsersRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
  17. {
  18. _mapper = mapper;
  19. }
  20. /// <summary>
  21. /// 用户查询列表
  22. /// </summary>
  23. /// <param name="_userRep"></param>
  24. /// <returns></returns>
  25. public async Task<Result> GetUserList(int portType,string sqlWhere)
  26. {
  27. Result result = new Result() { Code = -2 };
  28. //List<UserInfoWebView> _userList = _sqlSugar.Queryable<Sys_Users>()
  29. // .InnerJoin<Sys_Company>((u, c) => u.CompanyId == c.Id) //若是多个条件 用 &&
  30. // .InnerJoin<Sys_Department>((u, c, d) => u.DepId == d.Id)
  31. // .InnerJoin<Sys_JobPost>((u, c, d, j) => u.JobPostId == j.Id)
  32. // .Where((u) => u.Id == 208)
  33. // .Select
  34. // ((u, c, d, j) => new UserInfoWebView
  35. // {
  36. // Number = u.Number,
  37. // CompanyId = u.CompanyId,
  38. // CompanyName = c.CompanyName,
  39. // DepId=u.DepId,
  40. // DepName = d.DepName,
  41. // JobPostId = u.JobPostId,
  42. // JobName = j.JobName,
  43. // Id = u.Id,
  44. // CnName = u.CnName,
  45. // Phone = u.Phone,
  46. // UrgentPhone = u.UrgentPhone,
  47. // Ext =u.Ext,
  48. // Email = u.Email,
  49. // })
  50. // .ToList();
  51. if (portType == 1) //web
  52. {
  53. string userSqlWhere = string.Format(@"Select su.CompanyId, sc.CompanyName,su.DepId,sd.DepName,su.JobPostId,sjp.JobName,
  54. su.Id UserId,su.CnName,su.CnName,su.Number,su.Ext,su.Phone,su.UrgentPhone,su.Email
  55. From Sys_Users su
  56. Inner Join Sys_Company sc On su.CompanyId = sc.Id
  57. Inner Join Sys_Department sd On su.DepId = sd.Id
  58. Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
  59. var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
  60. if (_userList.Count != 0)
  61. {
  62. result.Code = 0;
  63. result.Msg = "成功!";
  64. result.Data = _userList;
  65. }
  66. else
  67. {
  68. result.Msg = "暂无数据!";
  69. }
  70. }
  71. else if (portType == 2) //Android
  72. {
  73. List<UserIView> _userDataList = _mapper.Map<List<UserIView>>(_userList);
  74. if (_userDataList.Count != 0)
  75. {
  76. result.Code = 0;
  77. result.Msg = "成功!";
  78. result.Data = _userDataList;
  79. }
  80. else
  81. {
  82. result.Code = -1;
  83. result.Msg = "暂无数据!";
  84. }
  85. }
  86. else if (portType == 3) //IOS
  87. {
  88. }
  89. else
  90. {
  91. result.Code = -1;
  92. result.Msg = "暂无数据!";
  93. }
  94. return result;
  95. }
  96. }
  97. }