recom.js 2.84 KB
'use strict';

const api = global.yoho.API;
const logger = global.yoho.logger;
const utils = '../../../utils';
const productProcess = require(`${utils}/product-process`);

const mayLike = (uid, page, limit, gender, udid, recPos, channel, clientId) => {
    return api.get('', {
        method: 'app.search.newLast7day',
        uid: uid,
        page: page,
        limit: limit,
        udid: udid,
        rec_pos: recPos,
        yh_channel: channel,
        gender: gender,
        client_id: clientId
    }).then((result) => {

        if (result && result.code === 200) {

            if (result.data.page_total && page <= result.data.page_total) {
                if (result.data.product_list) {

                    return productProcess.processProductList(result.data.product_list, {
                        showSimilar: true
                    });

                } else {
                    return false;
                }
            }
        } else {
            logger.error('mayLike code no 200');
        }
    });
};

const mayLikeKids = (page, limit, channel) => {
    return api.get('', {
        method: 'app.search.kids',
        page: page,
        limit: limit,
        yh_channel: channel
    }).then((result) => {

        if (result && result.code === 200) {

            if (page > result.data.page_total) {
                return;
            }

            if (result.data.product_list) {

                return productProcess.processProductList(result.data.product_list, {
                    showSimilar: true
                });

            }
        } else {
            logger.error('mayLikeKids code no 200');
        }
    });
};

const mayLikelife = (page, limit) => {
    return api.get('', {
        method: 'app.search.lifeStyle',
        page: page,
        limit: limit,
        yh_channel: '4'
    }).then((result) => {
        if (result && result.code === 200) {
            let formData = {
                goodsContainer: []
            };

            if (result.data.product_list.top) {
                let build = {};

                build.show = true;

                build.goods = productProcess.processProductList(result.data.product_list.top, {
                    showTags: false,
                    showSimilar: true
                });

                formData.goodsContainer.push(build);
            }

            if (result.data.product_list.top) {
                let build = {};

                build.show = true;

                build.goods = productProcess.processProductList(result.data.product_list.new, {
                    showTags: false,
                    showSimilar: true
                });

                formData.goodsContainer.push(build);
            }

            return formData;

        } else {
            return {};
        }
    });
};

module.exports = {
    mayLike,
    mayLikeKids,
    mayLikelife
};