leiy 2 роки тому
батько
коміт
621c7e8ff6

+ 9 - 18
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -7,6 +7,8 @@ using StackExchange.Redis;
 using OASystem.Domain.Dtos.UserDto;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain;
+using OASystem.Infrastructure.Repositories.System;
+using OASystem.Domain.ViewModels.System;
 
 namespace OASystem.API.Controllers
 {
@@ -19,13 +21,15 @@ namespace OASystem.API.Controllers
         private readonly IMapper _mapper;
         private readonly IConfiguration _config;
         private readonly LoginRepository _loginRep;
+        private readonly UsersRepository _usersRepository;
         //private IDatabase _redis;
         //private RedisHelper _redisHelper;
-        public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper)
+        public AuthController(IConfiguration config,IMapper mapper, LoginRepository loginRep, UsersRepository usersRepository)
         {
             _config = config;
             _loginRep = loginRep;
             _mapper = mapper;
+            _usersRepository = usersRepository;
             //_redis = client.GetDatabase(RedisEnum.Common);
             //_redisHelper = client("132.232.92.186", "7369", "123456");
         }
@@ -35,14 +39,13 @@ namespace OASystem.API.Controllers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        [AllowAnonymous]
         [Route("login")]
         [HttpPost]
         [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
         public async Task<IActionResult> LoginAsync(LoginDto dto)
         {
-            #region 校验用户信息,假设此处我们已经校验成功
-            var userData = _loginRep.Login(_loginRep, dto);
+            #region 校验用户信息 
+            var userData = _loginRep.Login(dto);
             if (userData.Result.Code != 0)
             {
                 if (userData.Result.Code != 0) { return Ok(JsonView(false, userData.Result.Msg)); }
@@ -50,23 +53,11 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, "暂无该员工信息!"));
             }
 
-            //人事审核是否通过
-            if (userData.Result.Data.HrAudit != 1)
-            {
-                return Ok(JsonView(false, "该员工账号暂无登录权限,人事审核未通过!"));
-            }
-
-            //该用户是否已删除
-            if (userData.Result.Data.HrAudit != 1)
-            {
-                return Ok(JsonView(false, "已离职员工没有登录权限"));
-            }
-
-
             #endregion
             var view = new LoginView
             {
-                Expires = DateTime.Now.AddMinutes(30)
+                Expires = DateTime.Now.AddMinutes(30),
+                UserInfo = userData.Result.Data
             };
 
             string authorId = dto.Number + "Token";

+ 6 - 0
OASystem/OASystem.Api/OASystemAuthentication.cs

@@ -0,0 +1,6 @@
+namespace OASystem.API
+{
+    public class OASystemAuthentication
+    {
+    }
+}

+ 3 - 3
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -27,9 +27,9 @@ namespace OASystem.Domain.AutoMappers
 
             #region 用户板块
             CreateMap<UserDto, Sys_Users>();
-            CreateMap<Sys_Users, UserInfoView>();
-            CreateMap<UserInfoView,UserIView>();
-            CreateMap<UserInfoView, UserIWebView>();
+            CreateMap<Sys_Users, UserInfo>();
+
+
             #endregion
 
         }

+ 44 - 16
OASystem/OASystem.Domain/Entities/Resource/Res_CarData.cs

@@ -33,7 +33,7 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 联系人
         /// </summary>
-        [SugarColumn(IsNullable = true,ColumnDataType = "varchar(30)")]
+        [SugarColumn(IsNullable = true,ColumnDataType = "varchar(50)")]
         public string Contact { get; set; }
 
         /// <summary>
@@ -54,10 +54,24 @@ namespace OASystem.Domain.Entities.Resource
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
         public string ContactFax { get; set; }
 
+        /// <summary>
+        /// 车描述
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        public string CarDes { get; set; }
+
+        /// <summary>
+        /// 车图片路径
+        /// 存储多个 使用/r/n
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        public string CarPicPaths { get; set; }
+
+
         /// <summary>
         /// 其他信息
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
         public string OtherInfo { get; set; }
 
         /// <summary>
@@ -67,52 +81,66 @@ namespace OASystem.Domain.Entities.Resource
         public int Score { get; set; }
 
         /// <summary>
-        /// 着装得体
+        /// 相关的车辆资质
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string SuitScore { get; set; }
+        public string QualificationScore { get; set; }
 
         /// <summary>
