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:
|
if is_owner:
|
||||||
rows = await sor.sqlExe(
|
rows = await sor.sqlExe(
|
||||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
"""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
|
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 = ''
|
WHERE dcb.sale_id IS NULL OR dcb.sale_id = ''
|
||||||
ORDER BY o.orgname""", {})
|
ORDER BY customer_name""", {})
|
||||||
else:
|
else:
|
||||||
rows = await sor.sqlExe(
|
rows = await sor.sqlExe(
|
||||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
"""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
|
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 = '')
|
WHERE dcb.resellerid = ${rid}$ AND (dcb.sale_id IS NULL OR dcb.sale_id = '')
|
||||||
ORDER BY o.orgname""",
|
ORDER BY customer_name""",
|
||||||
{'rid': userorgid})
|
{'rid': userorgid})
|
||||||
return rows or []
|
return rows or []
|
||||||
|
|
||||||
@ -1072,23 +1072,23 @@ async def get_bound_customers(request):
|
|||||||
if is_owner:
|
if is_owner:
|
||||||
rows = await sor.sqlExe(
|
rows = await sor.sqlExe(
|
||||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
"""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
|
COALESCE(u.username, u.nick_name, u.id) as sale_name
|
||||||
FROM discount_customer_bind dcb
|
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
|
LEFT JOIN users u ON u.id = dcb.sale_id
|
||||||
WHERE dcb.sale_id IS NOT NULL AND dcb.sale_id != ''
|
WHERE dcb.sale_id IS NOT NULL AND dcb.sale_id != ''
|
||||||
ORDER BY o.orgname""", {})
|
ORDER BY customer_name""", {})
|
||||||
else:
|
else:
|
||||||
rows = await sor.sqlExe(
|
rows = await sor.sqlExe(
|
||||||
"""SELECT dcb.id as bind_id, dcb.customerid,
|
"""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
|
COALESCE(u.username, u.nick_name, u.id) as sale_name
|
||||||
FROM discount_customer_bind dcb
|
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
|
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 != ''
|
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})
|
{'rid': userorgid})
|
||||||
return rows or []
|
return rows or []
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user