示例#1
0
        public async Task <IActionResult> GetCallerDetails()
        {
            Console.WriteLine("!!!____ _userCaller: isSET:" + "authenticated=" + _userCaller.Identity.IsAuthenticated + "  " + _userCaller.Identity.Name + "  Claim count=" + _userCaller.Claims.Count());
            _userCaller.Claims.ToList().ForEach(i => Console.WriteLine("!!!____ _userCaller.Claims: " + i.Type + "  " + i.Value));

            var userId = _userCaller.Claims.Single(i => i.Type == Manager.JwtClaimHelper.ClaimIdentifierId).Value;

            var user = await _dataDbContext.Accounts.Include(i => i.IdentityCustomModel).SingleAsync(i => i.IdentityCustomModelId == userId);

            var toReturn = new AccountBaseInfo
            {
                FirstName = user.IdentityCustomModel.FirstName,
                LastName  = user.IdentityCustomModel.LastName,
                Email     = user.IdentityCustomModel.Email,
                DOB       = user.IdentityCustomModel.DOB
            };

            return(new OkObjectResult(toReturn));
        }
示例#2
0
        public void RefreshBaseDataIfNeeded()
        {
            if (this._isLoading || AppGlobalStateManager.Current.LoggedInUserId == 0L)
            {
                return;
            }
            if (this.NeedRefreshBaseData)
            {
                this._isLoading = true;
                AppGlobalStateData globalState = AppGlobalStateManager.Current.GlobalState;
                AccountService.Instance.GetBaseData(AppInfo.GetPhoneAppInfo(), (Action <BackendResult <AccountBaseData, ResultCode> >)(res =>
                {
                    if (res.ResultCode == ResultCode.Succeeded)
                    {
                        AccountBaseData resultData = res.ResultData;
                        AccountBaseInfo info       = resultData.Info;
                        BaseDataManager.UpdateOwnCounters(resultData.OwnCounters);
                        globalState.LoggedInUser = resultData.Profile;
                        if (info != null)
                        {
                            globalState.SupportUri = info.support_url;
                            if (info.profiler_settings != null)
                            {
                                foreach (AccountBaseInfoSettingsEntry setting in info.settings)
                                {
                                    switch (setting.name)
                                    {
                                    case "gif_autoplay":
                                        {
                                            BaseDataManager.SetGifAutoplay(setting);
                                            break;
                                        }

                                    case "payment_type":
                                        {
                                            BaseDataManager.SetPaymentType(setting);
                                            break;
                                        }

                                    case "money_p2p":
                                        {
                                            BaseDataManager.SetMoneyTransfers(setting, false);
                                            break;
                                        }

                                    case "money_clubs_p2p":
                                        {
                                            BaseDataManager.SetMoneyTransfers(setting, true);
                                            break;
                                        }
                                    }
                                }
                            }
                            MoneyTransfersSettings moneyP2pParams = info.money_p2p_params;
                            if (moneyP2pParams != null)
                            {
                                globalState.MoneyTransferMinAmount = moneyP2pParams.min_amount;
                                globalState.MoneyTransferMaxAmount = moneyP2pParams.max_amount;
                            }
                        }
                        BaseDataManager.UpdateUserInfo();
                        int unixTimestamp = Extensions.DateTimeToUnixTimestamp(DateTime.UtcNow, false);
                        globalState.ServerMinusLocalTimeDelta = resultData.time - unixTimestamp;
                        StickersSettings.Instance.UpdateStickersDataAndAutoSuggest((IAccountStickersData)resultData);
                        globalState.GamesSectionEnabled = resultData.GamesSectionEnabled == 1;
                        globalState.DebugDisabled       = resultData.DebugDisabled == 1;
                        this.NeedRefreshBaseData        = false;
                        this._lastTimeSetOnline         = DateTime.Now;
                        EventAggregator.Current.Publish(new BaseDataChangedEvent());
                    }
                    this._isLoading = false;
                }), globalState.NeedRefetchStickers);
            }
            else
            {
                if ((DateTime.Now - this._lastTimeSetOnline).TotalMinutes < 8.0)
                {
                    return;
                }
                this._isLoading = true;
                AccountService.Instance.GetIntermediateData((Action <BackendResult <AccountIntermediateData, ResultCode> >)(res =>
                {
                    if (res.ResultCode == ResultCode.Succeeded)
                    {
                        this._lastTimeSetOnline = DateTime.Now;
                        StickersSettings.Instance.UpdateStickersDataAndAutoSuggest((IAccountStickersData)res.ResultData);
                    }
                    this._isLoading = false;
                }));
            }
        }
        /// <summary>
        ///     获取店铺基本信息
        /// </summary>
        /// <param name="userContext"></param>
        /// <returns></returns>
        public AccountBaseInfo GetAccountBaseInfo(UserContext userContext)
        {
            var accountInfo     = _accountDapperRepository.Find(x => x.Id == userContext.AccId);
            var accountBusiness = _accountBusinessDapperRepository.Find(x => x.accountid == userContext.AccId);
            var accountUser     =
                _accountUserDapperRepository.Find(x => x.Id == userContext.UserId && x.AccountId == userContext.AccId);
            var accountExpand    = _accountExpandDapperRepository.Find(x => x.AccountId == userContext.AccId);
            var accountLogoModel = _accountLogoDapperRepository.Find(x => x.ShopperId == userContext.AccId);

            //头像
            var accountLogo   = "/v/assets/images/logo.png";
            var accountAvatar = "/SetUp/assets/img/pic-default.png";

            if (accountLogoModel != null && !string.IsNullOrEmpty(accountLogoModel.ImgUrl))
            {
                accountLogo = "/upload/logo/" + accountLogoModel.ImgUrl;
            }
            if (!string.IsNullOrEmpty(accountExpand.t_Avatar))
            {
                accountAvatar = "http://img.i200.cn" + accountExpand.t_Avatar + "!small";
            }

            //礼金券
            var strSqlCoupon = @"SELECT @ActiveCouponNum=COUNT(1) FROM T_Order_CouponList
                                LEFT JOIN T_Order_CouponInfo ON T_Order_CouponList.groupId=T_Order_CouponInfo.id
                                WHERE T_Order_CouponList.toAccId=@AccountId
                                AND (T_Order_CouponList.couponStatus=0 OR T_Order_CouponList.couponStatus=2)
                                AND (T_Order_CouponInfo.couponType=1 OR T_Order_CouponInfo.couponType=2)";

            var sqlParams = new
            {
                AccountId = userContext.AccId
            };
            var dapperParam = new DynamicParameters(sqlParams);

            dapperParam.Add("ActiveCouponNum", dbType: DbType.Int32, direction: ParameterDirection.Output);
            var sqlQuery = new SqlQuery(strSqlCoupon, dapperParam);

            _orderGouponDapperRepository.FindAll(sqlQuery);
            var accountActiveCoupon = dapperParam.Get <int>("ActiveCouponNum");

            //今日积分
            var strSqlIntegral = @"SELECT @TodayIntegral=SUM(CAST(EditVal AS INT)) FROM T_LogInfo
                                WHERE accID=@AccountId
                                AND Keys='Integral'
                                AND CreatTime>convert(varchar(10),getdate(),120)
                                IF @TodayIntegral IS NULL SET @TodayIntegral=0;";

            var sqlParams2 = new
            {
                AccountId = userContext.AccId
            };
            var dapperParam2 = new DynamicParameters(sqlParams2);

            dapperParam2.Add("TodayIntegral", dbType: DbType.Int32, direction: ParameterDirection.Output);
            var sqlQuery2 = new SqlQuery(strSqlIntegral, dapperParam2);

            _accountUserLogInfoDapperRepository.FindAll(sqlQuery2);
            var accountIntegralToday = dapperParam2.Get <int>("TodayIntegral");


            //资金账户
            decimal accountTotalMoney        = 0;
            var     responesModelAccountbook = _accountbookService.GetWithdrawingBalance(userContext);

            if (responesModelAccountbook.Code == 200)
            {
                var responseData = (AccountBalanceResponse)responesModelAccountbook.Data;
                accountTotalMoney = responseData.TotalBalance;
            }

            var accountBaseInfo = new AccountBaseInfo();

            accountBaseInfo.accountId           = accountInfo.Id;
            accountBaseInfo.accountName         = accountInfo.CompanyName;
            accountBaseInfo.accountContactPhone = accountUser.PhoneNumber;
            if (accountBusiness.aotjb != 3 && accountBusiness.aotjb != 5)
            {
                accountBaseInfo.accountLicense = 1;
            }
            else
            {
                accountBaseInfo.accountLicense = accountBusiness.aotjb;
            }
            accountBaseInfo.accountLicenseName =
                StatusDictionary.DicAccountLicenseNameStatus[accountBaseInfo.accountLicense];
            accountBaseInfo.accountEnterprise    = string.IsNullOrEmpty(accountInfo.EnterpriseId) ? 0 : 1;
            accountBaseInfo.accountLogo          = accountLogo;
            accountBaseInfo.accountAvatar        = accountAvatar;
            accountBaseInfo.accountIntegral      = accountBusiness.integral;
            accountBaseInfo.accountIntegralToday = accountIntegralToday;
            accountBaseInfo.accountActiveCoupon  = accountActiveCoupon;
            accountBaseInfo.accountTotalMoney    = accountTotalMoney;

            accountBaseInfo.accountLoginUser          = new accountLoginUser();
            accountBaseInfo.accountLoginUser.userId   = accountUser.Id;
            accountBaseInfo.accountLoginUser.userName = accountUser.Name;
            accountBaseInfo.accountLoginUser.role     = accountUser.Grade == "管理员" ? 1 : 0;

            return(accountBaseInfo);
        }