fix: 统一AI生成失败提示
This commit is contained in:
@@ -7,6 +7,8 @@ class NotificationSerializer(serializers.ModelSerializer):
|
||||
type = serializers.CharField(source="notification_type", read_only=True)
|
||||
unread = serializers.SerializerMethodField()
|
||||
project_name = serializers.CharField(source="project.name", read_only=True)
|
||||
body = serializers.SerializerMethodField()
|
||||
metadata = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Notification
|
||||
@@ -45,3 +47,15 @@ class NotificationSerializer(serializers.ModelSerializer):
|
||||
|
||||
def get_unread(self, obj):
|
||||
return not obj.is_read
|
||||
|
||||
def get_body(self, obj):
|
||||
"""兼容早期 AI 失败通知:不再向普通用户回传嵌入正文的上游原始异常。"""
|
||||
body = obj.body or ""
|
||||
marker = "—— 第三方服务商 API 返回的原始报错 ——"
|
||||
return body.split(marker, 1)[0].strip()
|
||||
|
||||
def get_metadata(self, obj):
|
||||
"""旧通知的 api_error 也必须从普通用户 API 中移除。"""
|
||||
metadata = dict(obj.metadata or {})
|
||||
metadata.pop("api_error", None)
|
||||
return metadata
|
||||
|
||||
Reference in New Issue
Block a user