list.js 1.16 KB

'use strict';

const SearchAPI = global.yoho.SearchAPI;
const api = global.yoho.API;
const logger = global.yoho.logger;
const camelCase = global.yoho.camelCase;
const _ = require('lodash');

function clearEmptyVal(obj) {
    _.keys(obj).forEach(k => {
        if (obj[k] === null || obj[k] === '') {
            _.unset(obj, k);
        }
    });
    return obj;
}

const Search = {
    querySort(query) {
        return SearchAPI.get('sortgroup.json', _.assign({
            sales: 'Y',
            status: 1,
            stocknumber: 1
        }, query)).then(data => {
            if (data && data.code === 200 && data.data) {
                return camelCase(data.data.sort);
            } else {
                return [];
            }
        }).catch(e => {
            logger.error(e);
            return Promise.resolve([]);
        });
    },
    queryProduct(params) {

        let finalParams = {
            method: 'app.search.sales',
            limit: 45,
            productSize: '384x511',
            yh_channel: 1
        };

        Object.assign(finalParams, clearEmptyVal(params));

        return api.get('', finalParams);
    }
};

module.exports = Search;