DetailController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: shenyang
  5. * Date: 2018/6/11
  6. * Time: 下午2:31
  7. */
  8. namespace app\backend\modules\orderPay\controllers;
  9. use app\backend\modules\order\models\OrderPay;
  10. use app\common\components\BaseController;
  11. use app\common\exceptions\AppException;
  12. use app\frontend\modules\payment\orderPayments\BasePayment;
  13. use app\frontend\modules\payment\paymentSettings\PaymentSetting;
  14. use Illuminate\Database\Eloquent\Builder;
  15. class DetailController extends BaseController
  16. {
  17. /**
  18. * @return string
  19. * @throws \Throwable
  20. */
  21. public function index()
  22. {
  23. $orderPay = OrderPay::with(['orders' => function ($query) {
  24. $query->with('orderGoods');
  25. }, 'process', 'member', 'payOrder']);
  26. if (request()->has('order_pay_id')) {
  27. $orderPay = $orderPay->find(request('order_pay_id'));
  28. }
  29. if (request()->has('pay_sn')) {
  30. $orderPay = $orderPay->where('pay_sn',request('pay_sn'))->first();
  31. }
  32. if(!$orderPay){
  33. throw new AppException('未找到支付记录');
  34. }
  35. return view('orderPay.detail', [
  36. 'orderPay' => json_encode($orderPay)
  37. ])->render();
  38. }
  39. public function usablePayTypes()
  40. {
  41. $orderPayId = request()->query('order_pay_id');
  42. $orderPay = OrderPay::with(['orders' => function ($query) {
  43. $query->with('orderGoods');
  44. }, 'process', 'member', 'payOrder'])->find($orderPayId);
  45. $orderPay->getPaymentTypes()->each(function (BasePayment $paymentType) {
  46. if (is_null($paymentType)) {
  47. return;
  48. }
  49. dump($paymentType->getName());
  50. $paymentType->getOrderPaymentSettings()->each(function (PaymentSetting $setting) {
  51. dump(get_class($setting));
  52. dump($setting->canUse());
  53. dump($setting->exist());
  54. });
  55. });
  56. }
  57. public function allPayTypes()
  58. {
  59. $orderPayId = request()->query('order_pay_id');
  60. $orderPay = OrderPay::with(['orders' => function ($query) {
  61. $query->with('orderGoods');
  62. }, 'process', 'member', 'payOrder'])->find($orderPayId);
  63. $orderPay->getAllPaymentTypes()->each(function (BasePayment $paymentType) {
  64. if (is_null($paymentType)) {
  65. return;
  66. }
  67. dump($paymentType->getName());
  68. $paymentType->getOrderPaymentSettings()->each(function (PaymentSetting $setting) {
  69. dump(get_class($setting));
  70. dump($setting->canUse());
  71. dump($setting->exist());
  72. });
  73. });
  74. }
  75. }