| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * Shutdown Statistics API List
- * /dashboard/shutdownStatistics/date - GET shutdown统计最新日期
- * /dashboard/shutdownStatistics - GET shutdown统计
- */
- package controllers
- import (
- "fwh-toolbox-server/dto"
- "fwh-toolbox-server/services"
- "time"
- "github.com/gofiber/fiber/v2"
- )
- // 获取shutdown统计最新日期
- // /dashboard/shutdownStatistics/date
- func GetShutdownStatisticsDate(c *fiber.Ctx) error {
- date, err := services.GetShutdownStatisticsDate()
- if err != nil {
- return Error(c, "Shutdown statistics date read failed.")
- }
- return Success(c, date)
- }
- // 获取shutdown统计
- // /dashboard/shutdownStatistics
- func GetShutdownStatistics(c *fiber.Ctx) error {
- date := c.Query("date", "")
- var pDate *string = nil
- if date != "" {
- pDate = &date
- }
- // 提取月份
- t, err := time.Parse(time.DateOnly, date)
- if err != nil {
- return Fail(c, "Invalid request para date.")
- }
- month := t.Month()
- data, err := services.GetShutdownStatistics(pDate)
- if err != nil {
- return Error(c, "Shutdown statistics read failed.")
- }
- // 转换数据输出结构
- return Success(c, dto.ShutdownStatisticsInfo{
- Date: data.Date,
- DayTotal: dto.ShutdownStatisticsDayItem{
- Count: data.Weekly.ALL[6],
- Growth: int(int64(data.Weekly.ALL[6]) - int64(data.Weekly.ALL[5])),
- Weekly: data.Weekly.ALL,
- MonthCount: data.Yearly.ALL[month-1],
- Year: data.Yearly.ALL,
- },
- UsTotal: dto.ShutdownStatisticsDayItem{
- Count: data.Weekly.US[6],
- Growth: int(int64(data.Weekly.US[6]) - int64(data.Weekly.US[5])),
- Weekly: data.Weekly.US,
- MonthCount: data.Yearly.US[month-1],
- Year: data.Yearly.US,
- },
- AuTotal: dto.ShutdownStatisticsDayItem{
- Count: data.Weekly.AU[6],
- Growth: int(int64(data.Weekly.AU[6]) - int64(data.Weekly.AU[5])),
- Weekly: data.Weekly.AU,
- MonthCount: data.Yearly.AU[month-1],
- Year: data.Yearly.AU,
- },
- })
- }
|