/// <summary> /// 写入日志 /// </summary> /// <param name="logContent">日志内容</param> /// <param name="logType">日志类型</param> public static void WriteSysLog(string logContent, EnumType.LogType logType) { string userName = null; try { userName = Base_UserService.GetCurrentUser().UserName; } catch { } Base_SysLog newLog = new Base_SysLog { Id = Guid.NewGuid().ToSequentialGuid(), LogType = logType.ToString(), LogContent = logContent.Replace("\r\n", "<br />").Replace(" ", " "), OpTime = DateTime.Now.ToCstTime(), OpUserName = userName }; Task.Run(() => { try { LoggerFactory.GetLogger().WriteSysLog(newLog); } catch { } }); }
/// <summary> /// 更新用户权限缓存 /// </summary> /// <param name="userId"><用户Id/param> public static void UpdateUserPermissionCache(string userId) { string cacheKey = BuildCacheKey(userId); List <string> permissions = new List <string>(); BaseService <Base_PermissionUser> _db = new BaseService <Base_PermissionUser>(); var userPermissions = _db.GetIQueryable().Where(x => x.UserId == userId).Select(x => x.PermissionValue).ToList(); var theUser = _db.Service.GetIQueryable <Base_User>().Where(x => x.UserId == userId).FirstOrDefault(); var roleIdList = Base_UserService.GetUserRoleIds(userId); var rolePermissions = _db.Service.GetIQueryable <Base_PermissionRole>().Where(x => roleIdList.Contains(x.RoleId)).GroupBy(x => x.PermissionValue).Select(x => x.Key).ToList(); var existsPermissions = userPermissions.Concat(rolePermissions).Distinct(); permissions = existsPermissions.ToList(); CacheHelper.Cache.SetCache(cacheKey, permissions); }