baseline: 批次A-D 成果 + membership 半成品(测试红)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
from rest_framework import serializers
|
||||
from apps.core.serializers import AsyncModelSerializer
|
||||
from .models import ChannelAccount, ChannelOrder, WebhookEvent
|
||||
|
||||
|
||||
class ChannelAccountSerializer(AsyncModelSerializer):
|
||||
platform_name = serializers.CharField(source="get_platform_display", read_only=True)
|
||||
warehouse_name = serializers.CharField(source="default_warehouse.name", read_only=True, default=None)
|
||||
customer_name = serializers.CharField(source="default_customer.name", read_only=True, default=None)
|
||||
|
||||
class Meta:
|
||||
model = ChannelAccount
|
||||
fields = [
|
||||
"id", "platform", "platform_name", "shop_id", "shop_name",
|
||||
"app_key", "is_active", "default_warehouse", "warehouse_name",
|
||||
"default_customer", "customer_name", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class ChannelOrderSerializer(AsyncModelSerializer):
|
||||
shop_name = serializers.CharField(source="channel_account.shop_name", read_only=True)
|
||||
platform = serializers.CharField(source="channel_account.platform", read_only=True)
|
||||
sync_status_name = serializers.CharField(source="get_sync_status_display", read_only=True)
|
||||
sales_order_no = serializers.CharField(source="sales_order.bill_no", read_only=True, default=None)
|
||||
|
||||
class Meta:
|
||||
model = ChannelOrder
|
||||
fields = [
|
||||
"id", "channel_account", "shop_name", "platform",
|
||||
"external_order_id", "order_status", "order_amount",
|
||||
"buyer_name", "buyer_phone", "receiver_address",
|
||||
"sync_status", "sync_status_name", "sync_error",
|
||||
"sales_order", "sales_order_no", "raw_payload",
|
||||
"created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "sales_order", "sync_status", "sync_error", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class WebhookEventSerializer(AsyncModelSerializer):
|
||||
class Meta:
|
||||
model = WebhookEvent
|
||||
fields = [
|
||||
"id", "direction", "source", "event_type", "payload",
|
||||
"status", "error_message", "created_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at"]
|
||||
Reference in New Issue
Block a user