FailedListController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app\backend\modules\order\controllers;
  3. use app\backend\modules\order\models\Order;
  4. use app\backend\modules\order\models\VueOrder;
  5. use Illuminate\Support\Facades\DB;
  6. class FailedListController extends OrderListController
  7. {
  8. protected function getOrder()
  9. {
  10. return new VueOrder();
  11. }
  12. protected function mergeExtraData()
  13. {
  14. $data = [
  15. 'listUrl' => yzWebFullUrl('order.failed-list.get-list'), //订单查询路由
  16. 'exportUrl' => yzWebFullUrl('order.failed-list.export'),
  17. ];
  18. return $data;
  19. }
  20. public function callbackFail()
  21. {
  22. return view('order.vue-list', $this->getData('callbackFail'))->render();
  23. }
  24. public function payFail()
  25. {
  26. return view('order.vue-list', $this->getData('payFail'))->render();
  27. }
  28. //旧方法
  29. public function old_callbackFail()
  30. {
  31. $orderIds = DB::table('yz_order as o')->join('yz_order_pay_order as opo', 'o.id', '=', 'opo.order_id')
  32. ->join('yz_order_pay as op', 'op.id', '=', 'opo.order_pay_id')
  33. ->join('yz_pay_order as po', 'po.out_order_no', '=', 'op.pay_sn')
  34. ->where('op.status', 0)
  35. ->where('o.pay_time', 0)
  36. ->where('po.status', 2)
  37. ->distinct()->pluck('o.id');
  38. $this->orderModel = Order::orders(request('search'))->whereIn('id', $orderIds);
  39. $this->export($this->orderModel);
  40. return view('order.index', $this->getData())->render();
  41. }
  42. //旧方式
  43. public function old_payFail()
  44. {
  45. $orderIds = DB::table('yz_order as o')->join('yz_order_pay_order as opo', 'o.id', '=', 'opo.order_id')
  46. ->join('yz_order_pay as op', 'op.id', '=', 'opo.order_pay_id')
  47. ->whereIn('o.status', [0, -1])
  48. ->where('op.status', 1)
  49. ->pluck('o.id');
  50. $this->orderModel = Order::orders(request('search'))->whereIn('id', $orderIds);
  51. $this->export($this->orderModel);
  52. return view('order.index', $this->getData())->render();
  53. }
  54. }