商家订单列表支持时间段筛选并修正分页has_more

This commit is contained in:
XingQue
2026-06-26 20:28:34 +08:00
parent 3083096cd7
commit c8b67a2fc8
4 changed files with 85 additions and 45 deletions

View File

@@ -1,10 +1,9 @@
"""子客服订单查询:按权限隔离,不返回商家全量(除非 order_view_all"""
from django.db.models import Q
from backend.utils import fmt_datetime, pick_leixing_id
from backend.utils import fmt_datetime
from merchant_ops.models import MerchantOrderDispatch
from merchant_ops.services.authz import member_has_perm
from orders.models import MerchantOrderExt
from orders.services.merchant_order_list_filters import apply_merchant_order_list_filters
def staff_can_view_all_orders(member):
@@ -27,18 +26,7 @@ def staff_order_ext_qs(member, zhuangtai_list=None):
def staff_apply_order_filters(qs, data):
leixing_id = pick_leixing_id(data)
keyword = str(data.get('keyword', '')).strip()
if leixing_id is not None:
qs = qs.filter(Order__ProductTypeID=leixing_id)
if keyword:
qs = qs.filter(
Q(Order__OrderID__exact=keyword)
| Q(Order__Description__icontains=keyword)
| Q(Order__Nickname__icontains=keyword)
| Q(Order__PlayerID__exact=keyword)
)
return qs
return apply_merchant_order_list_filters(qs, data)
def staff_order_to_dict(ext):

View File

@@ -85,7 +85,7 @@ class StaffOrderListView(APIView):
'msg': '成功',
'data': {
'list': order_list,
'has_more': len(page_qs) == page_size and start + page_size < total_count,
'has_more': start + len(page_qs) < total_count,
'total': total_count,
'pending_count': pending_count,
'view_scope': 'all' if staff_can_view_all_orders(member) else 'self',