Bläddra i källkod

定时任务优化

吴昊天 2 år sedan
förälder
incheckning
ca02d7b69d

+ 3 - 3
crmeb/app/adminapi/controller/v1/system/SystemTimer.php

@@ -3,12 +3,12 @@
 namespace app\adminapi\controller\v1\system;
 
 use app\adminapi\controller\AuthController;
-use app\services\system\timer\SystemTimerServices;
+use app\services\system\crontab\SystemCrontabServices;
 use think\facade\App;
 
-class SystemTimer extends AuthController
+class SystemCrontab extends AuthController
 {
-    public function __construct(App $app, SystemTimerServices $services)
+    public function __construct(App $app, SystemCrontabServices $services)
     {
         parent::__construct($app);
         $this->services = $services;

+ 6 - 6
crmeb/app/adminapi/route/system.php

@@ -99,17 +99,17 @@ Route::group('system', function () {
 
     /** 定时任务 */
     //定时任务列表
-    Route::get('timer/list', 'v1.system.SystemTimer/getTimerList')->option(['real_name' => '定时任务列表']);
+    Route::get('timer/list', 'v1.system.SystemCrontab/getTimerList')->option(['real_name' => '定时任务列表']);
     //定时任务类型
-    Route::get('timer/mark', 'v1.system.SystemTimer/getMarkList')->option(['real_name' => '定时任务类型']);
+    Route::get('timer/mark', 'v1.system.SystemCrontab/getMarkList')->option(['real_name' => '定时任务类型']);
     //定时任务详情
-    Route::get('timer/info/:id', 'v1.system.SystemTimer/getTimerInfo')->option(['real_name' => '定时任务详情']);
+    Route::get('timer/info/:id', 'v1.system.SystemCrontab/getTimerInfo')->option(['real_name' => '定时任务详情']);
     //定时任务添加编辑
-    Route::post('timer/save', 'v1.system.SystemTimer/saveTimer')->option(['real_name' => '定时任务添加编辑']);
+    Route::post('timer/save', 'v1.system.SystemCrontab/saveTimer')->option(['real_name' => '定时任务添加编辑']);
     //删除定时任务
-    Route::delete('timer/del/:id', 'v1.system.SystemTimer/delTimer')->option(['real_name' => '删除定时任务']);
+    Route::delete('timer/del/:id', 'v1.system.SystemCrontab/delTimer')->option(['real_name' => '删除定时任务']);
     //定时任务是否开启开关
-    Route::get('timer/set_open/:id/:is_open', 'v1.system.SystemTimer/setTimerStatus')->option(['real_name' => '定时任务是否开启开关']);
+    Route::get('timer/set_open/:id/:is_open', 'v1.system.SystemCrontab/setTimerStatus')->option(['real_name' => '定时任务是否开启开关']);
 
 })->middleware([
     \app\http\middleware\AllowOriginMiddleware::class,

+ 10 - 4
crmeb/app/api/controller/v1/TimerController.php

@@ -10,9 +10,15 @@ use app\services\order\StoreOrderServices;
 use app\services\order\StoreOrderTakeServices;
 use app\services\product\product\StoreProductServices;
 use app\services\system\attachment\SystemAttachmentServices;
-use app\services\system\timer\SystemTimerServices;
+use app\services\system\crontab\SystemCrontabServices;
 
-class TimerController
+/**
+ * 定时任务控制器
+ * @author 吴汐
+ * @email 442384644@qq.com
+ * @date 2023/02/21
+ */
+class CrontabController
 {
     /**
      * 定时任务调用接口
@@ -22,13 +28,13 @@ class TimerController
      */
     public function crontabRun()
     {
-        app()->make(SystemTimerServices::class)->crontabRun();
+        app()->make(SystemCrontabServices::class)->crontabRun();
     }
 
     /**
      * 检测定时任务是否正常,必须6秒执行一次
      */
-    public function timerCheck()
+    public function crontabCheck()
     {
         file_put_contents(root_path() . 'runtime/.timer', time());
     }

+ 11 - 11
crmeb/app/api/route/v1.php

@@ -391,27 +391,27 @@ Route::group(function () {
 
     /** 定时任务接口 */
     //定时任务调用接口
-    Route::get('crontab/run', 'v1.TimerController/crontabRun')->name('crontabRun');
+    Route::get('crontab/run', 'v1.CrontabController/crontabRun')->name('crontabRun');
     //检测定时任务接口
-    Route::get('timer/check', 'v1.TimerController/timerCheck')->name('timerCheck');
+    Route::get('crontab/check', 'v1.CrontabController/crontabCheck')->name('crontabCheck');
     //未支付自动取消订单
-    Route::get('timer/order_cancel', 'v1.TimerController/orderUnpaidCancel')->name('orderUnpaidCancel');
+    Route::get('crontab/order_cancel', 'v1.CrontabController/orderUnpaidCancel')->name('orderUnpaidCancel');
     //拼团到期订单处理
-    Route::get('timer/pink_expiration', 'v1.TimerController/pinkExpiration')->name('pinkExpiration');
+    Route::get('crontab/pink_expiration', 'v1.CrontabController/pinkExpiration')->name('pinkExpiration');
     //自动解绑上级绑定
-    Route::get('timer/agent_unbind', 'v1.TimerController/agentUnbind')->name('agentUnbind');
+    Route::get('crontab/agent_unbind', 'v1.CrontabController/agentUnbind')->name('agentUnbind');
     //更新直播商品状态
-    Route::get('timer/live_product_status', 'v1.TimerController/syncGoodStatus')->name('syncGoodStatus');
+    Route::get('crontab/live_product_status', 'v1.CrontabController/syncGoodStatus')->name('syncGoodStatus');
     //更新直播间状态
-    Route::get('timer/live_room_status', 'v1.TimerController/syncRoomStatus')->name('syncRoomStatus');
+    Route::get('crontab/live_room_status', 'v1.CrontabController/syncRoomStatus')->name('syncRoomStatus');
     //自动收货
-    Route::get('timer/take_delivery', 'v1.TimerController/autoTakeOrder')->name('autoTakeOrder');
+    Route::get('crontab/take_delivery', 'v1.CrontabController/autoTakeOrder')->name('autoTakeOrder');
     //查询预售到期商品自动下架
-    Route::get('timer/advance_off', 'v1.TimerController/downAdvance')->name('downAdvance');
+    Route::get('crontab/advance_off', 'v1.CrontabController/downAdvance')->name('downAdvance');
     //自动好评
-    Route::get('timer/product_replay', 'v1.TimerController/autoComment')->name('autoComment');
+    Route::get('crontab/product_replay', 'v1.CrontabController/autoComment')->name('autoComment');
     //清除昨日海报
-    Route::get('timer/clear_poster', 'v1.TimerController/emptyYesterdayAttachment')->name('emptyYesterdayAttachment');
+    Route::get('crontab/clear_poster', 'v1.CrontabController/emptyYesterdayAttachment')->name('emptyYesterdayAttachment');
 
 
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\api\middleware\StationOpenMiddleware::class)->middleware(\app\api\middleware\AuthTokenMiddleware::class, false);

+ 18 - 0
crmeb/app/dao/system/crontab/SystemCrontabDao.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\dao\system\crontab;
+
+use app\dao\BaseDao;
+use app\model\system\crontab\SystemCrontab;
+
+class SystemCrontabDao extends BaseDao
+{
+    /**
+     * 设置模型
+     * @return string
+     */
+    protected function setModel(): string
+    {
+        return SystemCrontab::class;
+    }
+}

+ 0 - 18
crmeb/app/dao/system/timer/SystemTimerDao.php

@@ -1,18 +0,0 @@
-<?php
-
-namespace app\dao\system\timer;
-
-use app\dao\BaseDao;
-use app\model\system\timer\SystemTimer;
-
-class SystemTimerDao extends BaseDao
-{
-    /**
-     * 设置模型
-     * @return string
-     */
-    protected function setModel(): string
-    {
-        return SystemTimer::class;
-    }
-}

+ 4 - 4
crmeb/app/listener/crontab/SystemCrontab.php

@@ -10,7 +10,7 @@ use app\services\order\StoreOrderServices;
 use app\services\order\StoreOrderTakeServices;
 use app\services\product\product\StoreProductServices;
 use app\services\system\attachment\SystemAttachmentServices;
-use app\services\system\timer\SystemTimerServices;
+use app\services\system\crontab\SystemCrontabServices;
 use crmeb\interfaces\ListenerInterface;
 use think\facade\Log;
 use Workerman\Crontab\Crontab;
@@ -27,9 +27,9 @@ class SystemCrontab implements ListenerInterface
             file_put_contents(root_path() . 'runtime/.timer', time());
         });
 
-        /** @var SystemTimerServices $systemTimerServices */
-        $systemTimerServices = app()->make(SystemTimerServices::class);
-        $list = $systemTimerServices->selectList(['is_del' => 0, 'is_open' => 1])->toArray();
+        /** @var SystemCrontabServices $systemTimerServices */
+        $systemCrontabServices = app()->make(SystemCrontabServices::class);
+        $list = $systemCrontabServices->selectList(['is_del' => 0, 'is_open' => 1])->toArray();
         foreach ($list as &$item) {
             //获取定时任务时间字符串
             $timeStr = $this->getTimerStr($item);

+ 2 - 2
crmeb/app/model/system/timer/SystemTimer.php

@@ -1,11 +1,11 @@
 <?php
 
-namespace app\model\system\timer;
+namespace app\model\system\crontab;
 
 use crmeb\basic\BaseModel;
 use crmeb\traits\ModelTrait;
 
-class SystemTimer extends BaseModel
+class SystemCrontab extends BaseModel
 {
     use ModelTrait;
 

+ 4 - 4
crmeb/app/services/system/timer/SystemTimerServices.php

@@ -1,8 +1,8 @@
 <?php
 
-namespace app\services\system\timer;
+namespace app\services\system\crontab;
 
-use app\dao\system\timer\SystemTimerDao;
+use app\dao\system\crontab\SystemCrontabDao;
 use app\services\activity\combination\StorePinkServices;
 use app\services\activity\live\LiveGoodsServices;
 use app\services\activity\live\LiveRoomServices;
@@ -15,7 +15,7 @@ use app\services\system\attachment\SystemAttachmentServices;
 use crmeb\exceptions\AdminException;
 use think\facade\Log;
 
-class SystemTimerServices extends BaseServices
+class SystemCrontabServices extends BaseServices
 {
     /**
      * 定时任务类型
@@ -33,7 +33,7 @@ class SystemTimerServices extends BaseServices
         'clear_poster' => '清除昨日海报',
     ];
 
-    public function __construct(SystemTimerDao $dao)
+    public function __construct(SystemCrontabDao $dao)
     {
         $this->dao = $dao;
     }