Commit 4707953d authored by clone's avatar clone

1

parent 96869c96
...@@ -143,21 +143,21 @@ class SquareSortService ...@@ -143,21 +143,21 @@ class SquareSortService
$list = $this->redis->zRange(self::SORT_KEY . $site_id, 0, -1, true); $list = $this->redis->zRange(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) {
$index_end = $cream_num - $index_min; $index_end = $cream_num -1 - $index_min;
$index_start = $index_end - $page_size; $index_start = $index_end - $page_size + 1;
$cream_list = $this->redis->zRange(self::SORT_KEY_CREAM . $site_id, $index_start, $index_end, true); $cream_list = $this->redis->zRange(self::SORT_KEY_CREAM . $site_id, $index_start, $index_end, true);
$result = $cream_list; $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 = $cream_num - 1 - $index_min;
$index_end = $num - 1; $index_end = $num - 1;
$index_start = $num - ($page_size - $cream_num); $index_start = $num - ($page_size - $residue) + 1;
$index_start = $index_start > 0 ? $index_start : 0; $index_start = $index_start > 0 ? $index_start : 0;
$cream_list = $this->redis->zRange(self::SORT_KEY_CREAM . $site_id, 0, $residue, true); $cream_list = $this->redis->zRange(self::SORT_KEY_CREAM . $site_id, 0, $residue, true);
$list = $this->redis->zRange(self::SORT_KEY . $site_id, $index_start, $index_end, true); $list = $this->redis->zRange(self::SORT_KEY . $site_id, $index_start, $index_end, true);
$result = $cream_list + $list; $result = $cream_list + $list;
} elseif ($index_min > $cream_num && $index_min < $total) { } elseif ($index_min > $cream_num && $index_min < $total) {
$index_end = $num - 1 - ($index_min - $cream_num); $index_end = $num - 1 - ($index_min - $cream_num);
$index_start = $index_end - $page_size; $index_start = $index_end - $page_size + 1;
$index_start = $index_start > 0 ? $index_start : 0; $index_start = $index_start > 0 ? $index_start : 0;
$list = $this->redis->zRange(self::SORT_KEY . $site_id, $index_start, $index_end, true); $list = $this->redis->zRange(self::SORT_KEY . $site_id, $index_start, $index_end, true);
$result = $list; $result = $list;
......
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