32 lines
831 B
Go
32 lines
831 B
Go
package queries
|
|
|
|
const CREATE_ORDER = `
|
|
INSERT INTO order_record(user_id, orderer, date_due, date_placed) VALUES ($1, $2, $3, $4);
|
|
`
|
|
|
|
const SET_ORDER_FILLED = `
|
|
UPDATE order_record SET filled = $1 WHERE id = $2
|
|
`
|
|
|
|
const SET_ORDER_DELIVERED = `
|
|
UPDATE order_record SET delivered = $1 WHERE id = $2
|
|
`
|
|
|
|
const SET_ORDER_PAID = `
|
|
UPDATE order_record SET amount_paid = $1 WHERE id = $2
|
|
`
|
|
|
|
const GET_ORDER_TOTAL_AND_BALANCE = `
|
|
SELECT
|
|
SUM(oi.quantity * iph.price) AS order_total,
|
|
order_total - orec.amount_paid AS balance
|
|
FROM
|
|
order_item oi
|
|
INNER JOIN item i ON oi.item_id = i.init_db_pool
|
|
AND oi.order_id = $1
|
|
INNER JOIN order_record orec ON oi.order_id = orec.order_id
|
|
INNER JOIN item_price_history iph ON iph.item_id = i.id
|
|
AND iph.valid_from <= oi.created_at
|
|
AND (iph.valid_to IS NULL OR iph.valid_to > oi.created_at);
|
|
`
|