FixController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: shenyang
  5. * Date: 2018/8/15
  6. * Time: 下午3:44
  7. */
  8. namespace app\backend\modules\payOrder\controllers;
  9. use app\backend\modules\orderPay\fix\DoublePaymentRepair;
  10. use app\backend\modules\payOrder\fix\PaymentCallbackRepair;
  11. use app\common\components\BaseController;
  12. use app\common\exceptions\AppException;
  13. use app\common\models\OrderPay;
  14. use app\common\models\PayOrder;
  15. use Illuminate\Support\Facades\DB;
  16. class FixController extends BaseController
  17. {
  18. public $transactionActions = ['*'];
  19. /**
  20. * @throws \app\common\exceptions\AppException
  21. */
  22. public function callback()
  23. {
  24. /**
  25. * @var PayOrder $payOrder
  26. */
  27. $payOrder = PayOrder::find(request('pay_order_id'));
  28. if (!$payOrder) {
  29. throw new AppException('未找到支付记录' . request('pay_order_id'));
  30. }
  31. $repair = new PaymentCallbackRepair($payOrder);
  32. $a = $repair->handle();
  33. foreach ($repair->message as $msg) {
  34. echo "<span>{$msg}</span><br>";
  35. }
  36. // echo '<button onclick="history.back()">返回</button>';
  37. exit();
  38. dump($a,$repair->message);
  39. }
  40. public function allCallback(){
  41. $payOrderIds = DB::table('yz_pay_order as po')->join('yz_order_pay as op', 'po.out_order_no', '=', 'op.pay_sn')
  42. ->where('po.status','2')->where('op.status',0)->distinct()->pluck('po.id');
  43. $payOrders = PayOrder::whereIn('id',$payOrderIds)->get();
  44. $payOrders->each(function ($payOrder) {
  45. if (!$payOrder) {
  46. throw new AppException('未找到支付记录' . request('pay_order_id'));
  47. }
  48. $a = (new PaymentCallbackRepair($payOrder))->handle();
  49. dump($a);
  50. });
  51. }
  52. }