<?php

namespace app\admin\controller\mall;

use Throwable;
use app\common\controller\Backend;
use support\Response;
use Webman\Http\Request;

/**
 * 领取记录（后台列表）
 */
class ClaimLog extends Backend
{
    /**
     * @var object|null
     * @phpstan-var \app\common\model\MallClaimLog|null
     */
    protected ?object $model = null;

    protected array|string $preExcludeFields = ['id', 'create_time', 'update_time'];

    protected string|array $quickSearchField = ['user_id', 'claim_request_id'];

    protected string|array $indexField = [
        'id',
        'claim_request_id',
        'user_id',
        'claimed_amount',
        'create_time',
    ];

    public function initialize(): void
    {
        parent::initialize();
        $this->model = new \app\common\model\MallClaimLog();
    }

    /**
     * 查看
     * @throws Throwable
     */
    public function index(Request $request): Response
    {
        $response = $this->initializeBackend($request);
        if ($response !== null) {
            return $response;
        }

        if ($request->get('select') || $request->post('select')) {
            return $this->select($request);
        }

        return $this->_index();
    }
}

