P2-2部署尝试+compose通配符修复 / D2收尾(唯一单号+前后断言+H5回归17过) / P2-1 StorefrontAdmin真分页 / 后端511+PG4
This commit is contained in:
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user