Selaa lähdekoodia

套餐添加图片 + 接口商品数据结构改变

liugc 1 vuosi sitten
vanhempi
commit
1d3b11c94b
1 muutettua tiedostoa jossa 33 lisäystä ja 8 poistoa
  1. 33 8
      app/api/logic/ActivityLogic.php

+ 33 - 8
app/api/logic/ActivityLogic.php

@@ -48,15 +48,19 @@ class ActivityLogic extends BaseLogic
                 }
             }
             $res['activity_info'] = $propertyActivity->toArray();
-            array_multisort(array_column($res['activity_info']['block_data'], 'sort'), SORT_DESC, $res['activity_info']['block_data']);
-            foreach ($res['activity_info']['block_data'] as &$v){
-                array_multisort(array_column($v['goods'], 'recommend_weight'), SORT_DESC, $v['goods']);
-                if(!empty($v['goods'])){
-                    foreach ($v['goods'] as &$item){
-                        $item['service_fee'] = $item['base_service_fee'];
+            if(in_array($res['activity_info']['url_page'],['adver','adver1','adver2'])){
+                array_multisort(array_column($res['activity_info']['block_data'], 'sort'), SORT_DESC, $res['activity_info']['block_data']);
+                foreach ($res['activity_info']['block_data'] as &$v){
+                    array_multisort(array_column($v['goods'], 'recommend_weight'), SORT_DESC, $v['goods']);
+                    if(!empty($v['goods'])){
+                        foreach ($v['goods'] as &$item){
+                            $item['service_fee'] = $item['base_service_fee'];
+                        }
                     }
+                    $v['goods'] = self::groupArrays($v['goods']);
                 }
-                $v['goods'] = self::groupArrays($v['goods']);
+            }else{
+                $res['block_data_structure'] = self::blockDataStructure($res['activity_info']['url_page'],$res['activity_info']['block_data']);
             }
             $res['coupons'] = CouponRules::with(['couponCategoryOne'])->where('property_activity_id',$params['property_activity_id'])
                 ->select()
@@ -79,7 +83,28 @@ class ActivityLogic extends BaseLogic
             throw new \Exception($e->getMessage());
         }
     }
-
+    public static function blockDataStructure(string $url_page,array $data): array {
+        if (empty($data)) return [];
+        array_multisort(array_column($data, 'sort'), SORT_DESC, $data);
+        foreach ($data as &$v){
+            array_multisort(array_column($v['goods'], 'recommend_weight'), SORT_DESC, $v['goods']);
+            // 临时改价 11-28
+            if(!empty($v['goods'])){
+                foreach ($v['goods'] as &$item){
+                    $item['service_fee'] = $item['base_service_fee'];
+                }
+            }
+            // 不同模板 - 板块内商品数据结构不同
+            switch ($url_page){
+                case 'adver5':
+                    break;
+                default:
+                    $v['goods'] = self::groupArrays($v['goods']);
+                    break;
+            }
+        }
+        return $data;
+    }
     public static function groupArrays($array) {
         $result = []; $groupSize = 2;
         $totalElements = count($array);