zilong 4 лет назад
Родитель
Сommit
7f893094cb
3 измененных файлов с 101 добавлено и 16 удалено
  1. 84 0
      app/Console/Commands/packExpiredCheck.php
  2. 2 2
      app/Console/Kernel.php
  3. 15 14
      config/config.php

+ 84 - 0
app/Console/Commands/packExpiredCheck.php

xqd
@@ -0,0 +1,84 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Models\OrderPack;
+use Illuminate\Console\Command;
+
+class packExpiredCheck extends Command
+{
+    /**
+     * The name and signature of the console command.
+     *
+     * @var string
+     */
+    protected $signature = 'packExpiredCheck';
+
+    /**
+     * The console command description.
+     *
+     * @var string
+     */
+    protected $description = '服务包过期检测,定时任务1个小时跑一次';
+
+    /**
+     * Create a new command instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        parent::__construct();
+    }
+
+    /**
+     * Execute the console command.
+     *
+     * @return mixed
+     */
+    public function handle()
+    {
+        $hour = date('H');
+        if ($hour == 12) {
+            //还差3天过期
+            $this->checkPackExpire(1);
+            //还差1天过期
+            $this->checkPackExpire(2);
+        }
+
+        //已经过期了
+        $this->checkPackExpire(3);
+
+        return true;
+    }
+
+    private function checkPackExpire($expire_type)
+    {
+        $end_time = strtotime('+3 days');
+        $send_type = 8;
+        $expire_type_arr = [1];
+        if ($expire_type == 2) {
+            $end_time = strtotime('+1 days');
+            $expire_type_arr = [1,2];
+        }
+        if ($expire_type == 3) {
+            $end_time = time();
+            $send_type = 9;
+            $expire_type_arr = [1,2,3];
+        }
+        $orderPack = OrderPack::with(['user'])->whereIn('expire_type', $expire_type_arr)->where('end_time', '<', $end_time)->get()->toArray();
+        if (!empty($orderPack)) {
+            foreach ($orderPack as $k => $v) {
+                //更新订单服务包过期类型
+                OrderPack::where('id', $v['id'])->increment('expire_type');
+                //发送微信消息
+                $official_arr = [$v['user']['openid'], $v['pack_name'], date('Y-m-d H:i:s', $v['start_time']), date('Y-m-d H:i:s', $v['end_time'])];
+                $service_time = date('Y/m/d', $v['start_time']). ' - '. date('Y/m/d', $v['end_time']);
+                $subscribe_arr = [$v['user']['openid'], $v['pack_name'], $service_time, $v['user']['nickname']];
+                send_wechat_message($send_type, $official_arr, $subscribe_arr);
+            }
+        }
+
+        return true;
+    }
+}

+ 2 - 2
app/Console/Kernel.php

xqd
@@ -27,8 +27,8 @@ class Kernel extends ConsoleKernel
      */
     protected function schedule(Schedule $schedule)
     {
-        // $schedule->command('inspire')
-        //          ->hourly();
+        //检测服务包过期的定时任务
+        $schedule->command('packExpiredCheck')->hourly();
     }
 
     /**

+ 15 - 14
config/config.php

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -324,11 +324,11 @@ return [
                 'url' => '',
                 'miniprogram' => [
                     'appid' => env('WECHAT_APPID', 'wx6131f74e623bf6bf'),
-                    'page' => '%s',
+                    'page' => '',
                 ],
                 'data' => [
                     'first' => [
-                        'value' => '%s',
+                        'value' => '尊敬的用户,您有一个服务包即将到期!',
                     ],
                     'keyword1' => [
                         'value' => '%s',
@@ -340,7 +340,7 @@ return [
                         'value' => '%s',
                     ],
                     'remark' => [
-                        'value' => '%s',
+                        'value' => '点击进入小程序查看详情',
                     ],
                 ],
             ],
@@ -354,11 +354,11 @@ return [
                 'url' => '',
                 'miniprogram' => [
                     'appid' => env('WECHAT_APPID', 'wx6131f74e623bf6bf'),
-                    'page' => '%s',
+                    'page' => '',
                 ],
                 'data' => [
                     'first' => [
-                        'value' => '%s',
+                        'value' => '尊敬的用户,您有一个服务包已到期!',
                     ],
                     'keyword1' => [
                         'value' => '%s',
@@ -370,7 +370,7 @@ return [
                         'value' => '%s',
                     ],
                     'remark' => [
-                        'value' => '%s',
+                        'value' => '点击进入小程序查看详情',
                     ],
                 ],
             ],
@@ -640,7 +640,7 @@ return [
         8 => [
             'template_id' => 'obCFv2gAnl_RaW-OlnZkjCfi6teT3LUaHxxInUkwLbw',
             'touser' => '%s',
-            'page' => '%s',
+            'page' => '',
             'data' => [
                 'thing1' => [
                     'value' => '%s',
@@ -649,13 +649,13 @@ return [
                     'value' => '%s',
                 ],
                 'thing4' => [
-                    'value' => '%s',
+                    'value' => '亲爱的%s,你的服务包即将失效',
                 ],
                 'phrase5' => [
-                    'value' => '%s',
+                    'value' => '已开通',
                 ],
                 'thing3' => [
-                    'value' => '%s',
+                    'value' => '点击“详情”进入小程序查看服务包详情信息',
                 ],
             ],
         ],
@@ -663,7 +663,7 @@ return [
         9 => [
             'template_id' => 'obCFv2gAnl_RaW-OlnZkjCfi6teT3LUaHxxInUkwLbw',
             'touser' => '%s',
-            'page' => '%s',
+            'page' => '',
             'data' => [
                 'thing1' => [
                     'value' => '%s',
@@ -672,13 +672,14 @@ return [
                     'value' => '%s',
                 ],
                 'thing4' => [
-                    'value' => '%s',
+                    'value' => '亲爱的%s,你的服务包已失效',
                 ],
                 'phrase5' => [
-                    'value' => '%s',
+                    'value' => '已失效',
                 ],
                 'thing3' => [
-                    'value' => '%s',
+                    'value' => '点击“详情”进入小程序查看服务包详情信息
+',
                 ],
             ],
         ],