LoginRepository.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. 
  2. using OASystem.Domain;
  3. using OASystem.Domain.Dtos.UserDto;
  4. using OASystem.Domain.Entities.System;
  5. namespace OASystem.Infrastructure.Repositories.Login
  6. {
  7. public class LoginRepository : BaseRepository<Sys_Users, LoginView>
  8. {
  9. public LoginRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
  10. {
  11. }
  12. /// <summary>
  13. /// 用户登录
  14. /// 返回Token
  15. /// </summary>
  16. /// <param name="_loginRep"></param>
  17. /// <param name="loginDto"></param>
  18. /// <returns></returns>
  19. public async Task<Result> Login(LoginRepository _loginRep, LoginDto loginDto)
  20. {
  21. Result result = new Result();
  22. string SQLWhere = string.Format("Where Number='{0}' And Password='{1}'", loginDto.Number, loginDto.Password);
  23. string sql = string.Format("Select * From Sys_Users With(NoLock) {0}", SQLWhere);
  24. Sys_Users _entity = await _loginRep.GetSingleInfoBySqlWithNolockAsync(sql);
  25. if (_entity == null)
  26. {
  27. result.Code = -2;
  28. result.Msg = "暂无该账号信息!";
  29. return result;
  30. }
  31. //该用户是否已删除
  32. if (_entity.HrAudit != 1)
  33. {
  34. result.Msg = "已离职员工没有登录权限!";
  35. return result;
  36. }
  37. //员工数据
  38. string sqlWhere = string.Format(" Where su.Id={0}", _entity.Id);
  39. string userSqlWhere = string.Format(@"Select sc.CompanyName,sd.DepName,sjp.JobName,su.Id UserId,su.CnName,su.Email
  40. From Sys_Users su
  41. Inner Join Sys_Company sc On su.CompanyId = sc.Id
  42. Inner Join Sys_Department sd On su.DepId = sd.Id
  43. Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
  44. var _userBasicInfo = await _sqlSugar.SqlQueryable<UserLoginInfoView>(userSqlWhere).FirstAsync();
  45. result.Code = 0;
  46. result.Msg = "登录成功!";
  47. result.Data = _entity;
  48. return result;
  49. }
  50. /// <summary>
  51. /// 用户注册
  52. /// </summary>
  53. /// <param name="_loginRep"></param>
  54. /// <param name="registerDto"></param>
  55. /// <returns></returns>
  56. public async Task<Result> Register(LoginRepository _loginRep, RegisterDto registerDto)
  57. {
  58. Result result = new Result();
  59. Sys_Users _userInfo = new Sys_Users()
  60. {
  61. CnName = registerDto.CnName,
  62. EnName = registerDto.EnName,
  63. Sex = registerDto.Sex,
  64. Number = "", //员工编号 人事审核通过了 由信息部经理分配
  65. CompanyId = registerDto.CompanyId,
  66. DepId = registerDto.DepId,
  67. JobPostId = registerDto.JobPostId,
  68. Ext = "", //由部门主管/信息部经理 分配
  69. Phone = registerDto.Phone,
  70. UrgentPhone = registerDto.UrgencyPhone,
  71. Email = registerDto.Email,
  72. Address = registerDto.Address,
  73. Edate = DateTime.Now, //入职时间默认当前数据提交时间
  74. Rdate = new DateTime(1990, 1, 1), //离职时间默认最原始时间
  75. Seniority = 0, //工龄默认 0
  76. Birthday = registerDto.BirthDay,
  77. IDCard = registerDto.IdCrad,
  78. StartWorkDate = new DateTime(1990, 1, 1), //开始工作时间默认最原始时间
  79. GraduateInstitutions = registerDto.GraduationSchhol,
  80. Professional = registerDto.Major,
  81. Education = registerDto.Education, //学历类型
  82. TheOrAdultEducation = registerDto.EducationType, //教育类型
  83. MaritalStatus = registerDto.MaritalStatus, // 未婚/已婚
  84. HomeAddress = registerDto.HomeAddress, //身份证上 家庭住址
  85. UsePeriod = "", //试用期 由该人员入职部门主管手动操作
  86. Certificate = "", //证件上传地址 多个证件由 | 隔开
  87. CreateUserId = registerDto.CreateUserId,
  88. CreateTime = DateTime.Now, //默认当前时间
  89. DeleteUserId = null, //删除用户时操作该字段
  90. DeleteTime = null, //删除用户时操作该字段
  91. Remark = "", //备注
  92. IsDel = 0
  93. };
  94. var _AddId = await _loginRep.AddAsyncReturnId(_userInfo);
  95. if (_AddId < 0)
  96. {
  97. result.Code = -2;
  98. result.Msg = "用户添加失败!";
  99. return result;
  100. }
  101. result.Code = 0;
  102. result.Msg = "申请成功!人事主管审核后且信息部经理分配了登录账号,可登录OA!";
  103. return result;
  104. }
  105. }
  106. }