FinalPaymentLimit.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace addons\DepositPresale\common\logic\order\limit;
  3. use addons\DepositPresale\common\enums\DepositPresaleEnum;
  4. use addons\DepositPresale\common\models\DepositPresaleActive;
  5. use addons\DepositPresale\common\models\DepositPresaleOrder;
  6. use Exception;
  7. use yii\helpers\Json;
  8. class FinalPaymentLimit extends BaseLimit
  9. {
  10. public function execute($form)
  11. {
  12. try {
  13. } catch (Exception $e) {
  14. return false;
  15. }
  16. }
  17. /**
  18. * @Description: 支付尾款的验证
  19. * @Author: code farmer 3
  20. * @DateTime 2022-04-23 17:54:16
  21. * @param object $form
  22. * @return void
  23. */
  24. public static function compute($form)
  25. {
  26. $deposit_presale_order = $form['deposit_presale_order'];
  27. if (!$deposit_presale_order) throw new \Exception('订单id错误');
  28. if (!$deposit_presale_order->is_pay) throw new \Exception('该订单还未支付定金');
  29. $form['deposit_presale_order'] = $deposit_presale_order;
  30. $time = time();
  31. $deposit_presale_active = DepositPresaleActive::findOne(['id' => $deposit_presale_order->deposit_presale_active_id, 'mall_id' => $form['mall_id']]);
  32. if (empty($deposit_presale_active)) throw new \Exception('活动不存在');
  33. if ($time < $deposit_presale_active['final_payment_start_at']) throw new \Exception('还未到支付尾款的时间');
  34. if ($time > $deposit_presale_active['final_payment_end_at']) throw new \Exception('已过了支付尾款的时间');
  35. // if($deposit_presale_active['group_status'] == DepositPresaleEnum::GROUP_FINISH) throw new \Exception('该预售活动已结束');
  36. }
  37. }