/// <summary> /// 根据Code获取二维码登录 /// </summary> /// <param name="code"></param> /// <returns></returns> public static QrCodeLoginInfo GetByCode(string code) { var info = new QrCodeLoginInfo { Code = code }; info = AppConnectEntityProcedure.GetEntityInstanceFromCacheByExtendedId(info); if (info == null || info.IsEmpty) { var db = Database.GetDatabase(DatabaseName.AppConnect); info = SafeProcedure.ExecuteAndGetInstance <QrCodeLoginInfo>(db, "dbo.QrCodeLogin_GetByCode", parameterMapper => { parameterMapper.AddWithValue("@Code", new Guid(code)); }, BuildInfo); if (info != null) { info.IsEmpty = false; AppConnectEntityProcedure.SaveEntityInstanceToCache(info); } } return(info); }
/// <summary> /// 获取调用凭证 /// </summary> /// <param name="appId"></param> /// <returns></returns> public static TokenInfo Get(string appId) { var token = new TokenInfo { AppId = appId }; token = AppConnectEntityProcedure.GetEntityInstanceFromCacheByExtendedId(token); if (token == null || token.IsEmpty) { var db = Database.GetDatabase(DatabaseName.AppConnect); token = SafeProcedure.ExecuteAndGetInstance <TokenInfo>(db, "dbo.Token_Get", parameterMapper => { parameterMapper.AddWithValue("@AppId", appId); }, BuildInfo); if (token != null) { token.IsEmpty = false; AppConnectEntityProcedure.SaveEntityInstanceToCache(token); } } return(token); }
/// <summary> /// 更新二维码登录状态 /// </summary> /// <param name="info"></param> public static void UpdateState(QrCodeLoginInfo info) { var db = Database.GetDatabase(DatabaseName.AppConnect); SafeProcedure.ExecuteNonQuery(db, "dbo.QrCodeLogin_UpdateState", parameterMapper => { parameterMapper.AddWithValue("@Code", new Guid(info.Code)); parameterMapper.AddWithValue("@State", (short)info.State); }); AppConnectEntityProcedure.SaveEntityInstanceToCache(info); }
/// <summary> /// 增加或者更新调用凭证 /// </summary> /// <param name="token"></param> internal static void InsertOrUpdate(TokenInfo token) { var db = Database.GetDatabase(DatabaseName.AppConnect); SafeProcedure.ExecuteNonQuery(db, "dbo.Token_InsertOrUpdate", parameterMapper => { parameterMapper.AddWithValue("@AppId", token.AppId); parameterMapper.AddWithValue("@Token", token.AccessToken); parameterMapper.AddWithValue("@ExpireTime", token.ExpireTime); }); AppConnectEntityProcedure.SaveEntityInstanceToCache(token); }
/// <summary> /// 增加二维码登录 /// </summary> /// <param name="qrCodeLoginInfo"></param> public static int Insert(QrCodeLoginInfo qrCodeLoginInfo) { var db = Database.GetDatabase(DatabaseName.AppConnect); int id = 0; SafeProcedure.ExecuteNonQuery(db, "dbo.QrCodeLogin_Insert", parameterMapper => { parameterMapper.AddWithValue("@Code", new Guid(qrCodeLoginInfo.Code)); parameterMapper.AddWithValue("@TitaAppId", qrCodeLoginInfo.TitaAppId); parameterMapper.AddWithValue("@TenantId", qrCodeLoginInfo.TenantId); parameterMapper.AddWithValue("@UserId", qrCodeLoginInfo.UserId); parameterMapper.AddWithValue("@State", (short)qrCodeLoginInfo.State); parameterMapper.AddTypedDbNull("@Id", ParameterDirectionWrap.Output, DbType.Int32); }, o => { id = (int)o.GetValue("@Id"); }); AppConnectEntityProcedure.SaveEntityInstanceToCache(qrCodeLoginInfo); AppConnectLogHelper.DebugFormat("增加二维码数据,返回值:{0}", id); return(id); }