PaymentService.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace addons\JoinPay\common\services;
  3. use addons\JoinPay\common\listeners\OrderDeliveryListener;
  4. use common\enums\OrderStatusEnum;
  5. use common\models\order\OrderExpress;
  6. class PaymentService
  7. {
  8. /**
  9. * 获取第三方的第三方支付流水号
  10. * @param $mall_id
  11. * @param $trade_no
  12. * @return mixed|string
  13. * @throws Exception
  14. */
  15. public static function getThirdTradeNo($mall_id,$trade_no)
  16. {
  17. $pay_type = \addons\JoinPay\common\enums\JoinPayTypeEnum::action(\addons\JoinPay\common\enums\JoinPayTypeEnum::JOINPAY);
  18. $config =\addons\JoinPay\common\global_func\payment\Payment::getConfig($mall_id, $pay_type);
  19. $pay = \Yii::$app->payment->joinpay($config);
  20. $result = $pay->query($trade_no);
  21. $third_trade_no = '';
  22. if(empty($result['r6_BankTrxNo'])){
  23. return $third_trade_no;
  24. }
  25. return $result['r6_BankTrxNo'];
  26. }
  27. public static function fixUploadShippingInfoWechat()
  28. {
  29. $i = 1;
  30. $limit = 1000;
  31. while (true){
  32. $list = \common\models\order\Order::find()
  33. ->where(['pay_status'=>\common\enums\OrderStatusEnum::PAY])
  34. ->andWhere(['>','order_status',\common\enums\OrderStatusEnum::PAY])
  35. ->offset(($i-1)*$limit)->limit($limit)
  36. ->asArray()
  37. ->all();
  38. if(empty($list)){
  39. break;
  40. }
  41. $order_ids = array_column($list,'id');
  42. $order_express_list = \common\models\order\OrderExpress::lists([
  43. 'where'=>[
  44. ['order_id'=>$order_ids]
  45. ],
  46. 'index'=>'order_id'
  47. ]);
  48. foreach ($list as $order){
  49. if(empty($order_express_list[$order['id']])){
  50. continue;
  51. }
  52. $order_express_id = $order_express_list[$order['id']]['id'];
  53. \addons\JoinPay\common\listeners\OrderDeliveryListener::uploadShippingInfo($order_express_id);
  54. var_dump($order['out_trade_no']);
  55. }
  56. $i++;
  57. }
  58. }
  59. }