| | |
| | | private readonly ISys_MenuService _menuService; |
| | | private readonly ISys_RoleRepository _RoleRepository; |
| | | private readonly ILoginHistoryRepository _loginHistoryRepository; |
| | | private readonly IPutakeRepository _putakeRepository; |
| | | |
| | | public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage, |
| | | ICacheService cacheService, ISys_MenuService menuService , ISys_RoleRepository roleRepository, ILoginHistoryRepository loginHistoryRepository) : base(repository) |
| | | ICacheService cacheService, ISys_MenuService menuService , ISys_RoleRepository roleRepository, ILoginHistoryRepository loginHistoryRepository, IPutakeRepository putakeRepository) : base(repository) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _cacheService = cacheService; |
| | |
| | | _RoleRepository = roleRepository; |
| | | _RoleRepository= roleRepository; |
| | | _loginHistoryRepository = loginHistoryRepository; |
| | | |
| | | _putakeRepository = putakeRepository; |
| | | } |
| | | |
| | | public WebResponseContent Login(LoginInfo loginInfo) |
| | |
| | | #endregion |
| | | |
| | | UserInfo user = BaseDal.GetUserInfo(loginInfo.UserName, loginInfo.Password); |
| | | var disbled = BaseDal.QueryFirst(x => x.UserName == loginInfo.UserName);//æ ¹æ®è¿ä¸ªç¨æ·åæ¥æ¥çç¨æ· |
| | | if (user != null) |
| | | { |
| | | object obj = _menuService.GetMenuActionList(user.RoleId); |
| | |
| | | if (!list.Any()) |
| | | { |
| | | return WebResponseContent.Instance.Error("æ ç»å½æé"); |
| | | } |
| | | if (disbled.Enable!=1) |
| | | { |
| | | return WebResponseContent.Instance.Error("ä½ çè´¦å·å·²è¢«ç¦ç¨ï¼è¯·è系管çå"); |
| | | } |
| | | |
| | | string token = JwtHelper.IssueJwt(new TokenModelJwt() |
| | |
| | | { |
| | | Account = user.UserName, |
| | | TrurName=user.UserTrueName, |
| | | Createdate=DateTime.Now |
| | | CreateDate=DateTime.Now |
| | | |
| | | |
| | | |
| | |
| | | _cacheService.AddOrUpdate(user.UserId.ToString(), token); |
| | | _loginHistoryRepository.AddData(loghis); |
| | | |
| | | content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl }); |
| | | content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl,ID=user.UserId }); |
| | | } |
| | | else |
| | | { |
| | |
| | | return new WebResponseContent { Status = false, Message="失败"+ex }; |
| | | } |
| | | } |
| | | |
| | | |
| | | public WebResponseContent PermissionView(int userId, string group) |
| | | { |
| | | try |
| | | { |
| | | // 1. è·åç¨æ·ä¿¡æ¯ |
| | | var user = BaseDal.QueryData(x => x.User_Id == userId).FirstOrDefault(); |
| | | var allTasks = _putakeRepository.QueryData(); |
| | | |
| | | if (user == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "ç¨æ·ä¸åå¨" }; |
| | | } |
| | | |
| | | string roleName = user.RoleName; |
| | | |
| | | // 2. 夿æ¯å¦æ¯è¶
级管çå |
| | | if (roleName.Contains("è¶
级管çå")) |
| | | { |
| | | // è¶
级管çåä»ç¶è¦çéæå® group |
| | | var adminTasks = allTasks.Where(x => x.Grouptype == group).ToList(); |
| | | return new WebResponseContent { Status = true, Data = adminTasks, Message = "è·åæå" }; |
| | | } |
| | | |
| | | // 3. ç¡®å®æ®éç¨æ·è§è²å¹é
çä»»å¡ç±»å |
| | | List<string> allowedGroups = new List<string>(); |
| | | |
| | | if (roleName.Contains("å°æ²")) allowedGroups.Add("å°æ²");//å¦ææ·»å è¿æ°ç»ä¸ |
| | | if (roleName.Contains("çµæ°")) allowedGroups.Add("çµæ°"); |
| | | if (roleName.Contains("æºæ¢°")) allowedGroups.Add("æºæ¢°"); |
| | | |
| | | if (allowedGroups.Count == 0) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æ¨æ æéæ¥çä»»å¡" }; |
| | | } |
| | | |
| | | // 4. æ®éç¨æ·åªè½çèªå·±æéèå´å
çä»»å¡ |
| | | if (!allowedGroups.Contains(group)) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "æ¨æ æéæ¥ç该任å¡ç±»å«" }; |
| | | } |
| | | |
| | | var tasks = allTasks.Where(t => t.Grouptype == group).ToList(); |
| | | |
| | | return new WebResponseContent { Status = true, Data = tasks, Message = "è·åæå" }; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "é误: " + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |