public List <AppUserAccountInfo> GetListByUserId(int tenantId, string[] userIds, string appId)
        {
            ArgumentHelper.AssertIsTrue(tenantId > 0, "tenantId is 0");
            ArgumentHelper.AssertIsTrue(userIds != null && userIds.Length > 0, "userIds is null or empty");
            ArgumentHelper.AssertNotNullOrEmpty(appId, "appId is null");

            var result = new List <AppUserAccountInfo>();

            if (userIds.Length > 100)
            {
                var userIdGroup = new List <string>();
                var group       = new List <string>();
                for (var i = 1; i <= userIds.Length; i++)
                {
                    group.Add(userIds[i]);
                    if (i % 100 == 0)
                    {
                        userIdGroup.Add(string.Join("|", group));
                        group = new List <string>();
                    }
                }

                foreach (var ug in userIdGroup)
                {
                    result.AddRange(AppUserAccountDao.GetListByUserId(tenantId, ug, appId));
                }
            }
            else
            {
                result.AddRange(AppUserAccountDao.GetListByUserId(tenantId, string.Join(",", userIds), appId));
            }

            return(result);
        }
        public List <AppUserAccountInfo> GetListByUserId(int tenantId, string[] userIds)
        {
            ArgumentHelper.AssertIsTrue(tenantId > 0, "tenantId is 0");
            ArgumentHelper.AssertIsTrue(userIds != null && userIds.Length > 0, "userIds is null or empty");

            var resultTemp = new List <AppUserAccountInfo>();

            if (userIds.Length > 100)
            {
                var userIdGroup = new List <string>();
                var group       = new List <string>();
                for (var i = 1; i <= userIds.Length; i++)
                {
                    group.Add(userIds[i]);
                    if (i % 100 == 0)
                    {
                        userIdGroup.Add(string.Join("|", group));
                        group = new List <string>();
                    }
                }

                foreach (var ug in userIdGroup)
                {
                    resultTemp.AddRange(AppUserAccountDao.GetListByUserId(tenantId, ug));
                }
            }
            else
            {
                resultTemp.AddRange(AppUserAccountDao.GetListByUserId(tenantId, string.Join(",", userIds)));
            }
            //过滤公共绑定,去除重复
            var appAccountPublic = ProviderGateway.AppAccountProvider.GetPublicByType(12);
            var result           = new List <AppUserAccountInfo>();

            foreach (var user in resultTemp)
            {
                if (user.AppId != appAccountPublic.AppId)
                {
                    result.Add(user);
                }
            }

            return(result);
        }