shish 10 месяцев назад
Родитель
Сommit
4e8ae69787
2 измененных файлов с 35 добавлено и 0 удалено
  1. 12 0
      app-mall/controllers/NoticeController.php
  2. 23 0
      biz/shop/classes/ShopExtClass.php

+ 12 - 0
app-mall/controllers/NoticeController.php

@@ -6,6 +6,7 @@ use biz\shop\classes\ShopClass;
 use biz\wx\classes\WxMessageClass;
 use bizHd\order\classes\OrderClass;
 use bizHd\order\classes\ScanPayClass;
+use bizHd\recharge\classes\RechargeClass;
 use bizHd\refund\classes\HdRefundClass;
 use bizHd\wx\classes\WxOpenClass;
 use common\components\noticeUtil;
@@ -186,6 +187,17 @@ class NoticeController extends PublicController
                 }
             }
 
+            if ($capitalType == dict::getDict('capitalType', 'xhRecharge', 'id')) {
+                //解决重复通知,重要
+                $myKey = 'mall_rehcarge_' . $orderSn;
+                $has = Yii::$app->redis->executeCommand('GET', [$myKey]);
+                if (empty($has)) {
+                    Yii::$app->redis->executeCommand('SETEX', [$myKey, 864000, 'has']);
+                    $recharge = RechargeClass::getByCondition(['orderSn' => $orderSn], true);
+                    ShopExtClass::skRechargeReport($recharge);
+                }
+            }
+
         } catch (\Exception $e) {
             $transaction->rollBack();
             Yii::error("失败原因:" . $e->getMessage());

+ 23 - 0
biz/shop/classes/ShopExtClass.php

@@ -307,6 +307,29 @@ class ShopExtClass extends BaseClass
         }
     }
 
+    public static function skRechargeReport($recharge)
+    {
+        if (empty($recharge)) {
+            return false;
+        }
+        if ($recharge->payStatus != 1) {
+            //还没有付款订单不播报
+            return false;
+        }
+        $shopId = $recharge->shopId ?? 0;
+        $shopExt = ShopExtClass::getByCondition(['shopId' => $shopId], true);
+        if (!empty($shopExt->lbSn)) {
+            $actPrice = $recharge->amount ?? 0;
+            $payWay = $recharge->payWay ?? 0;
+            $customName = $recharge->customName ?? '';
+            $sound = $payWay == 0 ? "微信充值{$actPrice}元," : "支付宝充值{$actPrice}元";
+            $sound = $customName . $sound;
+            $url = "https://speaker.17laimai.cn/notify.php?id={$shopExt->lbSn}&token=HK1626595800&version={$shopExt->lbVersion}&message=" . $sound;
+            $curl = new curl\Curl();
+            $curl->get($url);
+        }
+    }
+
     public static function hdScanPayReport($order)
     {
         if (empty($order)) {