Authored by 郭成尧

list 公共方法修复

... ... @@ -2,11 +2,10 @@
* @Author: Targaryen
* @Date: 2016-05-21 10:59:20
* @Last Modified by: Targaryen
* @Last Modified time: 2016-06-02 15:17:03
* @Last Modified time: 2016-06-07 15:25:59
*/
'use strict';
const headerModel = require('../../../doraemon/models/header');
const mRoot = '../models';
// list 页 model
... ... @@ -33,25 +32,20 @@ exports.index = (req, res) => {
params.uid = req.user.uid || 0;
let responseData = {};
headerModel.requestHeaderData().then(headerData => {
responseData = headerModel.setHeaderData(headerData.data, 'vip');
responseData.module = 'product';
responseData.page = 'sale';
// responseData.footerTop = true;
responseData.devEnv = true;
list.getSaleOthersData(params, channel).then((result) => {
responseData.saleList = result;
responseData.resultShow = JSON.stringify(result, null, 4);
res.render('sale/other', responseData);
});
let responseData = {
module: 'product',
page: 'sale',
footerTop: true
};
list.getSaleOthersData(params, channel).then((result) => {
responseData.saleList = result;
responseData.resultShow = JSON.stringify(result, null, 4);
responseData.headerData = result.headerData;
res.render('sale/other', responseData);
}).catch(() => {
res.render('error', { devEnv: true, pageErr: true });
responseData.pageErr = true;
res.render('error', responseData);
});
};
... ...
... ... @@ -2,7 +2,7 @@
* @Author: Targaryen
* @Date: 2016-06-02 15:11:15
* @Last Modified by: Targaryen
* @Last Modified time: 2016-06-06 11:02:32
* @Last Modified time: 2016-06-07 15:21:15
*/
'use strict';
... ... @@ -14,6 +14,7 @@ const saleApi = require('./sale-api');
const productProcess = require(`${utils}/product-process`);
const _ = require('lodash');
const publicHandler = require('./public-handler');
const headerModel = require('../../../doraemon/models/header');
/**
* 获取商品列表商品数据 Controller 调用
... ... @@ -21,42 +22,41 @@ const publicHandler = require('./public-handler');
* @param {[type]} extra [左侧列表额外要拼接的参数]
* @return {[type]} [description]
*/
exports.getSaleOthersData = (params, extra) => {
exports.getSaleOthersData = (params, channel) => {
let promiseObject = [
headerModel.requestHeaderData(channel),
saleApi.getSaleGoodsList(params),
saleApi.getLeftContentList()
];
return api.all(promiseObject).then(result => {
let finalResult = {};
let finalResult = result[0];
// 获取商品数据和顶部筛选条件
if (result[0].code === 200) {
finalResult.goods = productProcess.processProductList(result[0].data.product_list);
if (!_.isEmpty(result[0].data.filter)) {
finalResult.filters = publicHandler.handleSaleFilterData(result[0].data.filter, params);
if (result[1].code === 200) {
finalResult.goods = productProcess.processProductList(result[1].data.product_list);
if (!_.isEmpty(result[1].data.filter)) {
finalResult.filters = publicHandler.handleSaleFilterData(result[1].data.filter, params);
}
// 处理排序数据
finalResult.opts = publicHandler.handleSaleOptsData(params, result[0].data.total);
finalResult.totalCount = result[0].data.total;
finalResult.pager = publicHandler.handleSalePagerData(result[0].data.total, params);
finalResult.opts = publicHandler.handleSaleOptsData(params, result[1].data.total);
finalResult.totalCount = result[1].data.total;
finalResult.pager = publicHandler.handleSalePagerData(result[1].data.total, params);
}
// 获取左侧类目数据
if (result[1].code === 200) {
if (result[2].code === 200) {
if (params.gender === '2,3') {
finalResult.leftContent = publicHandler.handleSaleSortData(
result[1].data.girl,
params,
extra
result[2].data.girl,
params
);
} else {
finalResult.leftContent = publicHandler.handleSaleSortData(
result[1].data.boy,
params,
extra
result[2].data.boy,
params
);
}
}
... ...
... ... @@ -292,7 +292,7 @@ exports.handleOutletsSpecilData = (origin) => {
};
/**
* 处理潮品速递商品数据 折扣信息待处理
* 处理潮品速递商品数据
* @param {[type]} origin [description]
* @return {[type]} [description]
*/
... ...
... ... @@ -2,7 +2,7 @@
* @Author: Targaryen
* @Date: 2016-06-02 15:50:47
* @Last Modified by: Targaryen
* @Last Modified time: 2016-06-06 11:12:06
* @Last Modified time: 2016-06-07 15:24:51
*/
'use strict';
... ... @@ -232,7 +232,7 @@ exports.handleSalePagerData = (total, params) => {
/**
* 处理 opts 排序数据 待处理 待确认
* 处理 opts 排序数据
* @param {[type]} origin [description]
* @return {[type]} [description]
*/
... ... @@ -250,11 +250,19 @@ exports.handleSaleOptsData = (params, total) => {
opt.name = '最新';
break;
case 1:
opt.href = handleFilterUrl(params, { order: 's_p_asc' });
if (params.order === 's_p_asc') {
opt.href = handleFilterUrl(params, { order: 's_p_desc' });
} else {
opt.href = handleFilterUrl(params, { order: 's_p_asc' });
}
opt.name = '价格';
break;
case 2:
opt.href = handleFilterUrl(params, { order: 'p_d_asc' });
if (params.order === 'p_d_asc') {
opt.href = handleFilterUrl(params, { order: 'p_d_desc' });
} else {
opt.href = handleFilterUrl(params, { order: 'p_d_asc' });
}
opt.name = '折扣';
break;
default:
... ... @@ -270,12 +278,12 @@ exports.handleSaleOptsData = (params, total) => {
// 上下翻页数据处理
dest.pageCounts = [{
href: handleFilterUrl(params, { limit: 200 }),
count: 200
}, {
href: handleFilterUrl(params, { limit: 100 }),
count: 100
}, {
href: handleFilterUrl(params, { limit: 80 }),
count: 80
}, {
href: handleFilterUrl(params, { limit: 60 }),
count: 60
}];
... ... @@ -299,20 +307,17 @@ exports.handleSaleOptsData = (params, total) => {
let paramsLimit = parseInt((_.isEmpty(params.limit) ? 60 : params.limit), 10);
// 商品开始结束数
dest.start = (!_.isEmpty(params.page) ? params.page - 1 : 0) * paramsLimit;
dest.end = parseInt(dest.start, 10) + paramsLimit;
dest.start = (!_.isEmpty(params.page) ? (params.page - 1) : 0) * paramsLimit + 1;
dest.end = parseInt(dest.start, 10) + paramsLimit - 1;
return dest;
};
/**
* 处理页面左侧分类筛选数据
* @param {[type]} origin [左側分類數據列表]
* @param {[type]} params [普通篩選規則兩個參數]
* @param {[type]} extra [额外必须添加的参数]
* @return {[type]} [description]
* @return {[type]} [description]
*/
exports.handleSaleSortData = (origin, params, extra) => {
exports.handleSaleSortData = (origin, params) => {
var leftContent = {};
leftContent.allSort = {};
... ... @@ -328,23 +333,11 @@ exports.handleSaleSortData = (origin, params, extra) => {
category.checked = (params.sort === value.relation_parameter.sort) ? true : false;
category.href = handleFilterUrl(params, { sort: value.relation_parameter.sort });
let gender = !_.isEmpty(params.gender) ? `&gender=${params.gender}` : '';
_.forEach(value.sub, function(subValue) {
// 拼接額外的必須參數
let href = '?sort=' + subValue.relation_parameter.sort + gender;
if (!_.isEmpty(extra)) {
_.forEach(extra, (thrValue, key) => {
href += '&' + key + '=' + thrValue;
});
}
category.childList.push({
name: subValue.category_name,
num: subValue.node_count,
href: href
href: handleFilterUrl(params, { sort: subValue.relation_parameter.sort })
});
});
... ... @@ -470,7 +463,7 @@ exports.handleSaleFilterData = (origin, params) => {
}
// 断码区尺码数据处理
if (!_.isEmpty(origin.size)) {
if (!_.isEmpty(origin.size) && params.saleType === '1') {
dest.size = handleSalebreakingYardsSortData(origin.size, params);
// 最新降价筛选数据处理
... ...