Explorar o código

小程序订单管理的缓存问题处理

evoxwht %!s(int64=2) %!d(string=hai) anos
pai
achega
02716e0227
Modificáronse 1 ficheiros con 12 adicións e 30 borrados
  1. 12 30
      crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php

+ 12 - 30
crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php

@@ -4,36 +4,19 @@ namespace crmeb\services\easywechat\orderShipping;
 
 use crmeb\exceptions\AdminException;
 use crmeb\services\CacheService;
-use EasyWeChat\Core\AccessToken;
 use EasyWeChat\Core\Exceptions\HttpException;
-use think\facade\Cache;
 
 
 class OrderClient extends BaseOrder
 {
-    const redis_prefix = 'mini_order';
+    const cache_prefix = 'mini_order';
 
     const express_company = 'ZTO';   // 默认发货快递公司为(中通快递)
 
-
     /**
-     * @var \Redis
-     */
-    protected $redis;
-
-    /**
-     * @return object|\Redis|null
-     *
-     * @date 2023/05/10
-     * @author yyw
+     * @var
      */
-    protected function getRedis()
-    {
-        if (empty($this->redis)) {
-            $this->redis = Cache::store('redis')->handler();
-        }
-        return $this->redis;
-    }
+    protected $cache;
 
     /**
      * 处理联系人
@@ -214,8 +197,8 @@ class OrderClient extends BaseOrder
     {
         $res = $this->isManaged();
         if ($res['is_trade_managed']) {
-            $key = self::redis_prefix . '_is_trade_managed';
-            $this->getRedis()->set($key, $res['is_trade_managed']);
+            $key = self::cache_prefix . '_is_trade_managed';
+            CacheService::set($key, $res['is_trade_managed']);
             return true;
         } else {
             return false;
@@ -232,8 +215,8 @@ class OrderClient extends BaseOrder
      */
     public function checkManaged()
     {
-        $key = self::redis_prefix . '_is_trade_managed';
-        if ($this->getRedis()->exists($key)) {
+        $key = self::cache_prefix . '_is_trade_managed';
+        if (CacheService::get($key)) {
             return true;
         } else {
             return $this->setManaged();
@@ -252,10 +235,10 @@ class OrderClient extends BaseOrder
     {
         $list = $this->getDeliveryList();
         if ($list) {
-            $key = self::redis_prefix . '_delivery_list';
+            $key = self::cache_prefix . '_delivery_list';
             $date = array_column($list['delivery_list'], 'delivery_id', 'delivery_name');
             // 创建缓存
-            $this->getRedis()->hMSet($key, $date);
+            CacheService::set($key, json_encode($date));
 
             return $date;
         } else {
@@ -274,15 +257,14 @@ class OrderClient extends BaseOrder
      */
     public function getDelivery($company_name)
     {
-        $key = self::redis_prefix . '_delivery_list';
-        if (!$this->getRedis()->exists($key)) {
+        $key = self::cache_prefix . '_delivery_list';
+        if (!CacheService::get($key)) {
             $date = $this->setDeliveryList();
             $express_company = $date[$company_name] ?? '';
         } else {
-            $express_company = $this->getRedis()->hMGet($key, [$company_name])[$company_name] ?? '';
+            $express_company = json_decode(CacheService::get($key), true)[$company_name] ?? '';
         }
         if (empty($express_company)) {
-//            throw new AdminException('物流公司异常2');
             $express_company = self::express_company;
         }