public ActionResult Edit(MallAdminGroupModel model, int mallAGid = -1)
        {
            if (mallAGid < 3)
            {
                return(PromptView("内置商城管理员组不能修改"));
            }

            MallAdminGroupInfo mallAdminGroupInfo = MallAdminGroups.GetMallAdminGroupById(mallAGid);

            if (mallAdminGroupInfo == null)
            {
                return(PromptView("商城管理员组不存在"));
            }

            int mallAGid2 = MallAdminGroups.GetMallAdminGroupIdByTitle(model.AdminGroupTitle);

            if (mallAGid2 > 0 && mallAGid2 != mallAGid)
            {
                ModelState.AddModelError("AdminGroupTitle", "名称已经存在");
            }

            if (ModelState.IsValid)
            {
                mallAdminGroupInfo.Title      = model.AdminGroupTitle;
                mallAdminGroupInfo.ActionList = CommonHelper.StringArrayToString(model.ActionList).ToLower();

                MallAdminGroups.UpdateMallAdminGroup(mallAdminGroupInfo);
                AddMallAdminLog("修改商城管理员组", "修改商城管理员组,商城管理员组ID为:" + mallAGid);
                return(PromptView("商城管理员组修改成功"));
            }

            Load();
            return(View(model));
        }
        /// <summary>
        /// 商城管理员组列表
        /// </summary>
        public ActionResult List()
        {
            MallAdminGroupListModel model = new MallAdminGroupListModel()
            {
                MallAdminGroupList = MallAdminGroups.GetCustomerMallAdminGroupList()
            };

            MallUtils.SetAdminRefererCookie(Url.Action("list"));
            return(View(model));
        }
Beispiel #3
0
        /// <summary>
        /// 用户列表
        /// </summary>
        public ActionResult List(string userName, string email, string mobile, int userRid = 0, int mallAGid = 0,
                                 int pageNumber = 1, int pageSize = 15)
        {
            string condition = AdminUsers.AdminGetUserListCondition(userName, email, mobile, userRid, mallAGid);
            string sort      = AdminUsers.AdminGetUserListSort("", "");

            PageModel pageModel = new PageModel(pageSize, pageNumber, AdminUsers.AdminGetUserCount(condition));

            UserListModel model = new UserListModel()
            {
                UserList  = AdminUsers.AdminGetUserList(pageModel.PageSize, pageModel.PageNumber, condition, sort),
                PageModel = pageModel,
                UserName  = userName,
                Email     = email,
                Mobile    = mobile,
                UserRid   = userRid,
                MallAGid  = mallAGid
            };
            List <SelectListItem> userRankList = new List <SelectListItem>();

            userRankList.Add(new SelectListItem()
            {
                Text = "全部等级", Value = "0"
            });
            foreach (UserRankInfo info in AdminUserRanks.GetUserRankList())
            {
                userRankList.Add(new SelectListItem()
                {
                    Text = info.Title, Value = info.UserRid.ToString()
                });
            }
            ViewData["userRankList"] = userRankList;

            List <SelectListItem> MallAdminGroupList = new List <SelectListItem>();

            MallAdminGroupList.Add(new SelectListItem()
            {
                Text = "全部组", Value = "0"
            });
            foreach (MallAdminGroupInfo info in MallAdminGroups.GetMallAdminGroupList())
            {
                MallAdminGroupList.Add(new SelectListItem()
                {
                    Text = info.Title, Value = info.MallAGid.ToString()
                });
            }
            ViewData["MallAdminGroupList"] = MallAdminGroupList;

            MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&userName={3}&email={4}&mobile={5}&userRid={6}&mallAGid={7}",
                                                          Url.Action("list"), pageModel.PageNumber, pageModel.PageSize,
                                                          userName, email, mobile, userRid, mallAGid));
            return(View(model));
        }
