From 11b2bdb0367af47132d645a45c965c7f1a98fa00 Mon Sep 17 00:00:00 2001 From: hellcat <> Date: Mon, 24 Mar 2025 20:34:37 +0800 Subject: [PATCH] no message --- public/tests/hook.php | 2 +- src/Command/Cron.php | 3 +++ src/Controllers/TestController.php | 9 +++++++++ src/Controllers/TomApi/Tg/HookController.php | 8 +++++++- src/Models/TgStep.php | 1 + src/Services/Cron.php | 6 ++++++ 6 files changed, 27 insertions(+), 2 deletions(-) diff --git a/public/tests/hook.php b/public/tests/hook.php index 30057612..bd14d752 100644 --- a/public/tests/hook.php +++ b/public/tests/hook.php @@ -35,7 +35,7 @@ $oHttp->aData = [ 'type' => 'private' ], 'date' => 1610000000, - 'text' => '222' + 'text' => 'reply 2' ] ]; diff --git a/src/Command/Cron.php b/src/Command/Cron.php index bd755605..1e273d62 100755 --- a/src/Command/Cron.php +++ b/src/Command/Cron.php @@ -60,6 +60,9 @@ EOL; $jobs->bandwidthMerge(); $jobs->resetFreeUserBandwidth(); $jobs->sendDailyTrafficReport(); + + // 每日清除前一天残留TgStep + $jobs->clearTgStep(); if (Config::obtain('enable_detect_inactive_user')) { $jobs->detectInactiveUser(); diff --git a/src/Controllers/TestController.php b/src/Controllers/TestController.php index cc417f88..04824c7d 100755 --- a/src/Controllers/TestController.php +++ b/src/Controllers/TestController.php @@ -24,6 +24,15 @@ session_start(); final class TestController extends BaseController { + public function test5 () + { + $jobs = new CronService(); + + $jobs->clearTgStep(); + + exit; + } + public function test4 () { // session_start(); diff --git a/src/Controllers/TomApi/Tg/HookController.php b/src/Controllers/TomApi/Tg/HookController.php index 53207f2a..404ae06d 100755 --- a/src/Controllers/TomApi/Tg/HookController.php +++ b/src/Controllers/TomApi/Tg/HookController.php @@ -65,6 +65,8 @@ final class HookController if ($sText === "/break") { + $oTgStep->clearByFromId($aData["fromId"]); + $this->sendMessage("ok"); http_response_code(200);exit; @@ -72,6 +74,7 @@ final class HookController if (strpos($sText, '/reply') === 0) { + // 先清除一遍,只进行一个进程 $oTgStep->clearByFromId($aData["fromId"]); $iTicketId = str_replace('/reply', '', $sText); @@ -105,6 +108,9 @@ final class HookController $r = @json_decode($oHttp->send(), true); + // 不论失败成功都清除step + $oTgStep->clearByFromId($aUpdate["message"]["from"]["id"]); + if ($r["ret"] == 1) { $sMessage = "成功"; } else { @@ -121,7 +127,7 @@ final class HookController } - Http::response(200, 'ok'); + Http::response(200, '无'); } diff --git a/src/Models/TgStep.php b/src/Models/TgStep.php index 85ab17cd..ed01ad82 100755 --- a/src/Models/TgStep.php +++ b/src/Models/TgStep.php @@ -20,6 +20,7 @@ final class TgStep extends Model $oTgStep->cmd = $sCmd; $oTgStep->step = $iStep; $oTgStep->cache = json_encode($sCache); + $oTgStep->date = date("Y-m-d"); $oTgStep->save(); diff --git a/src/Services/Cron.php b/src/Services/Cron.php index 55b60f75..18d0dfe6 100755 --- a/src/Services/Cron.php +++ b/src/Services/Cron.php @@ -16,6 +16,7 @@ use App\Models\Order; use App\Models\Paylist; use App\Models\SubscribeLog; use App\Models\User; +use App\Models\TgStep; use App\Models\Zhuanfas; use App\Models\Ducks; use App\Services\TomTool\TgSendFormat; @@ -55,6 +56,11 @@ final class Cron echo Tools::toDateTime(time()) . ' 数据库清理完成' . PHP_EOL; } + + public static function clearTgStep(): void + { + TgStep::where("date", "<=", date('Y-m-d', strtotime('-1 day')))->delete(); + } public static function detectInactiveUser(): void {