46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?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");
|
|
}
|
|
}
|
|
}
|