Beispiel #4
0
        private void Load(int regionId)
        {
            List <SelectListItem> userRankList = new List <SelectListItem>();

            userRankList.Add(new SelectListItem()
            {
                Text = "选择会员等级", Value = "0"
            });
            foreach (UserRankInfo info in AdminUserRanks.GetUserRankList())
            {
                userRankList.Add(new SelectListItem()
                {
                    Text = info.Title, Value = info.UserRid.ToString()
                });
            }
            ViewData["userRankList"] = userRankList;


            List <SelectListItem> mallAdminGroupList = new List <SelectListItem>();

            mallAdminGroupList.Add(new SelectListItem()
            {
                Text = "选择管理员组", Value = "0"
            });
            foreach (MallAdminGroupInfo info in MallAdminGroups.GetMallAdminGroupList())
            {
                mallAdminGroupList.Add(new SelectListItem()
                {
                    Text = info.Title, Value = info.MallAGid.ToString()
                });
            }
            ViewData["mallAdminGroupList"] = mallAdminGroupList;

            RegionInfo regionInfo = Regions.GetRegionById(regionId);

            if (regionInfo != null)
            {
                ViewData["provinceId"] = regionInfo.ProvinceId;
                ViewData["cityId"]     = regionInfo.CityId;
                ViewData["countyId"]   = regionInfo.RegionId;
            }
            else
            {
                ViewData["provinceId"] = -1;
                ViewData["cityId"]     = -1;
                ViewData["countyId"]   = -1;
            }

            ViewData["referer"] = MallUtils.GetMallAdminRefererCookie();
        }
        /// <summary>
        /// 删除商城管理员组
        /// </summary>
        public ActionResult Del(int mallAGid = -1)
        {
            int result = MallAdminGroups.DeleteMallAdminGroupById(mallAGid);

            if (result == -1)
            {
                return(PromptView("删除失败请先转移或删除此商城管理员组下的用户"));
            }
            else if (result == -2)
            {
                return(PromptView("内置商城管理员组不能删除"));
            }

            AddMallAdminLog("删除商城管理员组", "删除商城管理员组,商城管理员组ID为:" + mallAGid);
            return(PromptView("商城管理员组删除成功"));
        }
        public ActionResult Edit(int mallAGid = -1)
        {
            if (mallAGid < 3)
            {
                return(PromptView("内置商城管理员组不能修改"));
            }

            MallAdminGroupInfo mallAdminGroupInfo = MallAdminGroups.GetMallAdminGroupById(mallAGid);

            if (mallAdminGroupInfo == null)
            {
                return(PromptView("商城管理员组不存在"));
            }

            MallAdminGroupModel model = new MallAdminGroupModel();

            model.AdminGroupTitle = mallAdminGroupInfo.Title;
            model.ActionList      = StringHelper.SplitString(mallAdminGroupInfo.ActionList);

            Load();
            return(View(model));
        }
        public ActionResult Add(MallAdminGroupModel model)
        {
            if (MallAdminGroups.GetMallAdminGroupIdByTitle(model.AdminGroupTitle) > 0)
            {
                ModelState.AddModelError("AdminGroupTitle", "名称已经存在");
            }

            if (ModelState.IsValid)
            {
                MallAdminGroupInfo mallAdminGroupInfo = new MallAdminGroupInfo()
                {
                    Title      = model.AdminGroupTitle,
                    ActionList = CommonHelper.StringArrayToString(model.ActionList).ToLower()
                };

                MallAdminGroups.CreateMallAdminGroup(mallAdminGroupInfo);
                AddMallAdminLog("添加商城管理员组", "添加商城管理员组,商城管理员组为:" + model.AdminGroupTitle);
                return(PromptView("商城管理员组添加成功"));
            }
            Load();
            return(View(model));
        }
        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);

            WorkContext.IsHttpAjax  = WebHelper.IsAjax();
            WorkContext.IP          = WebHelper.GetIP();
            WorkContext.RegionInfo  = Regions.GetRegionByIP(WorkContext.IP);
            WorkContext.RegionId    = WorkContext.RegionInfo.RegionId;
            WorkContext.Url         = WebHelper.GetUrl();
            WorkContext.UrlReferrer = WebHelper.GetUrlReferrer();

            //获得用户唯一标示符sid
            WorkContext.Sid = MallUtils.GetSidCookie();
            if (WorkContext.Sid.Length == 0)
            {
                //生成sid
                WorkContext.Sid = Sessions.GenerateSid();
                //将sid保存到cookie中
                MallUtils.SetSidCookie(WorkContext.Sid);
            }

            PartUserInfo partUserInfo;

            //获得用户id
            int uid = MallUtils.GetUidCookie();

            if (uid < 1)//当用户为游客时
            {
                //创建游客
                partUserInfo = Users.CreatePartGuest();
            }
            else//当用户为会员时
            {
                //获得保存在cookie中的密码
                string encryptPwd = MallUtils.GetCookiePassword();
                //防止用户密码被篡改为危险字符
                if (encryptPwd.Length == 0 || !SecureHelper.IsBase64String(encryptPwd))
                {
                    //创建游客
                    partUserInfo = Users.CreatePartGuest();
                    encryptPwd   = string.Empty;
                    MallUtils.SetUidCookie(-1);
                    MallUtils.SetCookiePassword("");
                }
                else
                {
                    partUserInfo = Users.GetPartUserByUidAndPwd(uid, MallUtils.DecryptCookiePassword(encryptPwd));
                    if (partUserInfo != null)
                    {
                        //发放登陆积分
                        Credits.SendLoginCredits(ref partUserInfo, DateTime.Now);
                    }
                    else//当会员的账号或密码不正确时,将用户置为游客
                    {
                        partUserInfo = Users.CreatePartGuest();
                        encryptPwd   = string.Empty;
                        MallUtils.SetUidCookie(-1);
                        MallUtils.SetCookiePassword("");
                    }
                }
                WorkContext.EncryptPwd = encryptPwd;
            }

            //设置用户等级
            if (UserRanks.IsBanUserRank(partUserInfo.UserRid) && partUserInfo.LiftBanTime <= DateTime.Now)
            {
                UserRankInfo userRankInfo = UserRanks.GetUserRankByCredits(partUserInfo.PayCredits);
                Users.UpdateUserRankByUid(partUserInfo.Uid, userRankInfo.UserRid);
                partUserInfo.UserRid = userRankInfo.UserRid;
            }

            WorkContext.PartUserInfo = partUserInfo;

            WorkContext.Uid        = partUserInfo.Uid;
            WorkContext.UserName   = partUserInfo.UserName;
            WorkContext.UserEmail  = partUserInfo.Email;
            WorkContext.UserMobile = partUserInfo.Mobile;
            WorkContext.Password   = partUserInfo.Password;
            WorkContext.NickName   = partUserInfo.NickName;
            WorkContext.Avatar     = partUserInfo.Avatar;

            WorkContext.UserRid      = partUserInfo.UserRid;
            WorkContext.UserRankInfo = UserRanks.GetUserRankById(partUserInfo.UserRid);
            WorkContext.UserRTitle   = WorkContext.UserRankInfo.Title;
            //设置用户商城管理员组
            WorkContext.MallAGid           = partUserInfo.MallAGid;
            WorkContext.MallAdminGroupInfo = MallAdminGroups.GetMallAdminGroupById(partUserInfo.MallAGid);
            WorkContext.MallAGTitle        = WorkContext.MallAdminGroupInfo.Title;

            //设置当前控制器类名
            WorkContext.Controller = RouteData.Values["controller"].ToString().ToLower();
            //设置当前动作方法名
            WorkContext.Action  = RouteData.Values["action"].ToString().ToLower();
            WorkContext.PageKey = string.Format("/{0}/{1}", WorkContext.Controller, WorkContext.Action);
        }
        protected override void OnAuthorization(AuthorizationContext filterContext)
        {
            //不能应用在子方法上
            if (filterContext.IsChildAction)
            {
                return;
            }

            //当用户ip不在允许的后台访问ip列表时
            if (!string.IsNullOrEmpty(WorkContext.MallConfig.AdminAllowAccessIP) && !ValidateHelper.InIPList(WorkContext.IP, WorkContext.MallConfig.AdminAllowAccessIP))
            {
                if (WorkContext.IsHttpAjax)
                {
                    filterContext.Result = AjaxResult("404", "您访问的网址不存在");
                }
                else
                {
                    filterContext.Result = new RedirectResult("/");
                }
                return;
            }

            //当用户IP被禁止时
            if (BannedIPs.CheckIP(WorkContext.IP))
            {
                if (WorkContext.IsHttpAjax)
                {
                    filterContext.Result = AjaxResult("404", "您访问的网址不存在");
                }
                else
                {
                    filterContext.Result = new RedirectResult("/");
                }
                return;
            }

            //当用户等级是禁止访问等级时
            if (WorkContext.UserRid == 1)
            {
                if (WorkContext.IsHttpAjax)
                {
                    filterContext.Result = AjaxResult("404", "您访问的网址不存在");
                }
                else
                {
                    filterContext.Result = new RedirectResult("/");
                }
                return;
            }

            //如果当前用户没有登录
            if (WorkContext.Uid < 1)
            {
                if (WorkContext.IsHttpAjax)
                {
                    filterContext.Result = AjaxResult("404", "您访问的网址不存在");
                }
                else
                {
                    filterContext.Result = new RedirectResult("/");
                }
                return;
            }

            //如果当前用户不是商城管理员
            if (WorkContext.MallAGid == 1)
            {
                if (WorkContext.IsHttpAjax)
                {
                    filterContext.Result = AjaxResult("404", "您访问的网址不存在");
                }
                else
                {
                    filterContext.Result = new RedirectResult("/");
                }
                return;
            }

            //判断当前用户是否有访问当前页面的权限
            if (WorkContext.Controller != "home" && !MallAdminGroups.CheckAuthority(WorkContext.MallAGid, WorkContext.Controller, WorkContext.PageKey))
            {
                if (WorkContext.IsHttpAjax)
                {
                    filterContext.Result = AjaxResult("nopermit", "您没有当前操作的权限");
                }
                else
                {
                    filterContext.Result = PromptView("您没有当前操作的权限!");
                }
                return;
            }
        }
