feat: 管事自助更换组长(配额、记录、小程序与后台接口)
This commit is contained in:
@@ -74,6 +74,11 @@ from .role_agreement_mp import (
|
||||
RoleAgreementSignView,
|
||||
)
|
||||
|
||||
from .change_leader_mp import (
|
||||
GuanshiChangeZuzhangInfoView,
|
||||
GuanshiChangeZuzhangView,
|
||||
)
|
||||
|
||||
from .admin import (
|
||||
AdGetOrderList,
|
||||
AdGetOrderTypes,
|
||||
|
||||
61
users/views/change_leader_mp.py
Normal file
61
users/views/change_leader_mp.py
Normal file
@@ -0,0 +1,61 @@
|
||||
"""小程序:管事更换组长。"""
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from users.services.change_leader import build_change_leader_info, change_leader_by_invite
|
||||
|
||||
|
||||
class GuanshiChangeZuzhangInfoView(APIView):
|
||||
"""
|
||||
POST /yonghu/gs_huan_zuzhang_info
|
||||
当前组长 + 剩余更换次数
|
||||
"""
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def post(self, request):
|
||||
result = build_change_leader_info(request, request.user)
|
||||
if not result.get('ok'):
|
||||
return Response({
|
||||
'code': result.get('code', 403),
|
||||
'msg': result.get('msg', '失败'),
|
||||
'data': None,
|
||||
})
|
||||
return Response({
|
||||
'code': 200,
|
||||
'msg': result.get('msg', 'ok'),
|
||||
'data': result.get('data'),
|
||||
})
|
||||
|
||||
|
||||
class GuanshiChangeZuzhangView(APIView):
|
||||
"""
|
||||
POST /yonghu/gs_huan_zuzhang
|
||||
body: { inviteCode: 组长邀请码 }
|
||||
"""
|
||||
permission_classes = [IsAuthenticated]
|
||||
|
||||
def post(self, request):
|
||||
invite = (
|
||||
request.data.get('inviteCode')
|
||||
or request.data.get('yaoqingma')
|
||||
or ''
|
||||
)
|
||||
result = change_leader_by_invite(
|
||||
request,
|
||||
request.user,
|
||||
invite,
|
||||
source='miniapp',
|
||||
operator=getattr(request.user, 'UserUID', '') or '',
|
||||
)
|
||||
if not result.get('ok'):
|
||||
return Response({
|
||||
'code': result.get('code', 400),
|
||||
'msg': result.get('msg', '更换失败'),
|
||||
'data': None,
|
||||
})
|
||||
return Response({
|
||||
'code': 200,
|
||||
'msg': result.get('msg', '更换组长成功'),
|
||||
'data': result.get('data'),
|
||||
})
|
||||
Reference in New Issue
Block a user