更新前后端代码
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"filestoragesystem/internal/middleware"
|
||||
"filestoragesystem/internal/utils"
|
||||
)
|
||||
|
||||
// StatsController 统计控制器
|
||||
type StatsController struct {
|
||||
*Base
|
||||
}
|
||||
|
||||
// NewStatsController 创建统计控制器
|
||||
func NewStatsController(b *Base) *StatsController { return &StatsController{Base: b} }
|
||||
|
||||
// UserStats 用户存储统计
|
||||
func (ctl *StatsController) UserStats(c *gin.Context) {
|
||||
userID := middleware.CurrentUserID(c)
|
||||
stats, err := ctl.svc.Stats.UserStats(userID)
|
||||
if err != nil {
|
||||
utils.ServerError(c, err.Error())
|
||||
return
|
||||
}
|
||||
utils.OK(c, stats)
|
||||
}
|
||||
|
||||
// ProjectStats 项目存储统计
|
||||
func (ctl *StatsController) ProjectStats(c *gin.Context) {
|
||||
id, ok := paramID(c)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
userID := middleware.CurrentUserID(c)
|
||||
stats, err := ctl.svc.Stats.ProjectStats(userID, id, middleware.IsAdmin(c))
|
||||
if err != nil {
|
||||
utils.FailMsg(c, err.Error())
|
||||
return
|
||||
}
|
||||
utils.OK(c, stats)
|
||||
}
|
||||
|
||||
// TrafficStats 流量统计
|
||||
func (ctl *StatsController) TrafficStats(c *gin.Context) {
|
||||
userID := middleware.CurrentUserID(c)
|
||||
days := parseIntQuery(c, "days", 30)
|
||||
stats, err := ctl.svc.Stats.TrafficStats(userID, days)
|
||||
if err != nil {
|
||||
utils.ServerError(c, err.Error())
|
||||
return
|
||||
}
|
||||
utils.OK(c, stats)
|
||||
}
|
||||
Reference in New Issue
Block a user