Files
im_manager/server/internal/logic/sys/im_dashboard.go
T

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
}