Bootstrap.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace addons\TinyShop\common\components;
  3. use Yii;
  4. use common\enums\AppEnum;
  5. use common\enums\StatusEnum;
  6. use common\interfaces\AddonWidget;
  7. use yii\web\UnprocessableEntityHttpException;
  8. /**
  9. * Bootstrap
  10. *
  11. * Class Bootstrap
  12. * @package addons\TinyShop\common\config
  13. */
  14. class Bootstrap implements AddonWidget
  15. {
  16. /**
  17. * @param $addon
  18. * @return mixed|void
  19. */
  20. public function run($addon)
  21. {
  22. // 名称
  23. $setting = Yii::$app->tinyShopService->config->setting();
  24. if (
  25. in_array(Yii::$app->id, AppEnum::api()) &&
  26. $setting->site_status == StatusEnum::DISABLED &&
  27. (Yii::$app->request->isPost || Yii::$app->request->isPut || Yii::$app->request->isDelete)
  28. ) {
  29. throw new UnprocessableEntityHttpException($setting->site_close_explain);
  30. }
  31. Yii::$app->params['store_id'] = '';
  32. if (!empty(Yii::$app->cache->get('tinyShopBootstrap')) && !YII_DEBUG) {
  33. return false;
  34. } else {
  35. Yii::$app->cache->set('tinyShopBootstrap', 'tiny-shop', 5);
  36. }
  37. try {
  38. // 自动收货
  39. Yii::$app->tinyShopService->orderBatch->signAll();
  40. // 完成订单
  41. Yii::$app->tinyShopService->orderBatch->finalizeAll($setting);
  42. // 关闭订单
  43. Yii::$app->tinyShopService->orderBatch->closeAll();
  44. // 关闭优惠券
  45. Yii::$app->tinyShopService->marketingCoupon->closeAll();
  46. // 自动评价
  47. Yii::$app->tinyShopService->productEvaluate->autoEvaluate();
  48. } catch (\Exception $e) {
  49. // 记录行为日志
  50. Yii::$app->services->log->push(500, 'autoDisposeOrder', Yii::$app->services->base->getErrorInfo($e));
  51. Yii::error($e->getMessage());
  52. }
  53. }
  54. }
粤ICP备19079148号