/// <summary> /// 预约信息是否在黑名单中 /// </summary> /// <param name="reservation">预约信息</param> /// <param name="message">错误信息</param> /// <returns></returns> private bool IsReservationInfoInBlockList(ReservationViewModel reservation, out string message) { var blockList = _bllBlockEntity.Select(b => b.IsActive); message = ""; //预约人手机号 if (blockList.Any(b => b.BlockValue.Equals(reservation.ReservationPersonPhone))) { message = "手机号已被拉黑"; return(true); } //预约人IP地址 // TODO: need debug var ip = DependencyResolver.Current.GetService <IHttpContextAccessor>().HttpContext.Connection.RemoteIpAddress.ToString(); if (blockList.Any(b => b.BlockValue.Equals(ip))) { message = "IP地址已被拉黑"; return(true); } //预约人姓名 if (blockList.Any(b => b.BlockValue.Equals(reservation.ReservationPersonName))) { message = "预约人姓名已经被拉黑"; return(true); } return(false); }
/// <summary> /// 预约信息是否在黑名单中 /// </summary> /// <param name="reservation">预约信息</param> /// <param name="message">错误信息</param> /// <returns></returns> private bool IsReservationInfoInBlockList(ReservationViewModel reservation, out string message) { var blockList = RedisManager.CacheClient.GetOrSet(Constants.BlackListCacheKey, () => _bllBlockEntity.Select(_ => _.IsActive), TimeSpan.FromDays(1)); message = string.Empty; //预约人手机号 if (blockList.Any(b => b.BlockValue.Equals(reservation.ReservationPersonPhone))) { message = "手机号已被拉黑"; return(true); } //预约人IP地址 var ip = DependencyResolver.Current.GetService <IHttpContextAccessor>().HttpContext.GetUserIP(); if (blockList.Any(b => b.BlockValue.Equals(ip))) { message = "IP地址已被拉黑"; return(true); } //预约人姓名 if (blockList.Any(b => b.BlockValue.Equals(reservation.ReservationPersonName))) { message = "预约人姓名已经被拉黑"; return(true); } return(false); }