39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
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
|
|
}
|