diff options
| -rw-r--r-- | src/pages/api/shop/promo.js | 6 | ||||
| -rw-r--r-- | src/pages/shop/promo/[slug].jsx | 27 | ||||
| -rw-r--r-- | src/utils/solrMapping.js | 6 |
3 files changed, 30 insertions, 9 deletions
diff --git a/src/pages/api/shop/promo.js b/src/pages/api/shop/promo.js index 61fff4e5..57635958 100644 --- a/src/pages/api/shop/promo.js +++ b/src/pages/api/shop/promo.js @@ -49,8 +49,8 @@ export default async function handler(req, res) { let offset = (page - 1) * limit; let parameter = [ - // 'facet.field=manufacture_name_s', - // 'facet.field=category_name', + 'facet.field=manufacture_name_s', + 'facet.field=category_name', 'facet=true', 'indent=true', // `facet.query=${escapeSolrQuery(q)}`, @@ -108,7 +108,9 @@ export default async function handler(req, res) { let result = await axios( process.env.SOLR_HOST + '/solr/promotion_program_lines/select?' + parameter.join('&') ); + console.log("result",result.data) try { + console.log("result.data.response.docs",result.data.response.docs) result.data.response.products = promoMappingSolr( result.data.response.docs ); diff --git a/src/pages/shop/promo/[slug].jsx b/src/pages/shop/promo/[slug].jsx index 71ce8344..169ea0b5 100644 --- a/src/pages/shop/promo/[slug].jsx +++ b/src/pages/shop/promo/[slug].jsx @@ -38,14 +38,14 @@ export default function PromoDetail() { const [loading, setLoading] = useState(true); const { isMobile, isDesktop } = useDevice() // const [brands, setBrands] = useState([]); - const [categories, setCategories] = useState([]); + // const [categories, setCategories] = useState([]); const [brandValues, setBrandValues] = useState([]); const [categoryValues, setCategoryValues] = useState([]); const [orderBy, setOrderBy] = useState(router.query?.orderBy); const popup = useActive(); const prefixUrl = `/shop/promo/${slug}` const [queryFinal, setQueryFinal] = useState({}); - const [limit, setLimit] = useState(30); + const [limit, setLimit] = useState(22); const [q, setQ] = useState('*'); const [finalQuery, setFinalQuery] = useState({fq: `type_value_s:${slug}`}); const [products, setProducts] = useState(null); @@ -78,18 +78,35 @@ export default function PromoDetail() { const brands = []; for ( let i = 0; - i < productSearch.data?.facetCounts?.facetFields?.manufactureNameS.length; + i < productSearch.data?.facet_counts?.facet_fields?.manufacture_name_s.length; i += 2 ) { const brand = - productSearch.data?.facetCounts?.facetFields?.manufactureNameS[i]; + productSearch.data?.facet_counts?.facet_fields?.manufacture_name_s[i]; const qty = - productSearch.data?.facetCounts?.facetFields?.manufactureNameS[i + 1]; + productSearch.data?.facet_counts?.facet_fields?.manufacture_name_s[i + 1]; if (qty > 0) { brands.push({ brand, qty }); } } + console.log("brands",brands) + + const categories = []; + for ( + let i = 0; + i < productSearch.data?.facet_counts?.facet_fields?.category_name.length; + i += 2 + ) { + const name = productSearch.data?.facet_counts?.facet_fields?.category_name[i]; + const qty = + productSearch.data?.facet_counts?.facet_fields?.category_name[i + 1]; + if (qty > 0) { + categories.push({ name, qty }); + } + } + + diff --git a/src/utils/solrMapping.js b/src/utils/solrMapping.js index 637d7c09..15bf3afb 100644 --- a/src/utils/solrMapping.js +++ b/src/utils/solrMapping.js @@ -14,11 +14,13 @@ export const promoMappingSolr = (promotions) => { price: promotion.price_f, sequence: promotion.sequence_i, total_qty: promotion.total_qty_i, - products: JSON.parse(promotion.products_s), + products: JSON.parse(promotion.products_s) || '', product_id: promotion.product_ids[0], qty_sold_f:promotion.total_qty_sold_f, - free_products: JSON.parse(promotion.free_products_s), + free_products: JSON.parse(promotion.free_products_s) }; + console.log("productMapped",productMapped) + // console.log("promotions",promotions) return productMapped; }) }; |
