| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- /**
- * 释放能量池 定时任务
- */
- namespace addons\Seed\console\controllers;
- use addons\Seed\common\enums\SeedEnum;
- use addons\Seed\common\logic\SeedLogic;
- use common\enums\addons\MallAddonsEnum;
- use common\enums\StatusEnum;
- use common\models\mall\Mall;
- use common\models\mall\MallAddons;
- use yii\console\Controller;
- use yii\console\ExitCode;
- class ReleaseCrontabController extends Controller
- {
- /**
- * 自动释放能量池 - 每小时执行一次
- * @Author: lun
- * @DateTime: 2022/8/15 0015 16:49
- * @Copyright: copyright (c) 2021 广东七件事集团
- * @return int
- */
- public function actionExec(){
- try {
- // 获取已安装种子金应用的商城
- $install_list = MallAddons::find()->where(['addons_name' => SeedEnum::ADDONS_NAME, 'addons_status' => MallAddonsEnum::INSTALL, 'status' => StatusEnum::ENABLED])->asArray()->all();
- if (empty($install_list)) {
- echo '操作成功';
- return ExitCode::OK;
- }
- // 循环释放处理
- foreach ($install_list as $item) {
- // 检测商城是否有效
- $is_enable = Mall::find()->select('id')->where(['id' => $item['mall_id'], 'is_recycle' => StatusEnum::DISABLED, 'status' => StatusEnum::ENABLED])->asArray()->one();
- if (empty($is_enable)) continue;
- $res = SeedLogic::release($item['mall_id']);// 释放
- if ($res === false) throw new \Exception('商城id:' . $item['mall_id'] .'种子金释放失败:'. SeedLogic::getStaticError());
- }
- echo '操作成功';
- return ExitCode::OK;
- } catch (\Exception $e) {
- echo $e->getMessage();
- $this->stderr('Error: ' . ExitCode::getReason(ExitCode::UNSPECIFIED_ERROR));
- return ExitCode::UNSPECIFIED_ERROR;
- }
- }
- }
|