<?php
if (!defined('__TYPECHO_ROOT_DIR__')) exit;

function Mirai_api_referral_rebate_logs($db, $user) {
    if (!$user->hasLogin()) {
        return ['code' => 401, 'msg' => '请先登录', 'need_login' => true];
    }
    $uid = (int)$user->uid;
    $page = max(1, (int)($_POST['page'] ?? 1));
    $pageSize = min(50, max(1, (int)($_POST['pageSize'] ?? 20)));

    $orderTable = Mirai_pointsTable('mirai_pay_orders');
    $offset = ($page - 1) * $pageSize;

    $count = $db->fetchRow($db->select(['COUNT(*)' => 'cnt'])->from($orderTable)
        ->where('referrer_uid = ? AND rebate_price > 0', $uid));
    $total = (int)($count['cnt'] ?? 0);

    $rows = $db->fetchAll($db->select()->from($orderTable)
        ->where('referrer_uid = ? AND rebate_price > 0', $uid)
        ->order('created', \Typecho\Db::SORT_DESC)
        ->limit($pageSize)
        ->offset($offset));

    return ['code' => 0, 'data' => ['list' => $rows, 'total' => $total, 'page' => $page, 'pageSize' => $pageSize]];
}
