public override void OnActionExecuting(HttpActionContext actionContext)
        {
            string userkey = "";

            userkey = WebHelper.GetQueryString("userkey");
            if (string.IsNullOrWhiteSpace(userkey))
            {
                userkey = WebHelper.GetFormString("userkey");
            }
            long shopuid = UserCookieEncryptHelper.Decrypt(userkey, CookieKeysCollection.USERROLE_SELLERADMIN);
            var  shopm   = ManagerApplication.GetSellerManager(shopuid);

            if (shopm == null)
            {
                throw new HimallApiException(ApiErrorCode.Parameter_Error, "商家信息错误");
            }
            var shop = ShopApplication.GetShop(shopm.ShopId);

            if (shop == null)
            {
                throw new HimallApiException(ApiErrorCode.Parameter_Error, "商家信息错误");
            }
            if (shop.ShopStatus == Entities.ShopInfo.ShopAuditStatus.Freeze)
            {
                throw new HimallApiException(ApiErrorCode.User_Freeze, "商家已冻结");
            }
            base.OnActionExecuting(actionContext);
        }
示例#2
0
 void Awake()
 {
     // Singleton
     if (Instance != null && Instance != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         Instance = this;
         DontDestroyOnLoad(this.gameObject);
     }
 }
        public ActionResult ManagementList(int page, string keywords, int rows)
        {
            var result = ManagerApplication.GetMemberList(new ManagerQuery()
            {
                PageNo   = page,
                PageSize = rows
            });
            var model = new DataGridModel <ManagerInfo>()
            {
                rows = result.Models, total = result.Total
            };

            return(Json(model));
        }
示例#4
0
        public ShopHelper(string app_key)
        {
            _AppKey = app_key;
            if (string.IsNullOrWhiteSpace(_AppKey))
            {
                throw new HimallApiException(Hishop.Open.Api.OpenApiErrorCode.Missing_App_Key, "app_key");
            }
            var shopappinfo = ShopOpenApiApplication.Get(_AppKey);

            if (_AppKey == "himalltest")
            {
                shopappinfo = new Entities.ShopOpenApiSettingInfo {
                    IsEnable = true, ShopId = 1, AppSecreat = "has2f5zbd4"
                }
            }
            ;
            if (shopappinfo == null)
            {
                throw new HimallApiException(Hishop.Open.Api.OpenApiErrorCode.Invalid_App_Key, "app_key");
            }
            if (shopappinfo.IsEnable != true)
            {
                throw new HimallApiException(Hishop.Open.Api.OpenApiErrorCode.System_Error, "function not open");
            }
            _AppSecreate = shopappinfo.AppSecreat;
            if (string.IsNullOrWhiteSpace(_AppSecreate))
            {
                throw new HimallApiException(Hishop.Open.Api.OpenApiErrorCode.Insufficient_ISV_Permissions, "not set app_secreat");
            }

            var shop = ShopApplication.GetShop(shopappinfo.ShopId);

            if (shop == null)
            {
                throw new HimallApiException(Hishop.Open.Api.OpenApiErrorCode.Invalid_App_Key, "app_key");
            }
            ShopId = shop.Id;
            var manage = ManagerApplication.GetSellerManagerByShopId(ShopId);

            if (manage == null)
            {
                throw new HimallException("店铺管理信息有误,请管理员修正");
            }
            SellerName = manage.UserName;
            IsSelf     = shop.IsSelf;
        }
    }
        public object GetUser(string userName, string password)
        {
            var _iSiteSettingService = ObjectContainer.Current.Resolve <ISiteSettingService>();
            var siteSettings         = _iSiteSettingService.GetSiteSettings();

            //普通登录
            if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password))
            {
                //诊所登录也放在这里,因为诊所app和门店app为同一个并且没做登录区分,只能通过登录后才能知道是登录的诊所还是门店管理员
                var seller = ManagerApplication.Login(userName, password);
                if (seller != null)
                {
                    if (!siteSettings.IsOpenShopApp)
                    {
                        return(ErrorResult("未授权诊所APP"));
                    }

                    var shop = ShopApplication.GetShop(seller.ShopId);
                    if (shop != null && shop.ShopStatus != ShopInfo.ShopAuditStatus.Open)
                    {
                        return(ErrorResult("无效的账号"));
                    }
                    dynamic result   = SuccessResult();
                    string  memberId = UserCookieEncryptHelper.Encrypt(seller.Id, CookieKeysCollection.USERROLE_SELLERADMIN);
                    result.UserKey = memberId;
                    result.type    = ManagerType.ShopManager;
                    return(result);
                }
                if (!siteSettings.IsOpenStore)
                {
                    return(ErrorResult("未授权门店模块"));
                }
                var member = Himall.Application.ShopBranchApplication.ShopBranchLogin(userName, password);
                if (member != null)
                {
                    dynamic result   = SuccessResult();
                    string  memberId = UserCookieEncryptHelper.Encrypt(member.Id, CookieKeysCollection.USERROLE_USER);
                    result.UserKey = memberId;
                    result.type    = ManagerType.ShopBranchManager;
                    return(result);
                }


                return(ErrorResult("用户名或密码错误"));
            }
            return(ErrorResult("用户名或密码不能为空"));
        }