Beispiel #10
0
        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);
            this.ValidateRequest = false;

            WorkContext.IsHttpAjax  = WebHelper.IsAjax();
            WorkContext.IP          = WebHelper.GetIP();
            WorkContext.RegionInfo  = Regions.GetRegionByIP(WorkContext.IP);
            WorkContext.RegionId    = WorkContext.RegionInfo.RegionId;
            WorkContext.Url         = WebHelper.GetUrl();
            WorkContext.UrlReferrer = WebHelper.GetUrlReferrer();

            //获得用户唯一标示符sid
            WorkContext.Sid = MallUtils.GetSidCookie();
            if (WorkContext.Sid.Length == 0)
            {
                //生成sid
                WorkContext.Sid = Sessions.GenerateSid();
                //将sid保存到cookie中
                MallUtils.SetSidCookie(WorkContext.Sid);
            }

            PartUserInfo partUserInfo;

            //获得用户id
            int uid = MallUtils.GetUidCookie();

            if (uid < 1)//当用户为游客时
            {
                //创建游客
                partUserInfo = Users.CreatePartGuest();
            }
            else//当用户为会员时
            {
                //获得保存在cookie中的密码
                string encryptPwd = MallUtils.GetCookiePassword();
                //防止用户密码被篡改为危险字符
                if (encryptPwd.Length == 0 || !SecureHelper.IsBase64String(encryptPwd))
                {
                    //创建游客
                    partUserInfo = Users.CreatePartGuest();
                    encryptPwd   = string.Empty;
                    MallUtils.SetUidCookie(-1);
                    MallUtils.SetCookiePassword("");
                }
                else
                {
                    partUserInfo = Users.GetPartUserByUidAndPwd(uid, MallUtils.DecryptCookiePassword(encryptPwd));
                    if (partUserInfo != null)
                    {
                        //发放登陆积分
                        Credits.SendLoginCredits(ref partUserInfo, DateTime.Now);
                    }
                    else//当会员的账号或密码不正确时,将用户置为游客
                    {
                        partUserInfo = Users.CreatePartGuest();
                        encryptPwd   = string.Empty;
                        MallUtils.SetUidCookie(-1);
                        MallUtils.SetCookiePassword("");
                    }
                }
                WorkContext.EncryptPwd = encryptPwd;
            }

            //设置用户等级
            if (UserRanks.IsBanUserRank(partUserInfo.UserRid) && partUserInfo.LiftBanTime <= DateTime.Now)
            {
                UserRankInfo userRankInfo = UserRanks.GetUserRankByCredits(partUserInfo.PayCredits);
                Users.UpdateUserRankByUid(partUserInfo.Uid, userRankInfo.UserRid);
                partUserInfo.UserRid = userRankInfo.UserRid;
            }

            //当用户被禁止访问时重置用户为游客
            if (partUserInfo.UserRid == 1)
            {
                partUserInfo           = Users.CreatePartGuest();
                WorkContext.EncryptPwd = string.Empty;
                MallUtils.SetUidCookie(-1);
                MallUtils.SetCookiePassword("");
            }

            WorkContext.PartUserInfo = partUserInfo;

            WorkContext.Uid             = partUserInfo.Uid;
            WorkContext.UserName        = partUserInfo.UserName;
            WorkContext.UserEmail       = partUserInfo.Email;
            WorkContext.UserMobile      = partUserInfo.Mobile;
            WorkContext.Password        = partUserInfo.Password;
            WorkContext.NickName        = partUserInfo.NickName;
            WorkContext.Avatar          = partUserInfo.Avatar;
            WorkContext.PayCreditName   = Credits.PayCreditName;
            WorkContext.PayCreditCount  = partUserInfo.PayCredits;
            WorkContext.RankCreditName  = Credits.RankCreditName;
            WorkContext.RankCreditCount = partUserInfo.RankCredits;

            WorkContext.UserRid      = partUserInfo.UserRid;
            WorkContext.UserRankInfo = UserRanks.GetUserRankById(partUserInfo.UserRid);
            WorkContext.UserRTitle   = WorkContext.UserRankInfo.Title;
            //设置用户商城管理员组
            WorkContext.MallAGid           = partUserInfo.MallAGid;
            WorkContext.MallAdminGroupInfo = MallAdminGroups.GetMallAdminGroupById(partUserInfo.MallAGid);
            WorkContext.MallAGTitle        = WorkContext.MallAdminGroupInfo.Title;

            //设置当前控制器类名
            WorkContext.Controller = RouteData.Values["controller"].ToString().ToLower();
            //设置当前动作方法名
            WorkContext.Action  = RouteData.Values["action"].ToString().ToLower();
            WorkContext.PageKey = string.Format("/{0}/{1}", WorkContext.Controller, WorkContext.Action);

            WorkContext.ImageCDN  = WorkContext.MallConfig.ImageCDN;
            WorkContext.CSSCDN    = WorkContext.MallConfig.CSSCDN;
            WorkContext.ScriptCDN = WorkContext.MallConfig.ScriptCDN;

            //在线总人数
            WorkContext.OnlineUserCount = OnlineUsers.GetOnlineUserCount();
            //在线游客数
            WorkContext.OnlineGuestCount = OnlineUsers.GetOnlineGuestCount();
            //在线会员数
            WorkContext.OnlineMemberCount = WorkContext.OnlineUserCount - WorkContext.OnlineGuestCount;
            //搜索词
            WorkContext.SearchWord = string.Empty;
            //购物车中商品数量
            WorkContext.CartProductCount = Carts.GetCartProductCountCookie();

            //设置导航列表
            WorkContext.NavList = Navs.GetNavList();
            //设置友情链接列表
            WorkContext.FriendLinkList = FriendLinks.GetFriendLinkList();
            //设置帮助列表
            WorkContext.HelpList = Helps.GetHelpList();
        }
