This commit is contained in:
@@ -6,7 +6,7 @@ from rest_framework import serializers, permissions
|
|||||||
from django.core.signing import TimestampSigner, BadSignature, SignatureExpired
|
from django.core.signing import TimestampSigner, BadSignature, SignatureExpired
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from drf_spectacular.utils import extend_schema
|
from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
|
||||||
|
|
||||||
from shop.models import WeChatUser, Order
|
from shop.models import WeChatUser, Order
|
||||||
from shop.views import get_wechat_pay_client
|
from shop.views import get_wechat_pay_client
|
||||||
@@ -439,13 +439,31 @@ class AdminPublishViewSet(viewsets.ViewSet):
|
|||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@extend_schema(summary="API发布活动")
|
@extend_schema(
|
||||||
|
summary="API发布活动",
|
||||||
|
parameters=[
|
||||||
|
OpenApiParameter(
|
||||||
|
name='apikey',
|
||||||
|
description='API访问密钥',
|
||||||
|
required=True,
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
location=OpenApiParameter.QUERY
|
||||||
|
),
|
||||||
|
OpenApiParameter(
|
||||||
|
name='phone_number',
|
||||||
|
description='管理员手机号 (用于关联发布者)',
|
||||||
|
required=True,
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
location=OpenApiParameter.QUERY
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
@action(detail=False, methods=['post'])
|
@action(detail=False, methods=['post'])
|
||||||
def publish_activity(self, request):
|
def publish_activity(self, request):
|
||||||
if not self.check_api_key(request):
|
if not self.check_api_key(request):
|
||||||
return Response({'error': 'Invalid API Key'}, status=403)
|
return Response({'error': 'Invalid API Key'}, status=403)
|
||||||
|
|
||||||
phone = request.data.get('phone_number')
|
phone = request.data.get('phone_number') or request.query_params.get('phone_number')
|
||||||
user = self.get_admin_user_by_phone(phone)
|
user = self.get_admin_user_by_phone(phone)
|
||||||
if not user:
|
if not user:
|
||||||
return Response({'error': 'Admin user not found with this phone number'}, status=404)
|
return Response({'error': 'Admin user not found with this phone number'}, status=404)
|
||||||
@@ -457,13 +475,31 @@ class AdminPublishViewSet(viewsets.ViewSet):
|
|||||||
return Response(serializer.data, status=201)
|
return Response(serializer.data, status=201)
|
||||||
return Response(serializer.errors, status=400)
|
return Response(serializer.errors, status=400)
|
||||||
|
|
||||||
@extend_schema(summary="API发布帖子")
|
@extend_schema(
|
||||||
|
summary="API发布帖子",
|
||||||
|
parameters=[
|
||||||
|
OpenApiParameter(
|
||||||
|
name='apikey',
|
||||||
|
description='API访问密钥',
|
||||||
|
required=True,
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
location=OpenApiParameter.QUERY
|
||||||
|
),
|
||||||
|
OpenApiParameter(
|
||||||
|
name='phone_number',
|
||||||
|
description='管理员手机号 (用于关联发布者)',
|
||||||
|
required=True,
|
||||||
|
type=OpenApiTypes.STR,
|
||||||
|
location=OpenApiParameter.QUERY
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
@action(detail=False, methods=['post'])
|
@action(detail=False, methods=['post'])
|
||||||
def publish_topic(self, request):
|
def publish_topic(self, request):
|
||||||
if not self.check_api_key(request):
|
if not self.check_api_key(request):
|
||||||
return Response({'error': 'Invalid API Key'}, status=403)
|
return Response({'error': 'Invalid API Key'}, status=403)
|
||||||
|
|
||||||
phone = request.data.get('phone_number')
|
phone = request.data.get('phone_number') or request.query_params.get('phone_number')
|
||||||
user = self.get_admin_user_by_phone(phone)
|
user = self.get_admin_user_by_phone(phone)
|
||||||
if not user:
|
if not user:
|
||||||
return Response({'error': 'Admin user not found with this phone number'}, status=404)
|
return Response({'error': 'Admin user not found with this phone number'}, status=404)
|
||||||
|
|||||||
Reference in New Issue
Block a user