protected override ShopBranchManager GetUser()
        {
            var    userId   = this.CurrentUserId;
            string cachekey = SBM_CACHE_KEY_PREFIX + userId;
            var    result   = Cache.Get <DTO.ShopBranchManager>(cachekey);

            if (result == null)
            {
                if (userId != 0)
                {
                    result = ShopBranchApplication.GetShopBranchManager(userId);
                    if (result != null && result.Id > 0)
                    {
                        Cache.Insert <DTO.ShopBranchManager>(cachekey, result);
                    }
                }
            }
            return(result);
        }
Beispiel #2
0
        public override void OnActionExecuting(ActionExecutingContext actionContext)
        {
            string userkey = "";

            userkey = WebHelper.GetQueryString("userkey");
            if (string.IsNullOrWhiteSpace(userkey))
            {
                userkey = WebHelper.GetFormString("userkey");
            }
            #region 特殊控制器方法不验证(因为app已打包发布了,则没改app代码,在接口这里判断处理下这个控制器)
            var route = actionContext.RouteData;
            if (route != null)
            {
                var controllerName = (route.Values["controller"] == null ? "" : route.Values["controller"].ToString().ToLower());
                var actionName     = (route.Values["action"] == null ? "" : route.Values["action"].ToString().ToLower());
                if (controllerName == "shopbranchorder" && actionName == "getlogisticsdata")
                {
                    base.OnActionExecuting(actionContext);
                    return;
                }
            }
            #endregion

            long sbuid = UserCookieEncryptHelper.Decrypt(userkey, CookieKeysCollection.USERROLE_USER);
            var  sbm   = ShopBranchApplication.GetShopBranchManager(sbuid);
            if (sbm == null)
            {
                throw new MallApiException(ApiErrorCode.Parameter_Error, "门店信息错误");
            }
            var sb = ShopBranchApplication.GetShopBranchById(sbm.ShopBranchId);
            if (sb == null)
            {
                throw new MallApiException(ApiErrorCode.Parameter_Error, "门店信息错误");
            }
            if (sb.Status == CommonModel.ShopBranchStatus.Freeze)
            {
                throw new MallApiException(ApiErrorCode.User_Freeze, "门店已冻结,您无权进行此操作");
            }
            base.OnActionExecuting(actionContext);
        }