feat: 商家子客服 merchant_ops 模块与专用 API

This commit is contained in:
XingQue
2026-06-20 02:19:39 +08:00
parent e233ee4bea
commit 0cf5341d73
25 changed files with 2091 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
from django.urls import path
from django.urls import path, include
from django.views.decorators.csrf import csrf_exempt
from .views import WechatMiniProgramLoginView, UserInfoUpdateView, DashouXinxiAPIView, \
ZaixianZhuangtaiAPIView, GuanshiXinxiView, ShangJiaXinXiView, BossBiaoshiView, YaoqingmaView, \
@@ -157,10 +157,5 @@ urlpatterns = [
path('tixianqr', TixianQueRenAutoView.as_view(), name='自动提现确认'),
path('tixiancallback', csrf_exempt(TixianCallbackV3View.as_view()), name='提现回调'),
path('phbhqsj', PhbHqsjView.as_view(), name='排行榜数据'),
path('merchant-staff/', include('merchant_ops.urls')),
]

View File

@@ -4899,6 +4899,16 @@ class ShangjiaZhuceView(APIView):
# 用户不是商家,继续注册流程
pass
# 2.5 子客服身份互斥:有效客服不可认证商家
from merchant_ops.services.authz import assert_no_active_staff_when_merchant_register
try:
assert_no_active_staff_when_merchant_register(current_user)
except Exception as e:
from merchant_ops.services.authz import StaffAuthError
if isinstance(e, StaffAuthError):
return Response({'code': 403, 'message': e.msg, 'data': None}, status=status.HTTP_403_FORBIDDEN)
raise
# 3. 根据邀请码查找对应的管理员
try:
# 从管理员表查找邀请码