-        /// 服务意识强度
+        /// 车辆2-4年新,VIP及以上需要2年新
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string ServeScore { get; set; }
+        public string CarAgeScore { get; set; }
 
         /// <summary>
-        /// 讲解水平专业
+        /// 车身干净,无文字图片等
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string TalkProScore { get; set; }
+        public string CleanImgScore { get; set; }
 
         /// <summary>
-        /// 时间概念强度
+        /// 车内整洁、无异味
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string TimeScore { get; set; }
+        public string SmellScore { get; set; }
+
+        /// <summary>
+        /// 提前备水,纸巾等
+        /// A B C  选择
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
+        public string WaterPaperScore { get; set; }
+
+        /// <summary>
+        /// 车辆配置高(皮座椅等)
+        /// A B C  选择
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
+        public string HardwareScore { get; set; }
 
         /// <summary>
-        /// 配合能力强,服从安排
+        /// 时间概念强
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string FitScore { get; set; }
+        public string TimeScore { get; set; }
 
         /// <summary>
-        /// 应变能力强
+        /// 安全意识高
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string StrainScore { get; set; }
+        public string SafetyScore { get; set; }
 
         /// <summary>
-        /// 当地语言和中文表达流畅
+        /// 司机驾龄时间长,提前熟悉路线
         /// A B C  选择
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(10)")]
-        public string LocalAndChineseScore { get; set; }
+        public string DrivingAgeScore { get; set; }
     }
 }

+ 2 - 2
OASystem/OASystem.Domain/Entities/Resource/Res_LocalGuideData.cs

@@ -33,7 +33,7 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 联系人
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(30)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         public string Contact { get; set; }
 
         /// <summary>
@@ -57,7 +57,7 @@ namespace OASystem.Domain.Entities.Resource
         /// <summary>
         /// 其他信息
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(20)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(500)")]
         public string OtherInfo { get; set; }
 
         /// <summary>

+ 1 - 1
OASystem/OASystem.Domain/Entities/System/Sys_Users.cs

@@ -162,7 +162,7 @@ namespace OASystem.Domain.Entities.System
     /// 用户表
     /// 数据库查询接受实体类
     /// </summary>
-    public class UserInfoView : Sys_Users
+    public class UserInfo : Sys_Users
     {
         /// <summary>
         /// 公司名称

+ 4 - 1
OASystem/OASystem.Domain/ViewModels/LoginView.cs

@@ -15,5 +15,8 @@ public class LoginView
     /// </summary>
     public DateTime Expires { get; set; }
 
-
+    /// <summary>
+    /// 返回用户信息
+    /// </summary>
+    public object? UserInfo { get; set; }
 }

