| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * Created by PhpStorm.
- * User: wniu
- * Date: 2022/6/5
- * Time: 8:14 下午
- */
- namespace addons\Pk\console\controllers;
- use addons\Pk\common\enums\PkEnum;
- use addons\Pk\common\models\PkActivity;
- use common\enums\StatusEnum;
- use yii\console\Controller;
- class PkRankCrontabController extends Controller
- {
- public function actionDoJob()
- {
- $now_time = time();
- self::doActivityOpenJob($now_time);
- self::doActivityExpireJob($now_time);
- }
- public static function doActivityOpenJob($now_time)
- {
- $list = PkActivity::find()->where(['active_status' => PkEnum::STATUS_NOT_START, 'status' => StatusEnum::ENABLED])->all();
- foreach ($list as $k) {
- if ($k->attributes['begin_time'] < $now_time && $k->attributes['end_time'] > $now_time) {
- $k->attributes = ['active_status' => PkEnum::STATUS_STARTED];
- $k->save();
- }
- }
- }
- /**
- * 执行活动到期任务
- */
- public static function doActivityExpireJob($now_time)
- {
- $list = PkActivity::find()->where(['active_status' => PkEnum::STATUS_STARTED, 'status' => StatusEnum::ENABLED])->all();
- foreach ($list as $k) {
- if ($k->attributes['end_time'] <= $now_time) {
- $k->attributes = ['active_status' => PkEnum::STATUS_END];
- $k->save();
- }
- }
- }
- }
|