Przeglądaj źródła

Merge branch 'develop'

wzq 5 lat temu
rodzic
commit
08fb0a50ea

+ 9 - 0
app/Helper/helper.php

@@ -121,3 +121,12 @@ function jsonError($msg)
     );
     return $response;
 }
+
+function subtext($text, $length)
+{
+    if(mb_strlen($text, 'utf8') > $length) {
+        return mb_substr($text, 0, $length - 1, 'utf8').'...';
+    } else {
+        return $text;
+    }
+}

+ 16 - 1
app/Repositories/CmsContentTemplateSetRepository.php

@@ -7,6 +7,7 @@ use App\Models\CmsContentTemplateSet;
 use App\Models\CmsSubjectProduct;
 use App\Models\CmsSubject;
 use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\Redis;
 use Symfony\Component\HttpKernel\Exception\HttpException;
 use Tymon\JWTAuth\Facades\JWTAuth;
 
@@ -247,6 +248,9 @@ class CmsContentTemplateSetRepository
                 $pro_array = $product->toArray();
                 $res_id = implode(",", array_column($pro_array, 'product_id'));
                 $get_product = $this->get_product($res_id);
+                if ($get_product['products']){
+                    $get_product['products'] = array_slice($get_product['products'],0,20);//楼层仅展示20个商品
+                }
                 $new_rule[$key]['id'] = $val['id'];
                 $new_rule[$key]['show_type'] = intval($show_type->show_type) ?? '';
                 $new_rule[$key]['url'] = $rule['url'];
@@ -293,6 +297,12 @@ class CmsContentTemplateSetRepository
         $pro_array = $product->toArray();
         $res_id = implode(",", array_column($pro_array, 'product_id'));
 
+        $product_key = config('constants.CMS_PRODUCTS');
+        $product_key = sprintf($product_key,md5($res_id));
+        if (Cache::has($product_key)) {
+            return Cache::store('redis')->get($product_key);
+        }
+
         try {
             if (isset($request['field_order'])) {
                 $field_order = $request['field_order'];
@@ -308,7 +318,12 @@ class CmsContentTemplateSetRepository
             }
 
             $url = config("customer.app_service_url") . '/product/exchange/subject';
-            return http($url, $array, 'get');
+            $http = http($url, $array, 'get');
+            if (!Cache::has($product_key)) {
+                Cache::store('redis')->put($product_key, $http, 600);//10分钟过期
+            }
+            return $http;
+
         } catch (\Exception $e) {
             return [];
         }

+ 1 - 1
app/Repositories/MemberGroupRepository.php

@@ -61,7 +61,7 @@ class MemberGroupRepository {
                        }
                        $data[] = [
                            'uid' => $user['uid'],
-                           'username' => $user['username'],
+                           'username' => subtext($user['username'], 10),
                            'avatar' => $user['avatar'],
                            'follow_status' => $this->getFollowStatus($userInfo['uid'], $user['uid']),
                            'follow_topic' => $names,

+ 1 - 0
config/constants.php

@@ -8,4 +8,5 @@ return [
     'CMS_GROUP' => env('REDIS_CMS_GROUP_KEY', 'cms_shop_group'),
     'CMS_MARKET' => env('REDIS_CMS_MARKET_KEY', 'cms_shop_market'),
     'CMS_EXCHANGE' => env('REDIS_CMS_EXCHANGE_KEY', 'cms_shop_exchange'),
+    'CMS_PRODUCTS' => env('REDIS_CMS_PRODUCTS_KEY', 'cms_shop_products'),
 ];