|
|
'use strict';
|
|
|
|
|
|
const _ = require('lodash');
|
|
|
const utils = '../../../utils';
|
|
|
const productProcess = require(`${utils}/product-process`);
|
|
|
const searchHandler = require('../../product/models/search-handler');
|
|
|
|
|
|
const platformApi = new global.yoho.ApiBase(global.yoho.config.domains.platformApi, {
|
|
|
name: 'imCs',
|
|
|
cache: global.yoho.cache,
|
...
|
...
|
@@ -39,6 +44,42 @@ const getRecommendProductList = (params) => { |
|
|
});
|
|
|
};
|
|
|
|
|
|
const getApiRecommendProductList = (params, unionType) => {
|
|
|
let qs = Object.assign({limit: 60}, params, {method: 'app.search.recommendProduct'}),
|
|
|
bqs = unionType ? {union_type: unionType} : {};
|
|
|
|
|
|
qs.size = qs.limit;
|
|
|
|
|
|
return Promise.all([
|
|
|
api.get('', qs, {code: 200}),
|
|
|
api.get('', {method: 'app.search.recommendProduct', size: 1}, {code: 200})
|
|
|
]).then(result => {
|
|
|
let resData = {};
|
|
|
let data = result[0].data;
|
|
|
|
|
|
if (data) {
|
|
|
data.paramBrand = _.split(qs.brand || '', ',');
|
|
|
resData = {
|
|
|
leftContent: searchHandler.handleSortData(_.get(result[1], 'data.filter.group_sort', []), bqs, params),
|
|
|
filters: searchHandler.handleFilterDataAll(data, params),
|
|
|
opts: searchHandler.handleOptsData(params, data.total, data.filter),
|
|
|
totalCount: data.total,
|
|
|
footPager: searchHandler.handlePagerData(data.total, params),
|
|
|
goods: _.map(productProcess.processProductList(data.product_list,
|
|
|
Object.assign({showDiscount: false}, params)), it => {
|
|
|
it.url += unionType ? `?union_type=${unionType}` : '';
|
|
|
|
|
|
return it;
|
|
|
})
|
|
|
};
|
|
|
|
|
|
_.set(resData, 'filters.brand.showAllBrands', true);
|
|
|
}
|
|
|
|
|
|
return resData;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
const getRecommendlist = () => {
|
|
|
return platformApi.get('/platform/product/material/getRecommendlist', {
|
|
|
page: 1
|
...
|
...
|
@@ -53,5 +94,6 @@ module.exports = { |
|
|
getCategory,
|
|
|
getList,
|
|
|
getRecommendlist,
|
|
|
getApiRecommendProductList,
|
|
|
getRecommendProductList
|
|
|
}; |
...
|
...
|
|