...
|
...
|
@@ -109,49 +109,51 @@ const shop = { |
|
|
nav.push({
|
|
|
name: result.name
|
|
|
});
|
|
|
} else {
|
|
|
res.status(404);
|
|
|
return Promise.reject('brand-not-found');
|
|
|
}
|
|
|
}).then(() => {
|
|
|
return Promise.all([Search.queryAllSort({
|
|
|
brand: q.brand,
|
|
|
shop: q.shop_id,
|
|
|
small_sort: 1
|
|
|
}), Search.queryProductOfBrand(q)]).then(allResult => {
|
|
|
let allSort = camelCase(allResult[0]);
|
|
|
let result = allResult[1];
|
|
|
|
|
|
if (result && result.code === 200 && result.data) {
|
|
|
let ret = camelCase(result.data);
|
|
|
|
|
|
if (ret.filter) {
|
|
|
delete q.brand;
|
|
|
ret.filter.groupSort = DataHelper.sortConvert(allSort.data.sort);
|
|
|
data.filter = DataHelper.filterHandle(ret.filter, req.query);
|
|
|
data.filter.showPrice = ret.total > 10;
|
|
|
return result.brandId;
|
|
|
}).then((brandId) => {
|
|
|
if (brandId) {
|
|
|
return Promise.all([Search.queryAllSort({
|
|
|
brand: q.brand,
|
|
|
shop: q.shop_id,
|
|
|
small_sort: 1
|
|
|
}), Search.queryProductOfBrand(q)]).then(allResult => {
|
|
|
let allSort = camelCase(allResult[0]);
|
|
|
let result = allResult[1];
|
|
|
|
|
|
if (result && result.code === 200 && result.data) {
|
|
|
let ret = camelCase(result.data);
|
|
|
|
|
|
if (ret.filter) {
|
|
|
delete q.brand;
|
|
|
ret.filter.groupSort = DataHelper.sortConvert(allSort.data.sort);
|
|
|
data.filter = DataHelper.filterHandle(ret.filter, req.query);
|
|
|
data.filter.showPrice = ret.total > 10;
|
|
|
}
|
|
|
|
|
|
data.paginationData = {
|
|
|
page: q.page,
|
|
|
limit: ret.limit || 45,
|
|
|
total: ret.total,
|
|
|
pageTotal: ret.pageTotal,
|
|
|
queryParams: req.query
|
|
|
};
|
|
|
|
|
|
data.navPath = {
|
|
|
nav: nav
|
|
|
};
|
|
|
|
|
|
res.display('shop-list', _.assign(data, {
|
|
|
products: DataHelper.handleProductList(ret.productList),
|
|
|
order: q.order
|
|
|
}));
|
|
|
} else {
|
|
|
return Promise.reject('query shop index error');
|
|
|
}
|
|
|
|
|
|
data.paginationData = {
|
|
|
page: q.page,
|
|
|
limit: ret.limit || 45,
|
|
|
total: ret.total,
|
|
|
pageTotal: ret.pageTotal,
|
|
|
queryParams: req.query
|
|
|
};
|
|
|
|
|
|
data.navPath = {
|
|
|
nav: nav
|
|
|
};
|
|
|
|
|
|
res.display('shop-list', _.assign(data, {
|
|
|
products: DataHelper.handleProductList(ret.productList),
|
|
|
order: q.order
|
|
|
}));
|
|
|
} else {
|
|
|
return Promise.reject('query shop index error');
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
} else {
|
|
|
return next();
|
|
|
}
|
|
|
}).catch(next);
|
|
|
},
|
|
|
|
...
|
...
|
|