fix: free customer name empty when org missing; use LEFT JOIN + COALESCE fallback
This commit is contained in:
parent
5b789995a6
commit
d05bd3ec6f
@ -1041,19 +1041,19 @@ async def get_free_customers(request):
|
||||
if is_owner:
|
||||
rows = await sor.sqlExe(
|
||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
||||
o.orgname as customer_name, dcb.sale_id
|
||||
COALESCE(o.orgname, dcb.customerid) as customer_name, dcb.sale_id
|
||||
FROM discount_customer_bind dcb
|
||||
JOIN organization o ON o.id = dcb.customerid
|
||||
LEFT JOIN organization o ON o.id = dcb.customerid
|
||||
WHERE dcb.sale_id IS NULL OR dcb.sale_id = ''
|
||||
ORDER BY o.orgname""", {})
|
||||
ORDER BY customer_name""", {})
|
||||
else:
|
||||
rows = await sor.sqlExe(
|
||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
||||
o.orgname as customer_name, dcb.sale_id
|
||||
COALESCE(o.orgname, dcb.customerid) as customer_name, dcb.sale_id
|
||||
FROM discount_customer_bind dcb
|
||||
JOIN organization o ON o.id = dcb.customerid
|
||||
LEFT JOIN organization o ON o.id = dcb.customerid
|
||||
WHERE dcb.resellerid = ${rid}$ AND (dcb.sale_id IS NULL OR dcb.sale_id = '')
|
||||
ORDER BY o.orgname""",
|
||||
ORDER BY customer_name""",
|
||||
{'rid': userorgid})
|
||||
return rows or []
|
||||
|
||||
@ -1072,23 +1072,23 @@ async def get_bound_customers(request):
|
||||
if is_owner:
|
||||
rows = await sor.sqlExe(
|
||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
||||
o.orgname as customer_name, dcb.sale_id,
|
||||
COALESCE(o.orgname, dcb.customerid) as customer_name, dcb.sale_id,
|
||||
COALESCE(u.username, u.nick_name, u.id) as sale_name
|
||||
FROM discount_customer_bind dcb
|
||||
JOIN organization o ON o.id = dcb.customerid
|
||||
LEFT JOIN organization o ON o.id = dcb.customerid
|
||||
LEFT JOIN users u ON u.id = dcb.sale_id
|
||||
WHERE dcb.sale_id IS NOT NULL AND dcb.sale_id != ''
|
||||
ORDER BY o.orgname""", {})
|
||||
ORDER BY customer_name""", {})
|
||||
else:
|
||||
rows = await sor.sqlExe(
|
||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
||||
o.orgname as customer_name, dcb.sale_id,
|
||||
COALESCE(o.orgname, dcb.customerid) as customer_name, dcb.sale_id,
|
||||
COALESCE(u.username, u.nick_name, u.id) as sale_name
|
||||
FROM discount_customer_bind dcb
|
||||
JOIN organization o ON o.id = dcb.customerid
|
||||
LEFT JOIN organization o ON o.id = dcb.customerid
|
||||
LEFT JOIN users u ON u.id = dcb.sale_id
|
||||
WHERE dcb.resellerid = ${rid}$ AND dcb.sale_id IS NOT NULL AND dcb.sale_id != ''
|
||||
ORDER BY o.orgname""",
|
||||
ORDER BY customer_name""",
|
||||
{'rid': userorgid})
|
||||
return rows or []
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user