NewSaleProcess.php 2.17 KB
<?php

namespace Plugin\DataProcess;

use Plugin\Helpers;

/**
 * 新品到着、折扣专区数据处理类
 */
class NewSaleProcess
{

    /**
     * 处理新品到着、折扣专区数据
     * 
     * @param  array $products  接口传回的数据
     * @return array       处理之后的数据
     */
    public static function newSaleData($products)
    {
        $result = array();
        $noTab = true;
        $productsLi = array();
        $tabItem = array();
        
        foreach ($products as $single) {
            if (empty($single)) {
                continue;
            }
            
            // 处理Tabs
            $noTab = true;
            if (isset($single['tabs']) && $noTab) {
                $result['tabs'] = array();
                foreach ($single['tabs'] as $key => $one) {
                    $tabItem = array();
                    $tabItem['title'] = $one;
                    if ($key === 1) {
                        $tabItem['focus'] = true;
                    }
                    $result['tabs'][] = $tabItem;
                }
                $noTab = false;
            }

            // 处理商品
            $productsLi = array();
            if (isset($single['product_list'])) {
                foreach ($single['product_list'] as $value) {
                    $productsLi['goods'][] = Helpers::formatProduct($value, true, false, false);
                }
            }

            // 对于第一个productsLi添加show字段
            if (!isset($result['goodsContainer'][0])) {
                $productsLi['show'] = true;
            }

            $result['goodsContainer'][] = $productsLi;
        }

        return $result;
    }

    /**
     * 筛选出来的商品数据处理
     * 
     * @param  array $data 筛选出来的原数据
     * @return array       处理之后的数据
     */
    public static function selectData($data)
    {
        $result = array('goods' => array());
        
        if (isset($data['code']) && $data['code'] === 200) {
            foreach ($data['data']['product_list'] as $val) {
                $result['goods'][] = Helpers::formatProduct($val);
            }
        }

        return $result;
    }

}