RechargeBalanceActivityController.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * 充值有礼活动定时任务
  4. */
  5. namespace console\controllers;
  6. use addons\Recharge\common\enums\RechargeEnum;
  7. use addons\Recharge\common\models\AddonsRechargeActive;
  8. use common\enums\StatusEnum;
  9. use yii\console\Controller;
  10. class RechargeBalanceActivityController extends Controller
  11. {
  12. public function actionDoJob()
  13. {
  14. $now_time = time();
  15. self::doActivityOpenJob($now_time);
  16. self::doActivityExpireJob($now_time);
  17. }
  18. public static function doActivityOpenJob($now_time)
  19. {
  20. $list = AddonsRechargeActive::find()->where(['active_status' => RechargeEnum::ACTIVE_STATUS0, 'status' => StatusEnum::ENABLED])->all();
  21. foreach ($list as $k) {
  22. if ($k->attributes['start_at'] < $now_time && $k->attributes['end_at'] > $now_time) {
  23. $k->attributes = ['active_status' => RechargeEnum::ACTIVE_STATUS1];
  24. $k->save();
  25. }
  26. }
  27. }
  28. /**
  29. * 执行活动到期任务
  30. */
  31. public static function doActivityExpireJob($now_time)
  32. {
  33. $list = AddonsRechargeActive::find()->where(['active_status' => RechargeEnum::ACTIVE_STATUS1, 'status' => StatusEnum::ENABLED])->all();
  34. foreach ($list as $k) {
  35. if ($k->attributes['end_at'] <= $now_time) {
  36. $k->attributes = ['active_status' => RechargeEnum::ACTIVE_STATUS2];
  37. $k->save();
  38. }
  39. }
  40. }
  41. }