P2-2部署尝试+compose通配符修复 / D2收尾(唯一单号+前后断言+H5回归17过) / P2-1 StorefrontAdmin真分页 / 后端511+PG4

This commit is contained in:
seagull
2026-09-13 00:25:50 +08:00
parent eef7be7258
commit e0e1430e8d
10 changed files with 319 additions and 33 deletions
+16 -4
View File
@@ -228,18 +228,30 @@ async def my_orders(request):
@api_view(["GET"])
async def admin_orders(request):
"""内部:商城订单列表(默认只看待确认)。"""
"""内部:商城订单列表(默认只看待确认,支持 page/page_size 分页)。"""
tenant = await _tenant(request)
status_filter = request.query_params.get("status", "submitted")
try:
page = max(int(request.query_params.get("page", 1)), 1)
except (TypeError, ValueError):
page = 1
try:
page_size = int(request.query_params.get("page_size", 20))
except (TypeError, ValueError):
page_size = 20
page_size = min(max(page_size, 1), 200)
def _list():
qs = StorefrontOrder.objects.filter(tenant=tenant).select_related("customer")
if status_filter and status_filter != "all":
qs = qs.filter(status=status_filter)
return list(qs.prefetch_related("lines__product").order_by("-created_at")[:100])
total = qs.count()
rows = list(qs.prefetch_related("lines__product")
.order_by("-created_at")[(page - 1) * page_size:page * page_size])
return total, rows
orders = await sync_to_async(_list)()
return Response({"results": [
total, orders = await sync_to_async(_list)()
return Response({"count": total, "results": [
{
"id": o.id, "order_no": o.order_no, "status": o.status,
"status_name": o.get_status_display(),