diff --git a/discount/init.py b/discount/init.py index 3f392d3..c86fd9e 100644 --- a/discount/init.py +++ b/discount/init.py @@ -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 []