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.utils import timezone
|
||||
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.views import get_wechat_pay_client
|
||||
@@ -439,13 +439,31 @@ class AdminPublishViewSet(viewsets.ViewSet):
|
||||
|
||||
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'])
|
||||
def publish_activity(self, request):
|
||||
if not self.check_api_key(request):
|
||||
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)
|
||||
if not user:
|
||||
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.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'])
|
||||
def publish_topic(self, request):
|
||||
if not self.check_api_key(request):
|
||||
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)
|
||||
if not user:
|
||||
return Response({'error': 'Admin user not found with this phone number'}, status=404)
|
||||
|
||||
Reference in New Issue
Block a user