提交触发价到trigger_prices资料表

This commit is contained in:
2025-06-19 08:58:09 +07:00
parent 18c58aa976
commit 2677ec3ac0
311 changed files with 1210 additions and 29 deletions
@@ -0,0 +1,45 @@
<?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");
}
}
}
+15
View File
@@ -0,0 +1,15 @@
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule): void
{
// 你可以换成 everyFiveMinutes() 或 daily()
$schedule->command('check:usdt-trigger')->everyMinute();
}
}