package sys import ( "context" "hotgo/internal/model/input/sysin" "hotgo/internal/service" "net/url" ) type sSysImDashboard struct{} func NewSysImDashboard() *sSysImDashboard { return &sSysImDashboard{} } func init() { service.RegisterSysImDashboard(NewSysImDashboard()) } func (s *sSysImDashboard) Overview(ctx context.Context, in *sysin.ImDashboardOverviewInp) (*sysin.ImDashboardOverviewModel, error) { tenant, err := resolveImAdminTenant(ctx, in.TenantId) if err != nil { return nil, err } return imAdminQueryOne[sysin.ImDashboardOverviewModel](ctx, tenant, "/internal/admin-query/tenants/"+url.PathEscape(tenant.Code)+"/dashboard/overview", nil) } func (s *sSysImDashboard) Trends(ctx context.Context, in *sysin.ImDashboardTrendsInp) ([]*sysin.ImDashboardTrendModel, error) { if err := in.Filter(ctx); err != nil { return nil, err } tenant, err := resolveImAdminTenant(ctx, in.TenantId) if err != nil { return nil, err } values := addPageQuery(url.Values{}, 1, in.Days) values.Set("days", intToString(in.Days)) list, _, err := imAdminQueryList[sysin.ImDashboardTrendModel](ctx, tenant, "/internal/admin-query/tenants/"+url.PathEscape(tenant.Code)+"/dashboard/trends", values, nil) return list, err }