SettleController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace hd\controllers;
  3. use bizHd\order\classes\OrderClass;
  4. use bizHd\order\classes\SettleClass;
  5. use common\components\dict;
  6. use common\components\util;
  7. use Yii;
  8. class SettleController extends BaseController
  9. {
  10. public $guestAccess = [];
  11. //结清尾款 ssh 20220708
  12. public function actionConfirmSettle()
  13. {
  14. $get = Yii::$app->request->get();
  15. $id = $get['id'] ?? 0;
  16. $payWay = $get['payWay'] ?? dict::getDict('payWay', 'wxPay');
  17. $order = OrderClass::getById($id, true);
  18. if (empty($order)) {
  19. util::fail('没有找到订单');
  20. }
  21. OrderClass::valid($order, $this->mainId);
  22. $staff = $this->shopAdmin;
  23. $connection = Yii::$app->db;
  24. $transaction = $connection->beginTransaction();
  25. try {
  26. SettleClass::confirmSettle($order, $payWay, $staff);
  27. $transaction->commit();
  28. util::complete();
  29. } catch (\Exception $exception) {
  30. $transaction->rollBack();
  31. Yii::info("失败:" . $exception->getMessage());
  32. util::fail('操作失败');
  33. }
  34. }
  35. }