Beispiel #11
0
        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);
            this.ValidateRequest = false;

            WorkContext.IP = WebHelper.GetIP();
            if (WebHelper.GetQueryString("ip") == WorkContext.IP)
            {
                WorkContext.RegionInfo = Regions.GetRegionById(WebHelper.GetQueryInt("regionid"));
            }
            else
            {
                WorkContext.RegionInfo = IPSearch.SearchRegion(WorkContext.IP);
            }
            if (WorkContext.RegionInfo == null)
            {
                WorkContext.RegionInfo = new RegionInfo()
                {
                    RegionId = -1, Name = "未知区域"
                };
            }
            WorkContext.RegionId = WorkContext.RegionInfo.RegionId;

            WorkContext.Url = WebHelper.GetUrl();

            WorkContext.AppType    = WebHelper.GetQueryInt("appType");
            WorkContext.AppVersion = WebHelper.GetQueryString("appVersion");
            WorkContext.AppOS      = WebHelper.GetQueryString("appOS");

            //获得用户唯一标示符sid
            WorkContext.Sid = WebHelper.GetQueryString("sid");

            if (WorkContext.Sid.Length == 0)
            {
                //生成sid
                WorkContext.Sid = Sessions.GenerateSid();
            }

            PartUserInfo partUserInfo;

            //获得用户id
            int uid = WebHelper.GetQueryInt("uid");

            if (uid < 1)//当用户为游客时
            {
                //创建游客
                partUserInfo = Users.CreatePartGuest();
            }
            else//当用户为会员时
            {
                string encryptPwd = WebHelper.GetQueryString("encryptPwd");
                //防止用户密码被篡改为危险字符
                if (encryptPwd.Length == 0 || !SecureHelper.IsBase64String(encryptPwd))
                {
                    //创建游客
                    partUserInfo = Users.CreatePartGuest();
                    encryptPwd   = string.Empty;
                }
                else
                {
                    partUserInfo = Users.GetPartUserByUidAndPwd(uid, MallUtils.DecryptCookiePassword(encryptPwd));
                    if (partUserInfo != null)
                    {
                        //发放登陆积分
                        Credits.SendLoginCredits(ref partUserInfo, DateTime.Now, TypeHelper.StringToDateTime(WebHelper.GetQueryString("slctime")), out WorkContext.SLCTime);
                    }
                    else//当会员的账号或密码不正确时,将用户置为游客
                    {
                        partUserInfo = Users.CreatePartGuest();
                        encryptPwd   = string.Empty;
                    }
                }
                WorkContext.EncryptPwd = encryptPwd;
            }

            //设置用户等级
            if (UserRanks.IsBanUserRank(partUserInfo.UserRid) && partUserInfo.LiftBanTime <= DateTime.Now)
            {
                UserRankInfo userRankInfo = UserRanks.GetUserRankByCredits(partUserInfo.PayCredits);
                Users.UpdateUserRankByUid(partUserInfo.Uid, userRankInfo.UserRid);
                partUserInfo.UserRid = userRankInfo.UserRid;
            }

            WorkContext.PartUserInfo = partUserInfo;

            WorkContext.Uid             = partUserInfo.Uid;
            WorkContext.UserName        = partUserInfo.UserName;
            WorkContext.UserEmail       = partUserInfo.Email;
            WorkContext.UserMobile      = partUserInfo.Mobile;
            WorkContext.Password        = partUserInfo.Password;
            WorkContext.NickName        = partUserInfo.NickName;
            WorkContext.Avatar          = partUserInfo.Avatar;
            WorkContext.PayCreditName   = Credits.PayCreditName;
            WorkContext.PayCreditCount  = partUserInfo.PayCredits;
            WorkContext.RankCreditName  = Credits.RankCreditName;
            WorkContext.RankCreditCount = partUserInfo.RankCredits;

            WorkContext.UserRid      = partUserInfo.UserRid;
            WorkContext.UserRankInfo = UserRanks.GetUserRankById(partUserInfo.UserRid);
            WorkContext.UserRTitle   = WorkContext.UserRankInfo.Title;
            //设置用户商城管理员组
            WorkContext.MallAGid           = partUserInfo.MallAGid;
            WorkContext.MallAdminGroupInfo = MallAdminGroups.GetMallAdminGroupById(partUserInfo.MallAGid);
            WorkContext.MallAGTitle        = WorkContext.MallAdminGroupInfo.Title;

            //设置当前控制器类名
            WorkContext.Controller = RouteData.Values["controller"].ToString().ToLower();
            //设置当前动作方法名
            WorkContext.Action  = RouteData.Values["action"].ToString().ToLower();
            WorkContext.PageKey = string.Format("/{0}/{1}", WorkContext.Controller, WorkContext.Action);

            WorkContext.ImageCDN  = WorkContext.MallConfig.ImageCDN;
            WorkContext.CSSCDN    = WorkContext.MallConfig.CSSCDN;
            WorkContext.ScriptCDN = WorkContext.MallConfig.ScriptCDN;

            //在线总人数
            WorkContext.OnlineUserCount = OnlineUsers.GetOnlineUserCount();
            //在线游客数
            WorkContext.OnlineGuestCount = OnlineUsers.GetOnlineGuestCount();
            //在线会员数
            WorkContext.OnlineMemberCount = WorkContext.OnlineUserCount - WorkContext.OnlineGuestCount;
            //购物车中商品数量
            WorkContext.CartProductCount = WebHelper.GetQueryInt("cartProductCount");
        }