+ 46 - 28
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -7,12 +7,12 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.ViewModels.System
 {
-    
+
     /// <summary>
     /// 用户数据 数据库返回数据实体接受类
     /// 查询返回View
     /// </summary>
-    public class UserIView
+    public class UserView
     {
         /// <summary>
         /// 公司名称
@@ -122,17 +122,17 @@ namespace OASystem.Domain.ViewModels.System
     /// 用户数据 - Web
     /// 查询返回View
     /// </summary>
-    public class UserIWebView
+    public class UserInfoWebView
     {
-        /// <summary>
-        /// 工号
-        /// </summary>
-        public string Number { get; set; }
+        ///// <summary>
+        ///// 工号
+        ///// </summary>
+        ////public string Number { get; set; }
 
         /// <summary>
         /// 用户Id
         /// </summary>
-        public int Id { get; set; }
+        public int UserId { get; set; }
 
         /// <summary>
         /// 中文姓名
@@ -140,54 +140,72 @@ namespace OASystem.Domain.ViewModels.System
         public string CnName { get; set; }
 
         /// <summary>
-        /// 公司Id
+        /// 公司名称
         /// </summary>
-        public int CompanyId { get; set; }
+        public string CompanyName { get; set; }
 
         /// <summary>
-        /// 公司名称
+        /// 部门名称
         /// </summary>
-        public string CompanyName { get; set; }
+        public string DepName { get; set; }
 
         /// <summary>
-        /// 部门Id
+        /// 岗位名称
         /// </summary>
-        public int DepId { get; set; }
+        public string JobName { get; set; }
+       
+        /// <summary>
+        /// 邮箱
+        /// </summary>
+        public string Email { get; set; }
 
+    }
+
+    /// <summary>
+    /// 用户信息 - 个人基本信息
+    /// </summary>
+    public class UserBasicInfoView 
+    {
         /// <summary>
-        /// 部门名称
+        /// 用户Id
         /// </summary>
-        public string DepName { get; set; }
+        public int Id { get; set; }
 
         /// <summary>
-        /// 岗位Id
+        /// 中文姓名
         /// </summary>
-        public int JobPostId { get; set; }
+        public string CnName { get; set; }
+
         /// <summary>
-        /// 岗位名称
+        /// 性别
+        /// 0 男1 女  2 未设置
         /// </summary>
-        public string JobName { get; set; }
-       
+
+        public int Sex { get; set; }
+
         /// <summary>
-        /// 分机
+        /// 
         /// </summary>
+        public string Number { get; set; }
 
-        public string Ext { get; set; }
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string CompanyName { get; set; }
 
         /// <summary>
-        /// 手机号
+        /// 部门名称
         /// </summary>
-        public string Phone { get; set; }
+        public string DepName { get; set; }
 
         /// <summary>
-        /// 紧急联系人 手机号
+        /// 岗位名称
         /// </summary>
-        public string UrgentPhone { get; set; }
+        public string JobName { get; set; }
 
         /// <summary>
         /// 邮箱
         /// </summary>
         public string Email { get; set; }
-
     }
 }

+ 38 - 5
OASystem/OASystem.Infrastructure/Repositories/Login/LoginRepository.cs

@@ -1,7 +1,12 @@
 
+using AutoMapper;
 using OASystem.Domain;
+using OASystem.Domain.Dtos.System;
 using OASystem.Domain.Dtos.UserDto;
 using OASystem.Domain.Entities.System;
+using OASystem.Domain.ViewModels.System;
+using OASystem.Infrastructure.Repositories.System;
+using SqlSugar;
 
 namespace OASystem.Infrastructure.Repositories.Login
 {
@@ -9,6 +14,7 @@ namespace OASystem.Infrastructure.Repositories.Login
     {
         public LoginRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
         {
+            
         }
 
         /// <summary>
@@ -18,22 +24,49 @@ namespace OASystem.Infrastructure.Repositories.Login
         /// <param name="_loginRep"></param>
         /// <param name="loginDto"></param>
         /// <returns></returns>
-        public async Task<Result> Login(LoginRepository _loginRep, LoginDto loginDto)
+        public async Task<Result> Login(LoginDto loginDto)
         {
-            Result result = new Result();
+            Result result = new Result() { Code = -2 };
             string SQLWhere = string.Format("Where Number='{0}' And Password='{1}'", loginDto.Number, loginDto.Password);
             string sql = string.Format("Select * From Sys_Users With(NoLock) {0}", SQLWhere);
-            Sys_Users _entity = await _loginRep.GetSingleInfoBySqlWithNolockAsync(sql);
+            Sys_Users _entity = await GetSingleInfoBySqlWithNolockAsync(sql);
+
+
             if (_entity == null)
             {
-                result.Code = -2;
                 result.Msg = "暂无该账号信息!";
+                return result;
+            }
+
+            //人事审核是否通过
+            if (_entity.HrAudit != 1)
+            {
+                result.Msg = "该员工账号暂无登录权限,人事审核未通过!";
+                return result;
+            }
 
+            //该用户是否已删除
+            if (_entity.HrAudit != 1)
+            {
+                result.Msg = "已离职员工没有登录权限!";
                 return result;
             }
+
+
+            //员工数据
+            string sqlWhere = string.Format(" Where su.Id={0}", _entity.Id);
+            string userSqlWhere = string.Format(@"Select sc.CompanyName,sd.DepName,sjp.JobName,su.Id UserId,su.CnName,su.Email
+                                                  From Sys_Users su 
+                                                  Inner Join Sys_Company sc On su.CompanyId = sc.Id
+                                                  Inner Join Sys_Department sd On su.DepId = sd.Id
+                                                  Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
+            var _userBasicInfo = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).FirstAsync();
+
+
+
             result.Code = 0;
             result.Msg = "登录成功!";
-            result.Data = _entity;
+            result.Data = _userBasicInfo;
             return result;
 
         }

+ 56 - 32
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -11,7 +11,7 @@ using System.Threading.Tasks;
 
 namespace OASystem.Infrastructure.Repositories.System
 {
-    public class UsersRepository : BaseRepository<UserInfoView, JsonView>
+    public class UsersRepository : BaseRepository<UserInfo, JsonView>
     {
         private readonly IMapper _mapper;
         public UsersRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
@@ -26,50 +26,74 @@ namespace OASystem.Infrastructure.Repositories.System
         /// <returns></returns>
         public async Task<Result> GetUserList(int portType,string sqlWhere)
         {
-            Result result = new Result();
-            string userSqlWhere = string.Format(@"Select sjp.JobName,sd.DepName,sc.CompanyName,su.* From Sys_Users su 
-                                                  Inner Join Sys_Company sc On su.CompanyId = sc.Id
-                                                  Inner Join Sys_Department sd On su.DepId = sd.Id
-                                                  Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
-            var _userList = await GetListBySqlWithNolockAsync(userSqlWhere);
+            Result result = new Result() { Code = -2 };
+            
+            //List<UserInfoWebView> _userList = _sqlSugar.Queryable<Sys_Users>()
+            //    .InnerJoin<Sys_Company>((u, c) => u.CompanyId == c.Id) //若是多个条件 用 &&
+            //    .InnerJoin<Sys_Department>((u, c, d) => u.DepId == d.Id)
+            //    .InnerJoin<Sys_JobPost>((u, c, d, j) => u.JobPostId == j.Id)
+            //    .Where((u) => u.Id == 208)
+            //    .Select
+            //    ((u, c, d, j) => new UserInfoWebView
+            //    { 
+            //        Number = u.Number,
+            //        CompanyId = u.CompanyId, 
+            //        CompanyName = c.CompanyName, 
+            //        DepId=u.DepId,
+            //        DepName = d.DepName,
+            //        JobPostId = u.JobPostId,
+            //        JobName = j.JobName,
+            //        Id = u.Id,
+            //        CnName = u.CnName,
+            //        Phone = u.Phone,
+            //        UrgentPhone = u.UrgentPhone,
+            //        Ext =u.Ext,
+            //        Email = u.Email,
+            //    })
+            //    .ToList();
+
 
             if (portType == 1) //web
             {
-                List<UserIWebView> _userWebList = _mapper.Map<List<UserIWebView>>(_userList);
 
-                if (_userList.Count != 0)
-                {
-                    result.Code = 0;
-                    result.Msg = "成功!";
-                    result.Data = _userWebList;
-                }
-                else
-                {
-                    result.Code = -1;
-                    result.Msg = "暂无数据!";
-                }
+                //string userSqlWhere = string.Format(@"Select su.CompanyId, sc.CompanyName,su.DepId,sd.DepName,su.JobPostId,
+                //                                  	     sjp.JobName,su.Id UserId,su.CnName,su.Phone,su.UrgentPhone,su.Email
+                //                                      From Sys_Users su 
+                //                                      Inner Join Sys_Company sc On su.CompanyId = sc.Id
+                //                                      Inner Join Sys_Department sd On su.DepId = sd.Id
+                //                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
+                //var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
+
+                //if (_userList.Count != 0)
+                //{
+                //    result.Code = 0;
+                //    result.Msg = "成功!";
+                //    result.Data = _userList;
+                //}
+                //else
+                //{
+                //    result.Msg = "暂无数据!";
+                //}
             }
             else if (portType == 2) //Android
             {
-                List<UserIView> _userDataList = _mapper.Map<List<UserIView>>(_userList);
-                if (_userDataList.Count != 0)
-                {
-                    result.Code = 0;
-                    result.Msg = "成功!";
-                    result.Data = _userDataList;
-                }
-                else
-                {
-                    result.Code = -1;
-                    result.Msg = "暂无数据!";
-                }
+                //List<UserView> _userDataList = _mapper.Map<List<UserView>>(_userList);
+                //if (_userDataList.Count != 0)
+                //{
+                //    result.Code = 0;
+                //    result.Msg = "成功!";
+                //    result.Data = _userDataList;
+                //}
+                //else
+                //{
+                //    result.Msg = "暂无数据!";
+                //}
             }
             else if (portType == 3) //IOS
             {
             }
             else
             {
-                result.Code = -1;
                 result.Msg = "暂无数据!";
             }