From 6066f43a7d74a97ed26b3ea11af4746f902b0417 Mon Sep 17 00:00:00 2001 From: liangxu Date: Sun, 12 Apr 2026 09:56:18 +0800 Subject: [PATCH] Add monitoring service and database schema - Implement monitoring service with heartbeat, lease tasks, resume tasks, and task result handling. - Create monitoring time utilities for business date calculations. - Add unit tests for date window resolution and business day handling. - Define database schema for monitoring-related tables including quotas, daily reports, and task management. - Establish migration scripts for creating and dropping monitoring tables. --- README.md | 0 .../src/components/MarkdownPreview.vue | 6 +- apps/admin-web/src/components/PageHero.vue | 15 +- apps/admin-web/src/i18n/messages/en-US.ts | 133 +- apps/admin-web/src/i18n/messages/zh-CN.ts | 133 +- apps/admin-web/src/lib/api.ts | 37 + apps/admin-web/src/lib/errors.ts | 6 + apps/admin-web/src/lib/monitoring-plugin.ts | 155 ++ apps/admin-web/src/router/index.ts | 12 +- apps/admin-web/src/views/BrandsView.vue | 2 +- .../src/views/TrackingQuestionDetailView.vue | 943 +++++++ apps/admin-web/src/views/TrackingView.vue | 1412 ++++++++++ .../entrypoints/background.ts | 236 +- apps/browser-extension/entrypoints/content.ts | 90 +- .../entrypoints/popup/App.vue | 524 +++- .../src/monitoring-adapters/common.ts | 79 + .../src/monitoring-adapters/doubao-state.ts | 194 ++ .../src/monitoring-adapters/doubao.ts | 998 +++++++ .../src/monitoring-adapters/index.ts | 74 + .../src/monitoring-adapters/qwen.ts | 598 ++++ .../src/monitoring-adapters/types.ts | 52 + .../src/monitoring-platforms.ts | 72 + .../src/monitoring-runtime.ts | 729 +++++ apps/browser-extension/src/storage.ts | 167 +- apps/browser-extension/wxt.config.ts | 2 +- packages/shared-types/src/index.ts | 326 +++ server/Makefile | 10 +- server/cmd/dev-seed/main.go | 998 ++++++- server/cmd/tenant-api/main.go | 13 + server/configs/config.local.yaml.example | 22 + server/configs/config.yaml | 26 + server/docker-compose.yaml | 27 + server/go.mod | 7 +- server/go.sum | 3 +- server/internal/bootstrap/bootstrap.go | 35 + server/internal/shared/config/config.go | 89 +- .../shared/messaging/rabbitmq/client.go | 325 +++ server/internal/shared/middleware/logger.go | 3 + .../tenant/app/brand_monitoring_cleanup.go | 192 ++ server/internal/tenant/app/brand_service.go | 86 +- server/internal/tenant/app/media_service.go | 19 + .../tenant/app/monitoring_answer_llm_parse.go | 173 ++ .../tenant/app/monitoring_answer_parse.go | 246 ++ .../tenant/app/monitoring_callback_service.go | 2306 ++++++++++++++++ .../internal/tenant/app/monitoring_errors.go | 9 + .../tenant/app/monitoring_lease_recovery.go | 79 + .../app/monitoring_lease_recovery_worker.go | 116 + .../tenant/app/monitoring_projection.go | 540 ++++ .../monitoring_projection_rebuild_queue.go | 194 ++ .../monitoring_projection_rebuild_worker.go | 133 + .../app/monitoring_received_inspection.go | 113 + .../monitoring_received_inspection_worker.go | 105 + .../app/monitoring_result_ingest_worker.go | 134 + .../monitoring_result_ingest_worker_test.go | 93 + .../app/monitoring_result_recovery_worker.go | 204 ++ .../internal/tenant/app/monitoring_service.go | 2456 +++++++++++++++++ .../app/monitoring_service_date_test.go | 67 + server/internal/tenant/app/monitoring_time.go | 39 + .../tenant/transport/brand_handler.go | 2 +- .../transport/monitoring_callback_handler.go | 162 ++ .../tenant/transport/monitoring_handler.go | 133 + server/internal/tenant/transport/router.go | 14 + .../internal/tenant/transport/router_test.go | 6 + ...10103000_create_monitoring_tables.down.sql | 1 + ...0410103000_create_monitoring_tables.up.sql | 13 + ...10103000_create_monitoring_tables.down.sql | 10 + ...0410103000_create_monitoring_tables.up.sql | 239 ++ 67 files changed, 16312 insertions(+), 125 deletions(-) create mode 100644 README.md create mode 100644 apps/admin-web/src/lib/monitoring-plugin.ts create mode 100644 apps/admin-web/src/views/TrackingQuestionDetailView.vue create mode 100644 apps/admin-web/src/views/TrackingView.vue create mode 100644 apps/browser-extension/src/monitoring-adapters/common.ts create mode 100644 apps/browser-extension/src/monitoring-adapters/doubao-state.ts create mode 100644 apps/browser-extension/src/monitoring-adapters/doubao.ts create mode 100644 apps/browser-extension/src/monitoring-adapters/index.ts create mode 100644 apps/browser-extension/src/monitoring-adapters/qwen.ts create mode 100644 apps/browser-extension/src/monitoring-adapters/types.ts create mode 100644 apps/browser-extension/src/monitoring-platforms.ts create mode 100644 apps/browser-extension/src/monitoring-runtime.ts create mode 100644 server/internal/shared/messaging/rabbitmq/client.go create mode 100644 server/internal/tenant/app/brand_monitoring_cleanup.go create mode 100644 server/internal/tenant/app/monitoring_answer_llm_parse.go create mode 100644 server/internal/tenant/app/monitoring_answer_parse.go create mode 100644 server/internal/tenant/app/monitoring_callback_service.go create mode 100644 server/internal/tenant/app/monitoring_errors.go create mode 100644 server/internal/tenant/app/monitoring_lease_recovery.go create mode 100644 server/internal/tenant/app/monitoring_lease_recovery_worker.go create mode 100644 server/internal/tenant/app/monitoring_projection.go create mode 100644 server/internal/tenant/app/monitoring_projection_rebuild_queue.go create mode 100644 server/internal/tenant/app/monitoring_projection_rebuild_worker.go create mode 100644 server/internal/tenant/app/monitoring_received_inspection.go create mode 100644 server/internal/tenant/app/monitoring_received_inspection_worker.go create mode 100644 server/internal/tenant/app/monitoring_result_ingest_worker.go create mode 100644 server/internal/tenant/app/monitoring_result_ingest_worker_test.go create mode 100644 server/internal/tenant/app/monitoring_result_recovery_worker.go create mode 100644 server/internal/tenant/app/monitoring_service.go create mode 100644 server/internal/tenant/app/monitoring_service_date_test.go create mode 100644 server/internal/tenant/app/monitoring_time.go create mode 100644 server/internal/tenant/transport/monitoring_callback_handler.go create mode 100644 server/internal/tenant/transport/monitoring_handler.go create mode 100644 server/migrations/20260410103000_create_monitoring_tables.down.sql create mode 100644 server/migrations/20260410103000_create_monitoring_tables.up.sql create mode 100644 server/migrations_monitoring/20260410103000_create_monitoring_tables.down.sql create mode 100644 server/migrations_monitoring/20260410103000_create_monitoring_tables.up.sql diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/apps/admin-web/src/components/MarkdownPreview.vue b/apps/admin-web/src/components/MarkdownPreview.vue index a67108f..afa7e67 100644 --- a/apps/admin-web/src/components/MarkdownPreview.vue +++ b/apps/admin-web/src/components/MarkdownPreview.vue @@ -1,4 +1,5 @@