Beispiel #12
0
        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);
            this.ValidateRequest = false;

            WorkContext.IsHttpAjax  = WebHelper.IsAjax();
            WorkContext.IP          = WebHelper.GetIP();
            WorkContext.RegionInfo  = Regions.GetRegionByIP(WorkContext.IP);
            WorkContext.RegionId    = WorkContext.RegionInfo.RegionId;
            WorkContext.Url         = WebHelper.GetUrl();
            WorkContext.UrlReferrer = WebHelper.GetUrlReferrer();

            //获得用户唯一标示符sid
            WorkContext.Sid    = MallUtils.GetSidCookie();
            WorkContext.Openid = "";
            if (WorkContext.Sid.Length == 0)
            {
                //生成sid
                WorkContext.Sid = Sessions.GenerateSid();
                //将sid保存到cookie中
                MallUtils.SetSidCookie(WorkContext.Sid);
            }

            PartUserInfo partUserInfo;

            //获得用户id
            int uid = MallUtils.GetUidCookie();

            if (uid < 1)//当用户为游客时
            {
                //创建游客
                partUserInfo = Users.CreatePartGuest();
                BrnMall.Core.WeiXinConfig wxconfig = BrnMall.Core.BMAConfig.WeiXinConfig;
                #region 获取用户openid
                //if (Request.QueryString["code"] == null)
                //{
                //    string host = Request.Url.Host;
                //    string path = Request.Path;
                //    string url = string.Format("https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect", wxconfig.AppID, System.Web.HttpUtility.UrlEncode("http://" + host + path));

                //    Response.Redirect(url);
                //}
                //else
                //{

                //    //BrnMall.Core.WeiXinConfig wxconfig = BrnMall.Core.BMAConfig.WeiXinConfig;
                //    string code = Request.QueryString["code"];//获取授权code
                //                                              // string openIdUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + wxconfig.AppID + "&secret=" + wxconfig.AppSecret + "&code=" + code + "&grant_type=authorization_code";
                //    string openIdUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + wxconfig.AppID + "&secret=" + wxconfig.AppSecret + "&code=" + code + "&grant_type=authorization_code";
                //    string content = "";
                //    try
                //    {
                //        content = BrnMall.Core.WeiXinHelp.GetPage(openIdUrl, "");

                //    }
                //    catch
                //    {
                //        Response.Write("code:" + code + "这边错了");
                //    }

                //    string openid = "";//根据授权  获取当前人的openid
                //    try
                //    {
                //        openid = BrnMall.Core.WeiXinHelp.GetJsonValue(content, "openid");

                //    }
                //    catch
                //    {
                //        Response.Write("code:" + code + "||||content" + content);
                //    }
                //    Senparc.Weixin.MP.AdvancedAPIs.User.UserInfoJson dic = null;

                //    dic = Senparc.Weixin.MP.AdvancedAPIs.UserApi.Info(WeiXinHelp.IsExistAccess_Token2(), openid);

                //    if (dic.subscribe == 1)
                //    {
                //        //获取用户
                //        //try
                //        //{
                //        //BMALog.Instance.Write("openid:" + openid);
                //        partUserInfo = Users.GetPartUserByOpenid(openid);

                //        if (partUserInfo != null)
                //        {


                //            MallUtils.SetUserCookie(partUserInfo, 30);
                //            //WorkContext.EncryptPwd= MallUtils.GetCookiePassword();
                //        }
                //        else//不存在
                //        {
                //            //partUserInfo = Users.CreatePartGuest();
                //            //WorkContext.EncryptPwd = string.Empty;
                //            //MallUtils.SetUidCookie(-1);
                //            //MallUtils.SetCookiePassword("");
                //            UserInfo userinfo = new UserInfo();

                //            userinfo.Pid = 3;
                //            userinfo.Openid = dic.openid;
                //            userinfo.NickName = dic.nickname;
                //            userinfo.UserName = dic.nickname;
                //            userinfo.Password = Users.CreateUserPassword("Migewan123", "1");
                //            userinfo.Avatar = dic.headimgurl;
                //            userinfo.UserLevel = 0;
                //            userinfo.PayCredits = 0;
                //            userinfo.RankCredits = 0;
                //            userinfo.VerifyEmail = 0;
                //            userinfo.VerifyMobile = 0;
                //            userinfo.Salt = Randoms.CreateRandomValue(6);
                //            userinfo.LastVisitIP = WebHelper.GetIP();
                //            userinfo.MallAGid = 1;//非管理员组
                //                                  //userinfo.LastVisitRgId = Regions.GetRegionByIP(userinfo.LastVisitIP);
                //            userinfo.LastVisitTime = DateTime.Now;
                //            userinfo.RegisterIP = WebHelper.GetIP();

                //            userinfo.RegisterTime = DateTime.Now;
                //            Users.CreateUser(userinfo);
                //            partUserInfo = Users.GetPartUserByOpenid(openid);
                //            MallUtils.SetUserCookie(partUserInfo, 30);
                //        }
                //    }
                //}


                #endregion
                #region 测试
                ////string openid = "oD-R9wWHGhJ3rcRgX7sbU5W0s9sU";
                string openid = "oD-R9wbVoaX-B-7kmk7sz1nz_-bc";
                partUserInfo = Users.GetPartUserByOpenid(openid);
                if (partUserInfo != null)
                {
                    MallUtils.SetUserCookie(partUserInfo, 30);
                    //WorkContext.EncryptPwd= MallUtils.GetCookiePassword();
                }
                else//不存在
                {
                    partUserInfo           = Users.CreatePartGuest();
                    WorkContext.EncryptPwd = string.Empty;
                    MallUtils.SetUidCookie(-1);
                    MallUtils.SetCookiePassword("");
                }
                #endregion
            }
            else//当用户为会员时
            {
                //获得保存在cookie中的密码
                string encryptPwd = MallUtils.GetCookiePassword();
                //防止用户密码被篡改为危险字符
                if (encryptPwd.Length == 0 || !SecureHelper.IsBase64String(encryptPwd))
                {
                    //创建游客
                    partUserInfo = Users.CreatePartGuest();
                    encryptPwd   = string.Empty;
                    MallUtils.SetUidCookie(-1);
                    MallUtils.SetCookiePassword("");
                }
                else
                {
                    partUserInfo = Users.GetPartUserByUidAndPwd(uid, MallUtils.DecryptCookiePassword(encryptPwd));
                    if (partUserInfo != null)
                    {
                        //发放登陆积分
                        // Credits.SendLoginCredits(ref partUserInfo, DateTime.Now);
                    }
                    else//当会员的账号或密码不正确时,将用户置为游客
                    {
                        partUserInfo = Users.CreatePartGuest();
                        encryptPwd   = string.Empty;
                        MallUtils.SetUidCookie(-1);
                        MallUtils.SetCookiePassword("");
                    }
                }
                WorkContext.EncryptPwd = encryptPwd;
            }
            //try
            //{
            //设置用户等级
            if (UserRanks.IsBanUserRank(partUserInfo.UserRid) && partUserInfo.LiftBanTime <= DateTime.Now)
            {
                UserRankInfo userRankInfo = UserRanks.GetUserRankByCredits(partUserInfo.PayCredits);
                Users.UpdateUserRankByUid(partUserInfo.Uid, userRankInfo.UserRid);
                partUserInfo.UserRid = userRankInfo.UserRid;
            }

            //当用户被禁止访问时重置用户为游客
            if (partUserInfo.UserRid == 1)
            {
                partUserInfo           = Users.CreatePartGuest();
                WorkContext.EncryptPwd = string.Empty;
                MallUtils.SetUidCookie(-1);
                MallUtils.SetCookiePassword("");
            }
            //}
            //catch
            //{
            //    Response.Write("我的错");
            //}
            //try
            //{
            WorkContext.PartUserInfo = partUserInfo;
            WorkContext.Pid          = partUserInfo.Pid;
            WorkContext.Userno       = partUserInfo.Userno;
            WorkContext.UserLevel    = partUserInfo.UserLevel;
            WorkContext.Openid       = partUserInfo.Openid;
            WorkContext.Addtime      = partUserInfo.Addtime;
            WorkContext.IsReal       = partUserInfo.IsReal;


            WorkContext.Uid             = partUserInfo.Uid;
            WorkContext.UserName        = partUserInfo.UserName;
            WorkContext.UserEmail       = partUserInfo.Email;
            WorkContext.UserMobile      = partUserInfo.Mobile;
            WorkContext.Password        = partUserInfo.Password;
            WorkContext.NickName        = partUserInfo.NickName;
            WorkContext.Avatar          = partUserInfo.Avatar;
            WorkContext.PayCreditName   = Credits.PayCreditName;
            WorkContext.PayCreditCount  = partUserInfo.PayCredits;
            WorkContext.RankCreditName  = Credits.RankCreditName;
            WorkContext.RankCreditCount = partUserInfo.RankCredits;
            Core.BLL.SendBag bllsendbag = new Core.BLL.SendBag();
            //全部红包
            //WorkContext.CollarBag = bllsendbag.GetRecordSum(" Receiverid="+ partUserInfo.Uid );


            //已领红包
            WorkContext.NoCollarBag = bllsendbag.GetRecordSum(" Receiverid=" + partUserInfo.Uid + " and Status=0");;
            //未领红包
            WorkContext.HaCollarBag  = 0;
            WorkContext.UserRid      = partUserInfo.UserRid;
            WorkContext.UserRankInfo = UserRanks.GetUserRankById(partUserInfo.UserRid);
            //WorkContext.UserRTitle = WorkContext.UserRankInfo.Title;
            switch (WorkContext.UserLevel)
            {
            case 1:
                WorkContext.UserRTitle = "银卡会员";
                break;

            case 2:
                WorkContext.UserRTitle = "金卡会员";
                break;

            case 3:
                WorkContext.UserRTitle = "钻石会员";
                break;

            default:
                WorkContext.UserRTitle = "普通会员";
                break;
            }
            //设置用户商城管理员组
            WorkContext.MallAGid           = partUserInfo.MallAGid;
            WorkContext.MallAdminGroupInfo = MallAdminGroups.GetMallAdminGroupById(partUserInfo.MallAGid);
            WorkContext.MallAGTitle        = WorkContext.MallAdminGroupInfo.Title;

            //设置当前控制器类名
            WorkContext.Controller = RouteData.Values["controller"].ToString().ToLower();
            //设置当前动作方法名
            WorkContext.Action  = RouteData.Values["action"].ToString().ToLower();
            WorkContext.PageKey = string.Format("/{0}/{1}", WorkContext.Controller, WorkContext.Action);

            WorkContext.ImageCDN  = WorkContext.MallConfig.ImageCDN;
            WorkContext.CSSCDN    = WorkContext.MallConfig.CSSCDN;
            WorkContext.ScriptCDN = WorkContext.MallConfig.ScriptCDN;

            //在线总人数
            WorkContext.OnlineUserCount = OnlineUsers.GetOnlineUserCount();
            //在线游客数
            WorkContext.OnlineGuestCount = OnlineUsers.GetOnlineGuestCount();
            //在线会员数
            WorkContext.OnlineMemberCount = WorkContext.OnlineUserCount - WorkContext.OnlineGuestCount;
            //搜索词
            WorkContext.SearchWord = string.Empty;
            //购物车中商品数量
            WorkContext.CartProductCount = Carts.GetCartProductCountCookie();
            //}
            //catch (Exception ex)
            //{
            //    Response.Write("赋值时:"+ex.ToString());
            //}
        }