HdOrderController.php 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace console\controllers;
  3. use bizHd\order\classes\OrderClass;
  4. use bizHd\order\models\Order;
  5. use common\components\dict;
  6. use common\components\noticeUtil;
  7. use common\components\util;
  8. use yii\console\Controller;
  9. use Yii;
  10. use biz\shop\classes\ShopExtClass;
  11. use bizHd\shop\classes\ShopClass;
  12. use bizHd\wx\classes\WxOpenClass;
  13. use common\components\payUtil;
  14. use biz\wx\classes\WxMessageClass;
  15. class HdOrderController extends Controller
  16. {
  17. //查询散客的订单是否有付款 ssh 20221231
  18. public function actionSelect()
  19. {
  20. util::stop();
  21. $query = new \yii\db\Query();
  22. $query->from(Order::tableName());
  23. $now = time();
  24. $current = bcsub($now, 100);
  25. $time = date("Y-m-d H:i:s", $current);
  26. $query->where(['status' => 1])->andWhere(['<=', 'addTime', $time]);
  27. $query->orderBy('addTime ASC');
  28. foreach ($query->batch() as $batchOrder) {
  29. foreach ($batchOrder as $order) {
  30. $connection = Yii::$app->db;
  31. $transaction = $connection->beginTransaction();
  32. $id = $order['id'] ?? 0;
  33. $orderSn = $order['orderSn'] ?? '';
  34. try {
  35. $order = OrderClass::getById($id, true);
  36. $orderSn = $order->orderSn ?? '';
  37. $totalFee = $order->mainPay ?? 0;
  38. $capitalType = dict::getDict('capitalType', 'xhOrder', 'id');
  39. //查询微信是否付款成功
  40. $payWay = dict::getDict('payWay', 'wxPay');
  41. $wx = Yii::getAlias("@vendor/wxPayApi_v3.0.10");
  42. require_once($wx . '/lib/WxPay.Api.php');
  43. require_once($wx . '/example/WxPay.MicroPay.php');
  44. //获取微信商户号等信息
  45. $sjExtend = WxOpenClass::getMallWxInfo();
  46. $microPay = new \MicroPay();
  47. $payReturn = $microPay->query($orderSn, $sjExtend);
  48. if ($payReturn["return_code"] == "SUCCESS" && $payReturn["result_code"] == "SUCCESS") {
  49. if ($payReturn["trade_state"] == "SUCCESS") {
  50. // //支付成功
  51. // $transactionId = $payReturn['transaction_id'] ?? '';
  52. // $order->onlinePay = dict::getDict('onlinePay', 'yes');
  53. // $order->save();
  54. // $attach = '';
  55. // payUtil::thirdPay($payWay, $capitalType, $orderSn, $totalFee, $attach, $transactionId);
  56. //
  57. // $transaction->commit();
  58. //
  59. // //打印小票和语音播报
  60. // $newOrder = OrderClass::getById($id, true);
  61. // OrderClass::onlinePrint($newOrder);
  62. // ShopExtClass::hdGatheringReport($newOrder);
  63. //
  64. // $shopId = $newOrder->shopId ?? 0;
  65. // $shop = ShopClass::getById($shopId, true);
  66. // WxMessageClass::gatheringIncomeInform($shop, $newOrder);
  67. noticeUtil::push("订单号{$orderSn}已付款,但还是待付款状态", '15280215347');
  68. }
  69. }
  70. //noticeUtil::push("订单号{$orderSn}没有付款", '15280215347');
  71. } catch (\Exception $e) {
  72. $transaction->rollBack();
  73. $msg = $e->getMessage();
  74. noticeUtil::push("查询订单是否付款出错了!订单号:{$orderSn},错误信息:{$msg}", '15280215347');
  75. }
  76. }
  77. }
  78. }
  79. }