/// <summary> /// 更新二维码登录状态 /// </summary> /// <param name="code"></param> /// <param name="state"></param> public void UpdateState(string code, QrCodeLoginState state) { ArgumentHelper.AssertNotNullOrEmpty(code, "Code is null or empty"); var info = GetByCode(code); if (info != null) { info.State = state; QrCodeLoginDao.UpdateState(info); } }
/// <summary> /// 更新二维码用户信息 /// </summary> /// <param name="code"></param> /// <param name="state"></param> /// <param name="tenantId"></param> /// <param name="userId"></param> public void UpdateIdentity(string code, QrCodeLoginState state, int tenantId, int userId) { ArgumentHelper.AssertNotNullOrEmpty(code, "Code is null or empty"); ArgumentHelper.AssertIsTrue(tenantId > 0, "TenantId is less than 0"); ArgumentHelper.AssertIsTrue(userId > 0, "TenantId is less than 0"); var info = GetByCode(code); if (info != null) { info.State = state; info.TenantId = tenantId; info.UserId = userId; QrCodeLoginDao.UpdateIdentity(info); } }
/// <summary> /// 提交扫码结果 /// </summary> /// <param name="code"></param> /// <param name="state"></param> /// <param name="appId"></param> /// <param name="openId"></param> /// <returns></returns> public bool Submit(string code, QrCodeLoginState state, string appId, string openId) { ArgumentHelper.AssertNotNullOrEmpty(code, "code is null or empty"); if (state == QrCodeLoginState.Cancel) { UpdateState(code, QrCodeLoginState.Cancel); } else if (state == QrCodeLoginState.Login) { var appUserAccount = ProviderGateway.AppUserAccountProvider.GetByOpenId(appId, openId); UpdateIdentity(code, QrCodeLoginState.Login, appUserAccount.TenantId, appUserAccount.UserId); } else { return(false); } return(true); }