summaryrefslogtreecommitdiff
path: root/src-migrate/pages/api
diff options
context:
space:
mode:
Diffstat (limited to 'src-migrate/pages/api')
-rw-r--r--src-migrate/pages/api/product-variant/[id].tsx18
-rw-r--r--src-migrate/pages/api/product-variant/[id]/promotion/[category].tsx7
-rw-r--r--src-migrate/pages/api/product-variant/[id]/promotion/highlight.tsx4
3 files changed, 19 insertions, 10 deletions
diff --git a/src-migrate/pages/api/product-variant/[id].tsx b/src-migrate/pages/api/product-variant/[id].tsx
index c25c10ac..955fde6a 100644
--- a/src-migrate/pages/api/product-variant/[id].tsx
+++ b/src-migrate/pages/api/product-variant/[id].tsx
@@ -1,3 +1,4 @@
+import moment from "moment";
import { NextApiRequest, NextApiResponse } from "next";
import { SolrResponse } from "~/types/solr";
@@ -28,6 +29,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const map = async (variant: any, price_tier: string) => {
const data: any = {}
+ const price = variant[`price_${price_tier}_v2_f`] || 0
data.id = parseInt(variant.id)
data.parent_id = variant.template_id_i
@@ -35,11 +37,17 @@ const map = async (variant: any, price_tier: string) => {
data.image = variant.image_s
data.name = variant.name_s
data.default_code = variant.default_code_s
- data.price = {
- price: variant.price_v2_f,
- discount_percentage: variant[`discount_${price_tier}_v2_f`] || 0,
- price_discount: variant[`price_${price_tier}_v2_f`] || 0,
- }
+ data.price = { discount_percentage: 0, price, price_discount: price }
return data
+}
+
+const checkIsFlashsale = (variant: any) => {
+ const endDateStr = variant.flashsale_end_date_s || null
+ if (!endDateStr) return false
+
+ const now = moment()
+ const endDate = moment(endDateStr, 'YYYY-MM-DD HH:mm:ss')
+
+ return variant.flashsale_id_i > 0 && now.isSameOrBefore(endDate)
} \ No newline at end of file
diff --git a/src-migrate/pages/api/product-variant/[id]/promotion/[category].tsx b/src-migrate/pages/api/product-variant/[id]/promotion/[category].tsx
index 50671afd..8da0d9a3 100644
--- a/src-migrate/pages/api/product-variant/[id]/promotion/[category].tsx
+++ b/src-migrate/pages/api/product-variant/[id]/promotion/[category].tsx
@@ -8,10 +8,9 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const category = req.query.category as string
if (req.method === 'GET') {
- const queryParams = new URLSearchParams({
- q: `product_ids:${productId}`,
- fq: `type_value_s:${category}`
- })
+ const queryParams = new URLSearchParams({ q: `product_ids:${productId}` })
+ queryParams.append('fq', `type_value_s:${category}`)
+ queryParams.append('fq', `active_b:true`)
const response = await fetch(`${SOLR_HOST}/solr/promotion_program_lines/select?${queryParams.toString()}`)
const data: SolrResponse<any[]> = await response.json()
diff --git a/src-migrate/pages/api/product-variant/[id]/promotion/highlight.tsx b/src-migrate/pages/api/product-variant/[id]/promotion/highlight.tsx
index 8153f346..c4acacf1 100644
--- a/src-migrate/pages/api/product-variant/[id]/promotion/highlight.tsx
+++ b/src-migrate/pages/api/product-variant/[id]/promotion/highlight.tsx
@@ -16,7 +16,9 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
let programs: any[] = []
for (const type of types) {
- queryParams.set('fq', `type_value_s:${type}`)
+ queryParams.set('fq', `type_value_s:${type}`)
+ queryParams.append('fq', `active_b:true`)
+
const response = await fetch(`${SOLR_HOST}/solr/promotion_program_lines/select?${queryParams.toString()}`)
const data: SolrResponse<any[]> = await response.json()
programs.push(...data.response.docs)