GetRecordingStats godoc @Summary 获取录音数据统计 @Description 获取录音总数、磁盘存储、录音总时长,支持按成员和创建时间筛选 @Tags 录音管理 @Produce json @Security BearerAuth @Param user_ids query string false "成员ID筛选(逗号分隔,如 1,2,3)" @Param start_time query int false "开始时间(毫秒时间戳)" @Param end_time query int false "结束时间(毫秒时间戳)" @Success 200 {ob
(c *gin.Context)
| 188 | // @Success 200 {object} model.CommonResponse{data=service.RecordingStatsResult} |
| 189 | // @Router /api/admin/recordings/stats [get] |
| 190 | func GetRecordingStats(c *gin.Context) { |
| 191 | eid := config.GetEID(c) |
| 192 | |
| 193 | var req RecordingStatsRequest |
| 194 | if err := c.ShouldBindQuery(&req); err != nil { |
| 195 | c.JSON(http.StatusBadRequest, model.ParamError.ToResponse(err)) |
| 196 | return |
| 197 | } |
| 198 | |
| 199 | userIDs := parseUserIDs(req.UserIDs) |
| 200 | |
| 201 | svc := service.NewRecordingAdminService(eid) |
| 202 | result, err := svc.GetRecordingStats(c, userIDs, req.StartTime, req.EndTime) |
| 203 | if err != nil { |
| 204 | logger.SysErrorf("【录音统计】查询失败: eid=%d err=%v", eid, err) |
| 205 | c.JSON(http.StatusInternalServerError, model.SystemError.ToErrorResponse(err)) |
| 206 | return |
| 207 | } |
| 208 | |
| 209 | c.JSON(http.StatusOK, model.Success.ToResponse(result)) |
| 210 | } |
nothing calls this directly
no test coverage detected