OrderForceClose.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Author: 芸众商城 www.yunzshop.com
  5. * Date: 2017/2/28
  6. * Time: 上午11:07
  7. * comment:订单关闭类
  8. */
  9. namespace app\frontend\modules\order\services\behavior;
  10. use app\common\events\order\AfterOrderCanceledEvent;
  11. use app\common\events\order\BeforeOrderCloseEvent;
  12. use app\common\models\Order;
  13. class OrderForceClose extends ChangeStatusOperation
  14. {
  15. protected $statusBeforeChange = [ORDER::WAIT_PAY,ORDER::WAIT_SEND,Order::WAIT_RECEIVE,Order::COMPLETE];
  16. protected $statusAfterChanged = ORDER::CLOSE;
  17. protected $name = '关闭';
  18. protected $time_field = 'cancel_time';
  19. protected $past_tense_class_name = 'OrderCanceled';
  20. public $params = [];
  21. /**
  22. * @return \app\common\events\order\CreatedOrderEvent
  23. */
  24. protected function getBeforeEvent()
  25. {
  26. return new BeforeOrderCloseEvent($this);
  27. }
  28. /**
  29. * @return bool|void
  30. */
  31. protected function updateTable()
  32. {
  33. $data = $this->params ? $this->params : request()->input();
  34. if (!empty($data['reson'])) {
  35. $this->close_reason = $data['reson'];
  36. }
  37. parent::updateTable();
  38. }
  39. }