PaymentQueryTask.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: tandunzhao
  5. * Date: 2017/12/21
  6. * Time: 下午2:12
  7. */
  8. namespace App\Console\Commands;
  9. use App\Libs\PayHelper;
  10. use App\Modules\Finance\Services\LiquidatedStatService;
  11. use App\Modules\Finance\Services\PaymentService;
  12. use App\Modules\Finance\Services\WithdrawCashService;
  13. use Log;
  14. use Illuminate\Console\Command;
  15. class PaymentQueryTask extends Command
  16. {
  17. /**
  18. * 执行命令 php artisan payment_query_task
  19. *
  20. * The name and signature of the console command.
  21. *
  22. * @var string
  23. */
  24. protected $signature = 'payment_query_task';
  25. /**
  26. * The console command description.
  27. *
  28. * @var string
  29. */
  30. protected $description = '支付通道打款结果查询';
  31. /**
  32. * Execute the console command.
  33. *
  34. * @return mixed
  35. */
  36. public function handle()
  37. {
  38. print_r("======支付通道打款结果查询 【任务执行开始】=====".date("y-m-d H:i:s"."\n"));
  39. Log::info("======支付通道打款结果查询 【任务执行开始】=====".date("y-m-d H:i:s"."\n"));
  40. //自动打款中 状态
  41. $paymentList = PaymentService::getPaymentList('','', '', WithdrawCashService::getWithdrawCashStatusStrList(21), true);
  42. // print_r(json_encode($paymentList));
  43. if(!empty($paymentList)) {
  44. foreach ($paymentList as $payment) {
  45. $payType = $payment['pay_merchant_source'];
  46. $transactionSerialNumber = $payment['trade_no'];
  47. $reqSn = date('YmdHis').mt_rand(100000,999999);
  48. if(!empty($payType) && !empty($transactionSerialNumber)) {
  49. $resultQueryData = PayHelper::payQuery($payType, $transactionSerialNumber, $reqSn);
  50. $resultDataCode = '';
  51. $resultDataMsg = '';
  52. $resultDataHttpDataMsg = json_encode($resultQueryData['http_result_data']);
  53. if(!empty($resultQueryData) && !empty($resultQueryData['msg'])) {
  54. $resultDataMsg = $resultQueryData['msg'];
  55. }
  56. if(!empty($resultQueryData)) {
  57. $resultDataCode = $resultQueryData['code'];
  58. }
  59. // print_r($resultQueryData);
  60. if($resultDataCode == 1) {
  61. WithdrawCashService::updateWithdrawCashStatus($payment['withdraw_cash_id'], '', 31, '', '');
  62. PaymentService::updatePaymentStatus($payment['id'], WithdrawCashService::getWithdrawCashStatusStr(31), $resultDataHttpDataMsg, $resultDataMsg);
  63. } else if($resultDataCode == 2) {
  64. PaymentService::updatePaymentStatus($payment['id'], '', $resultDataHttpDataMsg, $resultDataMsg);
  65. } else {
  66. PaymentService::updatePaymentStatus($payment['id'], WithdrawCashService::getWithdrawCashStatusStr(41), $resultDataHttpDataMsg, $resultDataMsg);
  67. WithdrawCashService::updateWithdrawCashStatus($payment['withdraw_cash_id'], '', 41, '', '');
  68. }
  69. }
  70. }
  71. }
  72. Log::info("======支付通道打款结果查询 【任务执行结束】=====".date("y-m-d H:i:s"."\n"));
  73. print_r("======支付通道打款结果查询 【任务执行结束】=====".date("y-m-d H:i:s"."\n"));
  74. print_r("======支付通道余额结果查询 【任务执行开始】=====".date("y-m-d H:i:s"."\n"));
  75. Log::info("======支付通道余额结果查询 【任务执行开始】=====".date("y-m-d H:i:s"."\n"));
  76. //tonglianpay
  77. $payTypes = [config('common.tonglianpay'), config('common.lianlianpay')];
  78. foreach ($payTypes as $payType) {
  79. $reqSn = date('YmdHis').mt_rand(100000,999999);
  80. $resultQueryData = PayHelper::payAccountInfo($payType, $reqSn);
  81. if(!empty($resultQueryData) && $resultQueryData['code'] == 1) {
  82. $balance = $resultQueryData['balance'];
  83. if(is_numeric($balance)) {
  84. $balance = (float)$balance / 100;
  85. LiquidatedStatService::updateAccountBalanceAmount($payType, $balance);
  86. }
  87. }
  88. print_r("======支付通道余额结果查询 [".json_encode($resultQueryData)."]".date("y-m-d H:i:s"."\n"));
  89. Log::info("======支付通道余额结果查询 [".json_encode($resultQueryData)."]".date("y-m-d H:i:s"."\n"));
  90. }
  91. Log::info("======支付通道余额结果查询 【任务执行结束】=====[".date("y-m-d H:i:s"."\n"));
  92. print_r("======支付通道余额结果查询 【任务执行结束】=====".date("y-m-d H:i:s"."\n"));
  93. }
  94. }