package team import ( "github.com/gin-gonic/gin" "recook/internal/back" "recook/internal/dbc" "recook/internal/model/manage" "recook/internal/model/user" "recook/tools" "time" ) type statParams struct { UserID uint `json:"userId" validate:"required"` Month string `json:"month" validate:"required"` Page uint `json:"page"` Limit uint `json:"limit"` } func QueryPartnerSalesMonthStat(c *gin.Context) { var p statParams if err := tools.Params(&p, c); err != nil { back.Fail(c, err.Error()) return } var sys manage.UserInfo if err := dbc.DB.First(&sys, p.UserID).Error; err != nil { back.Err(c, err.Error()) return } if sys.Role != 1 { back.Fail(c, "仅超级管理员才可设置") return } limit := 5 if p.Limit > 5 { limit = int(p.Limit) } month, err := time.Parse("2006-01", p.Month) if err != nil { back.Fail(c, "时间无法解析") return } var total uint dbc.DB.Table((&user.PartnerSalesMonthStat{}).TableName()). Where("month = ?", month.Format("2006-01")).Count(&total) list := make([]user.PartnerSalesMonthStat, 0, 0) dbc.DB.Limit(limit).Offset(limit*int(p.Page)). Order("sales_amount desc"). Find(&list, "month = ?", month.Format("2006-01")) back.Suc(c, "", gin.H{ "total": total, "list": list, }) }