brand.js 5.21 KB
/**
 * Created by PhpStorm.
 * User: Targaryen
 * Date: 2016/7/19
 * Time: 13:51
 */
'use strict';
const api = global.yoho.API;
const helpers = global.yoho.helpers;
const brandApi = require('./brand-api');
const logger = global.yoho.logger;
const _ = require('lodash');

/**
 * 处理品牌一览品牌列表数据
 * @param origin
 * @returns {Array}
 */
const handleBrandList = origin => {
    let dest = {
        brandList: [],
        indexList: []
    };

    _.forEach(origin, (value, key) => {
        let brands = [];

        _.forEach(value, (subValue) => {
            brands.push({
                name: subValue.brand_name,
                link: helpers.urlFormat('', null, subValue.brand_domain),
                logo: subValue.brand_ico
            });
        });

        dest.brandList.push({
            index: key,
            brands: brands
        });

        dest.indexList.push({
            index: key,
            name: key === '0~9' ? '0' : key
        });
    });

    return dest;
};

/**
 * 获取品牌店铺数据
 * @param params
 * @returns {*|Promise.<TResult>}
 */
const getBrandData = params => {
    let finalResult = {};

    return api.all([
        brandApi.getBrandInfoByDomain({domain: params.domain})
    ]).then(result => {

        if (result[0].code === 200) {

            /* 品牌有店铺 */
            if (result[0].data.shop_id) {
                return api.all([
                    brandApi.getShopInfoData({
                        shopId: result[0].data.shop_id,
                        uid: params.uid
                    })
                ]).then(subResult => {
                    if (subResult[0].code === 200) {

                        /* TODO 判断是否是使用 BLK 模板,不使用 BLK 模板的就直接返回 */
                        if (subResult[0].data.shop_template_type === '2') {
                            Object.assign(finalResult, {

                                /* TODO 背景图取资源位,接口未开发 */
                                brandBg: 'http://7xwj52.com1.z0.glb.clouddn.com/brandbg.jpg',

                                /* TODO 是否显示店铺 LOGO,接口未开发 */
                                showBrandLogo: false,
                                brandLogo: subResult[0].data.shop_logo,
                                brandName: subResult[0].data.shop_name,
                                brandIntro: subResult[0].data.shop_intro,
                                showMore: false
                            });
                            return finalResult;
                        } else {
                            logger.info('no BLK template');
                        }
                    } else {
                        logger.error('getShopInfoData api code no 200');
                    }
                });
            } else {
                logger.info('brand has no shop');
            }
        } else {
            logger.error('getBrandOriginData api code no 200');
        }
    });
};

/**
 * 获取品牌店铺商品数据
 * @param params
 * @returns {*|Promise.<TResult>}
 */
const getBrandShopGoodsData = params => {
    let finalResult = {};

    return api.all([brandApi.getBrandShopGoodsOriginData(params)]).then(result => {

    });
};

/**
 * 获取品牌列表页数据
 * @param params
 */
const getBrandListData = params => {
    let finalResult = {};

    return api.all([brandApi.getBrandListOriginData(params)]).then(result => {
        if (result[0].code === 200 && result[0].data.all_list) {
            Object.assign(finalResult, handleBrandList(result[0].data.all_list));
        } else {
            logger.error('getBrandListOriginData api code no 200 or allList is null');
        }

        return finalResult;
    });
};

/**
 * 获取全部分类数据
 * @param params
 * @returns {*|Promise.<TResult>}
 */
const getCateListData = params => {
    let finalResult = {};

    return api.all([brandApi.getCateListData(params)]).then(result => {

        // 待处理,拼接输出模拟数据
        Object.assign(finalResult, {
            brandBg: 'http://7xwj52.com1.z0.glb.clouddn.com/brandbg.jpg',
            brandLogo: '',
            brandName: 'A.Dorad',
            brandIntro: 'Dora毕业于中国美术学院的珠宝设计专业。毕业之后,Dora便开始游走于各国,吸收各地首饰设计的精髓,之后又在首尔修学了3年,A.Dorad饰品系列诞生于首尔, 设计师Dora将首尔设为起点并逐步推向国际。2013年,A.Dorad将旗下主力设计师带领进军广州,并以此为基地,以国际化的标准,设计出全新概念饰品。A.Dorad给人们提供高品质的服务,并且拥有独有的工艺。多样的珠宝首饰产品造型更衬托出其前卫、高雅的设计理念。珍贵的矿石搭配流行的创意理念,启迪了人类艺术。A.Dorad饰品符合现代年轻人对珠宝的追求与热爱,充满个性与时尚.它可以满足不同人的需求独家定制专属于自己的水晶饰品。A.Dorad将继续发挥无与伦比的创造力并开启通往浪漫梦幻的大门。',
            showMore: false
        });

        return finalResult;
    });
};

module.exports = {
    getBrandData,
    getBrandShopGoodsData,
    getBrandListData,
    getCateListData
};