feat: 完善小组绩效与有效端统计并修复审查问题

This commit is contained in:
Yvan
2026-11-05 01:10:03 +08:00
parent ca9ce99b66
commit dc97690eb1
75 changed files with 5033 additions and 296 deletions
+31 -8
View File
@@ -15,16 +15,17 @@ import (
// TaskMethods owns the dependency-bearing built-in task handlers.
type TaskMethods struct {
tasks *taskbiz.TaskUsecase
maintenance *system.MaintenanceUsecase
media *system.MediaUsecase
runtime *config.Store
reports *business.ReportBuildUsecase
alerts *business.AlertTriggerUsecase
tasks *taskbiz.TaskUsecase
maintenance *system.MaintenanceUsecase
media *system.MediaUsecase
runtime *config.Store
reports *business.ReportBuildUsecase
alerts *business.AlertTriggerUsecase
effectiveness *business.EffectivenessUsecase
}
func NewTaskMethods(tasks *taskbiz.TaskUsecase, maintenance *system.MaintenanceUsecase, media *system.MediaUsecase, runtime *config.Store, reports *business.ReportBuildUsecase, alerts *business.AlertTriggerUsecase) *TaskMethods {
return &TaskMethods{tasks: tasks, maintenance: maintenance, media: media, runtime: runtime, reports: reports, alerts: alerts}
func NewTaskMethods(tasks *taskbiz.TaskUsecase, maintenance *system.MaintenanceUsecase, media *system.MediaUsecase, runtime *config.Store, reports *business.ReportBuildUsecase, alerts *business.AlertTriggerUsecase, effectiveness *business.EffectivenessUsecase) *TaskMethods {
return &TaskMethods{tasks: tasks, maintenance: maintenance, media: media, runtime: runtime, reports: reports, alerts: alerts, effectiveness: effectiveness}
}
func (methods *TaskMethods) RegisterTasks(registry *platformtask.Registry) {
@@ -32,6 +33,28 @@ func (methods *TaskMethods) RegisterTasks(registry *platformtask.Registry) {
return
}
methods.registerBusinessReports(registry)
for _, job := range []struct {
name, description string
full bool
}{{"channelEffectivenessTask", "增量刷新渠道有效端", false}, {"channelEffectivenessFullTask", "全量核对有效端,补齐延迟到达的历史流水", true}} {
registry.Register(platformtask.Method{Name: job.name, Description: job.description, Run: func(ctx context.Context, params json.RawMessage) error {
if methods.effectiveness == nil {
return errors.New("有效端任务依赖未就绪")
}
if ctx == nil {
ctx = context.Background()
}
var args struct {
Full bool `json:"full"`
}
if len(params) > 0 {
if err := json.Unmarshal(params, &args); err != nil {
return err
}
}
return methods.effectiveness.Refresh(ctx, job.full || args.Full)
}})
}
registry.Register(platformtask.Method{Name: "alertTriggerTask", Description: "按商务范围检测并生成预警", Run: func(ctx context.Context, _ json.RawMessage) error {
if methods.alerts == nil {
return errors.New("预警任务依赖未就绪")