fix: 订单时间字段别名与子客服鉴权/读权限统一

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-06-22 16:22:47 +08:00
parent a07bd3d388
commit 45af7e1649
6 changed files with 78 additions and 33 deletions

View File

@@ -8,7 +8,9 @@ from rest_framework.views import APIView
from backend.utils import pick_order_id
from merchant_ops.helpers import proxy_merchant_order_view
from merchant_ops.services.authz import StaffAuthError, get_active_staff_member, member_has_perm
from merchant_ops.services.authz import (
StaffAuthError, require_active_staff_member, member_has_perm, staff_order_read_perm,
)
from merchant_ops.services.order_query import (
staff_apply_order_filters,
staff_can_view_all_orders,
@@ -29,10 +31,7 @@ logger = logging.getLogger(__name__)
def _require_staff(request):
member = get_active_staff_member(request.user)
if not member:
raise StaffAuthError(403, '非有效子客服')
return member
return require_active_staff_member(request.user)
def _err(e):
@@ -138,9 +137,10 @@ class StaffProductTypesView(APIView):
def post(self, request):
try:
member = _require_staff(request)
if not member_has_perm(member, 'order_dispatch'):
raise StaffAuthError(403, '无权限')
return proxy_merchant_order_view(request, member, ShangpinLeixingView, 'order_dispatch')
perm = staff_order_read_perm(member)
if not perm:
raise StaffAuthError(403, '无权限查看商品类型')
return proxy_merchant_order_view(request, member, ShangpinLeixingView, perm)
except Exception as e:
return _err(e)