<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Cache;
use App\Models\UsdtC2c;

class CheckUsdtTriggerPrice extends Command
{
    protected $signature = 'check:usdt-trigger';
    protected $description = '检查 USDT 是否达到触发价格';

    public function handle()
    {
        $trigger = Cache::get('trigger_price');

        if (!$trigger || !is_numeric($trigger)) {
            $this->info('尚未设定触发价格，或格式错误。');
            return;
        }

        $latest = UsdtC2c::orderByDesc('created_at')->first();

        if (!$latest) {
            $this->info('数据库没有任何 USDT 记录');
            return;
        }

        $highest = $latest->Highest;

        if ($highest >= $trigger) {
            // TODO: 你可以放任何通知逻辑
            $this->warn("🚨 达到触发价格！目前最高价 $highest >= 设定 $trigger");

            // 举例：写日志
            logger("USDT 触发通知：$highest >= $trigger");

            // 举例：仅触发一次后清除缓存
            Cache::forget('trigger_price');
        } else {
            $this->info("当前最高价 $highest 未达设定值 $trigger");
        }
    }
}
