RemittanceRecordOperationController.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: shenyang
  5. * Date: 2018/6/25
  6. * Time: 下午5:34
  7. */
  8. namespace app\frontend\modules\remittance\controllers;
  9. use app\common\components\ApiController;
  10. use app\common\exceptions\AppException;
  11. use app\common\modules\payType\remittance\models\flows\RemittanceAuditFlow;
  12. use app\frontend\models\Order;
  13. use app\frontend\models\RemittanceRecord;
  14. use app\frontend\modules\process\controllers\Operate;
  15. class RemittanceRecordOperationController extends ApiController
  16. {
  17. use Operate;
  18. public $transactionActions = ['*'];
  19. protected function beforeStates()
  20. {
  21. return RemittanceAuditFlow::STATE_WAIT_AUDIT;
  22. }
  23. /**
  24. * @throws AppException
  25. */
  26. protected function _getProcess()
  27. {
  28. $orderId = request()->input('order_id');
  29. $order = Order::find($orderId);
  30. if(!isset($order)){
  31. throw new AppException("未找到id为{$orderId}的订单记录");
  32. }
  33. /**
  34. * @var RemittanceRecord $remittanceRecord
  35. */
  36. $remittanceRecord = RemittanceRecord::where('order_pay_id',$order->order_pay_id)->orderBy('id','desc')->first();
  37. if(!isset($remittanceRecord)){
  38. throw new AppException("未找到order_pay_id为{$order->order_pay_id}的转账记录");
  39. }
  40. return $remittanceRecord->currentProcess();
  41. }
  42. /**
  43. * @throws \Exception
  44. */
  45. public function cancel()
  46. {
  47. $this->toCancelState();
  48. return $this->successJson();
  49. }
  50. }