商家订单列表支持时间段筛选并修正分页has_more
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user