From 47118c2a58143bf0c8ac35c35ded9d4c2b19402b Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Mon, 25 May 2026 10:20:49 +0800 Subject: [PATCH] fix: Home Page Monitoring Data Interface Error --- apps/homepage/api/home_page_api.py | 36 +++++++++++++++++++++++++++ apps/homepage/serializers/homepage.py | 4 +-- apps/homepage/views/homepage.py | 7 +++--- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/apps/homepage/api/home_page_api.py b/apps/homepage/api/home_page_api.py index fdd7af1dd7b..917b854d27e 100644 --- a/apps/homepage/api/home_page_api.py +++ b/apps/homepage/api/home_page_api.py @@ -15,9 +15,45 @@ ) from rest_framework import serializers +from application.api.application_stats import ApplicationStatsResult from common.mixins.api_mixin import APIMixin + + +class ApplicationMonitoringAPI(APIMixin): + @staticmethod + def get_parameters(): + return [OpenApiParameter( + name="workspace_id", + description="工作空间id", + type=OpenApiTypes.STR, + location='path', + required=True, + ), + OpenApiParameter( + name="application_id", + description="application ID", + type=OpenApiTypes.STR, + required=False, + ), + OpenApiParameter( + name="start_time", + description="start Time", + type=OpenApiTypes.STR, + required=True, + ), + OpenApiParameter( + name="end_time", + description="end Time", + type=OpenApiTypes.STR, + required=True, + ), + ] + @staticmethod + def get_response(): + return ApplicationStatsResult + class RankingBaseAPI(APIMixin): @staticmethod diff --git a/apps/homepage/serializers/homepage.py b/apps/homepage/serializers/homepage.py index 76fe34d6c95..398c5f554a9 100644 --- a/apps/homepage/serializers/homepage.py +++ b/apps/homepage/serializers/homepage.py @@ -328,8 +328,8 @@ def get_chat_record_aggregate_trend(self, auth, with_valid=True): self.is_valid(raise_exception=True) user_id = self.data.get("user_id") workspace_id = self.data.get("workspace_id") - start_time = self.get_start_time() - end_time = self.get_end_time() + start_time = get_format_time(self.data.get("start_time")) + end_time = get_format_time(self.data.get("end_time")) application_id = self.data.get('application_id') applicationSerializer = HomePageSerializer.Application( data={"user_id": user_id, 'workspace_id': workspace_id}) diff --git a/apps/homepage/views/homepage.py b/apps/homepage/views/homepage.py index 63a0e3edd56..b605d3e2ba8 100644 --- a/apps/homepage/views/homepage.py +++ b/apps/homepage/views/homepage.py @@ -14,7 +14,8 @@ from common import result from common.auth import TokenAuth from homepage.api.home_page_api import ApplicationTokensRankingAPI, ApplicationQuestionRankingAPI, UserTokensRankingAPI, \ - ApplicationAggregationAPI, KnowledgeAggregationAPI, ToolAggregationAPI, ModelAggregationAPI + ApplicationAggregationAPI, KnowledgeAggregationAPI, ToolAggregationAPI, ModelAggregationAPI, \ + ApplicationMonitoringAPI from homepage.serializers.homepage import HomePageSerializer from django.utils.translation import gettext_lazy as _ @@ -93,8 +94,8 @@ class ApplicationMonitoring(APIView): description=_('Dialogue-related statistical trends'), summary=_('Dialogue-related statistical trends'), operation_id='Dialogue-related statistical trends', # type: ignore - parameters=ApplicationStatsAPI.get_parameters(), - responses=ApplicationStatsAPI.get_response(), + parameters=ApplicationMonitoringAPI.get_parameters(), + responses=ApplicationMonitoringAPI.get_response(), tags=[_('Home page')] # type: ignore ) def get(self, request: Request, workspace_id: str):