Commit 3a313e25 authored by clone's avatar clone

1

parent b41f6f88
...@@ -139,17 +139,22 @@ class SquareSortService ...@@ -139,17 +139,22 @@ class SquareSortService
$list = $this->redis->zRevRange(self::SORT_KEY . $site_id, 0, -1, true); $list = $this->redis->zRevRange(self::SORT_KEY . $site_id, 0, -1, true);
$result = $cream_list + $list; $result = $cream_list + $list;
} elseif ($index_min <= $cream_num && $index_max <= $cream_num) { } elseif ($index_min <= $cream_num && $index_max <= $cream_num) {
$cream_list = $this->redis->zRevRange(self::SORT_KEY_CREAM . $site_id, $index_min, $page_size, true); $index_end = $cream_num - $index_min;
$result = $cream_list; $index_start = $index_end - $page_size;
$cream_list = $this->redis->zRevRange(self::SORT_KEY_CREAM . $site_id, $index_start, $index_end, true);
$result = $cream_list;
} elseif ($index_min <= $cream_num && $index_max > $cream_num) { } elseif ($index_min <= $cream_num && $index_max > $cream_num) {
$residue = $index_max - $cream_num; $residue = $index_max - $cream_num;
$cream_list = $this->redis->zRevRange(self::SORT_KEY_CREAM . $site_id, $index_min, -1, true); $index_end = $total;
$list = $this->redis->zRevRange(self::SORT_KEY . $site_id, 0, $residue, true); $index_start = $total - ($page_size - $residue);
$result = $cream_list + $list; $cream_list = $this->redis->zRevRange(self::SORT_KEY_CREAM . $site_id, 0, $residue, true);
$list = $this->redis->zRevRange(self::SORT_KEY . $site_id, $index_start, $index_end, true);
$result = $cream_list + $list;
} elseif ($index_min > $cream_num) { } elseif ($index_min > $cream_num) {
$index_ = $index_min - $cream_num; $index_end = $total - ($index_min - $cream_num);
$list = $this->redis->zRevRange(self::SORT_KEY . $site_id, $index_, $page_size, true); $index_start = $index_end - $page_size;
$result = $list; $list = $this->redis->zRevRange(self::SORT_KEY . $site_id, $index_start, $index_end, true);
$result = $list;
} }
return $result; return $result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment