internal void AddAuthenticationTicketDetails(AuthenticationTicketDetailsModel model) { if (model.IsNull()) { return; } StringBuilder builder = new StringBuilder(); builder.Append("INSERT INTO AuthenticationTicketDetails(TicketId,Ticket,TicketAppID,TicketSecond,LastRefreshDate,DeviceNo,ClientType,CreateTime)"); builder.Append("VALUES(@TicketId,@Ticket,@TicketAppID,@TicketSecond,@LastRefreshDate,@DeviceNo,@ClientType,@CreateTime)"); SqlParameter[] parameters = new SqlParameter[] { new SqlParameter() { ParameterName = "@TicketId", Value = model.TicketId }, new SqlParameter() { ParameterName = "@Ticket", Value = model.Ticket }, new SqlParameter() { ParameterName = "@TicketAppID", Value = model.TicketAppID }, new SqlParameter() { ParameterName = "@TicketSecond", Value = model.TicketSecond }, new SqlParameter() { ParameterName = "@LastRefreshDate", Value = model.LastRefreshDate }, new SqlParameter() { ParameterName = "@DeviceNo", Value = model.DeviceNo }, new SqlParameter() { ParameterName = "@ClientType", Value = model.ClientType }, new SqlParameter() { ParameterName = "@CreateTime", Value = model.CreateTime }, //new SqlParameter(){ ParameterName="AppSecret",Value=model.AppSecret}, }; bool flag = ExecuteNonQuery(builder.ToString(), parameters) > 0; if (flag) { string key = TianYuConsts.GetTicketCacheKey(model.Ticket); Cache.CacheHelper.Insert(key, model, 7200); } }
internal AuthenticationTicketDetailsModel GetCheckTicket(string token) { if (token.IsNullOrWhiteSpace()) { return(null); } string key = TianYuConsts.GetTicketCacheKey(token); AuthenticationTicketDetailsModel model = Cache.CacheHelper.Get <AuthenticationTicketDetailsModel>(key); if (model.IsNull()) { StringBuilder builder = new StringBuilder(); builder.Append("SELECT * FROM AuthenticationTicketDetails WHERE Ticket=@Ticket AND LastRefreshDate>@LastRefreshDate"); SqlParameter[] parameters = new SqlParameter[] { new SqlParameter() { ParameterName = "@Ticket", Value = token }, new SqlParameter() { ParameterName = "@LastRefreshDate", Value = DateTime.Now.AddSeconds(-7200) } }; var dt = ExecuteQuery(builder.ToString(), parameters); if (!dt.IsNull() && dt.Rows.Count > 0) { var row = dt.Rows[0]; model = new AuthenticationTicketDetailsModel { ClientType = row["ClientType"].ToString(), DeviceNo = row["DeviceNo"].ToString(), LastRefreshDate = row["LastRefreshDate"].ToDateTime(), Ticket = row["Ticket"].ToString(), TicketId = Guid.Parse(row["TicketId"].ToString()), TicketAppID = row["TicketAppID"].ToString(), TicketSecond = row["TicketSecond"].ToInt(), }; builder.Clear(); builder.Append("SELECT * FROM ApplocationAuthor WHERE AppId=@AppId"); parameters = new SqlParameter[] { new SqlParameter() { ParameterName = "@AppId", Value = model.TicketAppID } }; dt = ExecuteQuery(builder.ToString(), parameters); if (!dt.IsNull() && dt.Rows.Count > 0) { model.AppSecret = dt.Rows[0]["AppSecret"].ToString(); } Cache.CacheHelper.Insert(key, model, 7200); } else { return(null); } } RefreshCache(token); return(model); }