Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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);
        }