示例#6
0
 /// <summary>
 /// 写入登录cookie
 /// </summary>
 /// <param name="member"></param>
 private void WriteLogin(Entities.MemberInfo member)
 {
     if (member != null)
     {
         base.SetUserLoginCookie(member.Id, DateTime.MaxValue);
         Core.Helper.WebHelper.SetCookie(CookieKeysCollection.HIMALL_ACTIVELOGOUT, "0", DateTime.MaxValue);
         var sell = ManagerApplication.GetSellerManager(member.UserName);
         if (sell != null)
         {
             base.SetSellerAdminLoginCookie(sell.Id, DateTime.MaxValue);
         }
         else
         {
             //多个账号切换时,商家之前登录的cookie可能没有清除掉,当当前账号不存在时再清除下
             Core.Helper.WebHelper.DeleteCookie(CookieKeysCollection.SELLER_MANAGER);
         }
     }
 }
 protected override Manager GetUser()
 {
     return(ManagerApplication.GetSellerManager(this.CurrentUserId));
 }
        public object GetUser(string userName, string password)
        {
            var siteSettings = SiteSettingApplication.SiteSettings;

            //普通登录
            if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password))
            {
                //商家登录也放在这里,因为商家app和门店app为同一个并且没做登录区分,只能通过登录后才能知道是登录的商家还是门店管理员
                var     seller = ManagerApplication.Login(userName, password);
                dynamic result = SuccessResult();
                if (seller != null)
                {
                    if (!siteSettings.IsOpenShopApp)
                    {
                        return(ErrorResult("未授权商家APP"));
                    }

                    var shop = ShopApplication.GetShop(seller.ShopId);
                    if (shop != null && shop.ShopStatus == Entities.ShopInfo.ShopAuditStatus.HasExpired)
                    {
                        return(ErrorResult("店铺已过期"));
                    }
                    if (null != shop && shop.ShopStatus == Entities.ShopInfo.ShopAuditStatus.Freeze)
                    {
                        return(ErrorResult("店铺已冻结"));
                    }
                    if (shop != null && shop.ShopStatus != Entities.ShopInfo.ShopAuditStatus.Open)
                    {
                        return(ErrorResult("无效的账号"));
                    }
                    if (seller.RoleId != 0)
                    {
                        var model = RoleApplication.GetRoleInfo(seller.RoleId);
                        //TODO:FG 权限验证 实现逻辑待优化
                        var SellerPrivileges = RoleApplication.GetSellerPrivileges(seller.RoleId);
                        if (!SellerPermission.CheckPermissions(SellerPrivileges, "App", "App"))
                        {
                            return(ErrorResult("您没有登录商家APP的权限"));
                        }
                    }
                    result         = SuccessResult();
                    result.UserKey = UserCookieEncryptHelper.Encrypt(seller.Id, CookieKeysCollection.USERROLE_SELLERADMIN);
                    result.type    = ManagerType.ShopManager;
                    return(result);
                }
                var member = ShopBranchApplication.ShopBranchLogin(userName, password);
                if (member == null)
                {
                    return(ErrorResult("用户名或密码错误"));
                }
                var shopbranch = ShopBranchApplication.GetShopBranchById(member.ShopBranchId);
                if (shopbranch != null)
                {
                    if (shopbranch.Status == ShopBranchStatus.Freeze)
                    {
                        return(ErrorResult("门店已被冻结"));
                    }
                    if (!siteSettings.IsOpenStore)
                    {
                        return(ErrorResult("未授权门店模块"));
                    }
                }
                var membershop = ShopApplication.GetShop(shopbranch.ShopId);
                if (membershop != null && membershop.ShopStatus == Entities.ShopInfo.ShopAuditStatus.HasExpired)
                {
                    return(ErrorResult("门店所属店铺已过期"));
                }
                if (null != membershop && membershop.ShopStatus == Entities.ShopInfo.ShopAuditStatus.Freeze)
                {
                    return(ErrorResult("门店所属店铺已冻结"));
                }
                if (member != null)
                {
                    result         = SuccessResult();
                    result.UserKey = UserCookieEncryptHelper.Encrypt(member.Id, CookieKeysCollection.USERROLE_USER);
                    result.type    = ManagerType.ShopBranchManager;
                    return(result);
                }
            }
            return(ErrorResult("用户名或密码不能为空"));
        }
 public ManagerController(ManagerApplication managerApplication) : base(managerApplication)
 {
 }