Prechádzať zdrojové kódy

fixed 网站运行时修改支付方式后,未修改内置在线支付总开关的缓存问题

兔姬桑 4 rokov pred
rodič
commit
0ad45492d4
1 zmenil súbory, kde vykonal 7 pridanie a 0 odobranie
  1. 7 0
      app/Observers/ConfigObserver.php

+ 7 - 0
app/Observers/ConfigObserver.php

@@ -3,6 +3,7 @@
 namespace App\Observers;
 
 use App\Models\Config;
+use Arr;
 use Cache;
 
 class ConfigObserver
@@ -12,6 +13,12 @@ class ConfigObserver
     {
         // 更新系统参数缓存
         Cache::tags('sysConfig')->put($config->name, $config->value ?: 0);
+
+        // 如果在线支付方式出现变动,改变 在线支付 设置状态
+        if (Arr::exists(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'], $config->name)) {
+            $value = !empty(array_filter(Cache::many(['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'])));
+            Cache::tags('sysConfig')->put('is_onlinePay', $value);
+        }
     }
 
 }