Esempio n. 1
0
        /// <summary>
        /// 取得名单列表(分页)
        /// </summary>
        /// <param name="rosterType">名单类型</param>
        /// <param name="api">API</param>
        /// <param name="policy">策略</param>
        /// <param name="policyKey">策略Key</param>
        public async Task <(long count, IEnumerable <ListItem> items)> GetRosterListAsync(RosterType rosterType, string api, Policy policy, string policyKey, long skip, long take)
        {
            var key = FromatRosterKey(rosterType, api, policy, policyKey);
            //取得件数
            var count = await _db.ZCardAsync(key);

            if (count == 0)
            {
                return(0, new List <ListItem>());
            }

            //取得数据
            var data = await _db.ZRangeWithScoresAsync(key, 0, -1);

            return(count, data.Select(x => new ListItem {
                Value = x.member, ExpireTicks = x.score
            }));
        }