diff --git a/src/main/java/edu/whut/smilepicturebackend/controller/SpaceAnalyzeController.java b/src/main/java/edu/whut/smilepicturebackend/controller/SpaceAnalyzeController.java
new file mode 100644
index 0000000..fbef838
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/controller/SpaceAnalyzeController.java
@@ -0,0 +1,134 @@
+package edu.whut.smilepicturebackend.controller;
+import edu.whut.smilepicturebackend.common.BaseResponse;
+import edu.whut.smilepicturebackend.common.ResultUtils;
+import edu.whut.smilepicturebackend.exception.ErrorCode;
+import edu.whut.smilepicturebackend.exception.ThrowUtils;
+import edu.whut.smilepicturebackend.model.dto.space.analyze.*;
+import edu.whut.smilepicturebackend.model.entity.Space;
+import edu.whut.smilepicturebackend.model.entity.User;
+import edu.whut.smilepicturebackend.model.vo.analyze.*;
+import edu.whut.smilepicturebackend.model.vo.space.analyze.*;
+import edu.whut.smilepicturebackend.service.SpaceAnalyzeService;
+import edu.whut.smilepicturebackend.service.UserService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * @author 程序员鱼皮 编程导航原创项目
+ */
+@Slf4j
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/space/analyze")
+public class SpaceAnalyzeController {
+
+ private final UserService userService;
+
+ private final SpaceAnalyzeService spaceAnalyzeService;
+
+ /**
+ * 获取空间的使用状态
+ *
+ * @param spaceUsageAnalyzeRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/usage")
+ public BaseResponse getSpaceUsageAnalyze(
+ @RequestBody SpaceUsageAnalyzeRequest spaceUsageAnalyzeRequest,
+ HttpServletRequest request) {
+ ThrowUtils.throwIf(spaceUsageAnalyzeRequest == null, ErrorCode.PARAMS_ERROR);
+ User loginUser = userService.getLoginUser(request);
+ SpaceUsageAnalyzeResponse spaceUsageAnalyze = spaceAnalyzeService.getSpaceUsageAnalyze(spaceUsageAnalyzeRequest, loginUser);
+ return ResultUtils.success(spaceUsageAnalyze);
+ }
+
+ /**
+ * 获取空间图片分类分析
+ *
+ * @param spaceCategoryAnalyzeRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/category")
+ public BaseResponse> getSpaceCategoryAnalyze(
+ @RequestBody SpaceCategoryAnalyzeRequest spaceCategoryAnalyzeRequest,
+ HttpServletRequest request) {
+ ThrowUtils.throwIf(spaceCategoryAnalyzeRequest == null, ErrorCode.PARAMS_ERROR);
+ User loginUser = userService.getLoginUser(request);
+ List spaceCategoryAnalyze = spaceAnalyzeService.getSpaceCategoryAnalyze(spaceCategoryAnalyzeRequest, loginUser);
+ return ResultUtils.success(spaceCategoryAnalyze);
+ }
+
+ /**
+ * 获取空间图片标签分析
+ *
+ * @param spaceTagAnalyzeRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/tag")
+ public BaseResponse> getSpaceTagAnalyze(
+ @RequestBody SpaceTagAnalyzeRequest spaceTagAnalyzeRequest,
+ HttpServletRequest request) {
+ ThrowUtils.throwIf(spaceTagAnalyzeRequest == null, ErrorCode.PARAMS_ERROR);
+ User loginUser = userService.getLoginUser(request);
+ List spaceTagAnalyze = spaceAnalyzeService.getSpaceTagAnalyze(spaceTagAnalyzeRequest, loginUser);
+ return ResultUtils.success(spaceTagAnalyze);
+ }
+
+ /**
+ * 获取空间图片大小分析
+ *
+ * @param spaceSizeAnalyzeRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/size")
+ public BaseResponse> getSpaceSizeAnalyze(@RequestBody SpaceSizeAnalyzeRequest spaceSizeAnalyzeRequest,
+ HttpServletRequest request) {
+ ThrowUtils.throwIf(spaceSizeAnalyzeRequest == null, ErrorCode.PARAMS_ERROR);
+ User loginUser = userService.getLoginUser(request);
+ List resultList = spaceAnalyzeService.getSpaceSizeAnalyze(spaceSizeAnalyzeRequest, loginUser);
+ return ResultUtils.success(resultList);
+ }
+
+ /**
+ * 获取空间用户行为分析
+ *
+ * @param spaceUserAnalyzeRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/user")
+ public BaseResponse> getSpaceUserAnalyze(@RequestBody SpaceUserAnalyzeRequest spaceUserAnalyzeRequest,
+ HttpServletRequest request) {
+ ThrowUtils.throwIf(spaceUserAnalyzeRequest == null, ErrorCode.PARAMS_ERROR);
+ User loginUser = userService.getLoginUser(request);
+ List resultList = spaceAnalyzeService.getSpaceUserAnalyze(spaceUserAnalyzeRequest, loginUser);
+ return ResultUtils.success(resultList);
+ }
+
+ /**
+ * 获取空间使用排行分析
+ *
+ * @param spaceRankAnalyzeRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/rank")
+ public BaseResponse> getSpaceRankAnalyze(@RequestBody SpaceRankAnalyzeRequest spaceRankAnalyzeRequest,
+ HttpServletRequest request) {
+ ThrowUtils.throwIf(spaceRankAnalyzeRequest == null, ErrorCode.PARAMS_ERROR);
+ User loginUser = userService.getLoginUser(request);
+ List resultList = spaceAnalyzeService.getSpaceRankAnalyze(spaceRankAnalyzeRequest, loginUser);
+ return ResultUtils.success(resultList);
+ }
+}
+
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceAnalyzeRequest.java
new file mode 100644
index 0000000..0f7c271
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceAnalyzeRequest.java
@@ -0,0 +1,30 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 通用空间分析请求
+ * queryAll ->查全空间,仅管理员 ; querypublic:查公共图库,仅管理员; spaceId,仅queryAll和querypublic都false时启用,查私人空间。
+ */
+@Data
+public class SpaceAnalyzeRequest implements Serializable {
+
+ /**
+ * 空间 ID
+ */
+ private Long spaceId;
+
+ /**
+ * 是否查询公共图库
+ */
+ private boolean queryPublic;
+
+ /**
+ * 全空间分析
+ */
+ private boolean queryAll;
+
+ private static final long serialVersionUID = 1L;
+}
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceCategoryAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceCategoryAnalyzeRequest.java
new file mode 100644
index 0000000..5ab2abe
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceCategoryAnalyzeRequest.java
@@ -0,0 +1,13 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 空间图片分类分析请求
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SpaceCategoryAnalyzeRequest extends SpaceAnalyzeRequest {
+
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceRankAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceRankAnalyzeRequest.java
new file mode 100644
index 0000000..2c2c065
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceRankAnalyzeRequest.java
@@ -0,0 +1,19 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 空间使用排行分析请求(仅管理员)
+ */
+@Data
+public class SpaceRankAnalyzeRequest implements Serializable {
+
+ /**
+ * 排名前 N 的空间
+ */
+ private Integer topN = 10;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceSizeAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceSizeAnalyzeRequest.java
new file mode 100644
index 0000000..8c8bac0
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceSizeAnalyzeRequest.java
@@ -0,0 +1,13 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 空间图片大小分析请求
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SpaceSizeAnalyzeRequest extends SpaceAnalyzeRequest {
+
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceTagAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceTagAnalyzeRequest.java
new file mode 100644
index 0000000..fa49368
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceTagAnalyzeRequest.java
@@ -0,0 +1,13 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 空间图片标签分析请求
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SpaceTagAnalyzeRequest extends SpaceAnalyzeRequest {
+
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceUsageAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceUsageAnalyzeRequest.java
new file mode 100644
index 0000000..ce8cdb9
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceUsageAnalyzeRequest.java
@@ -0,0 +1,13 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 空间资源使用分析请求封装类
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SpaceUsageAnalyzeRequest extends SpaceAnalyzeRequest {
+
+}
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceUserAnalyzeRequest.java b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceUserAnalyzeRequest.java
new file mode 100644
index 0000000..70605c2
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/dto/space/analyze/SpaceUserAnalyzeRequest.java
@@ -0,0 +1,22 @@
+package edu.whut.smilepicturebackend.model.dto.space.analyze;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 空间用户上传行为分析请求
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SpaceUserAnalyzeRequest extends SpaceAnalyzeRequest {
+
+ /**
+ * 用户 ID
+ */
+ private Long userId;
+
+ /**
+ * 时间维度:day / week / month
+ */
+ private String timeDimension;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceCategoryAnalyzeResponse.java b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceCategoryAnalyzeResponse.java
new file mode 100644
index 0000000..35089d1
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceCategoryAnalyzeResponse.java
@@ -0,0 +1,33 @@
+package edu.whut.smilepicturebackend.model.vo.space.analyze;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 空间图片分类分析响应
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SpaceCategoryAnalyzeResponse implements Serializable {
+
+ /**
+ * 图片分类
+ */
+ private String category;
+
+ /**
+ * 图片数量
+ */
+ private Long count;
+
+ /**
+ * 分类图片总大小
+ */
+ private Long totalSize;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceSizeAnalyzeResponse.java b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceSizeAnalyzeResponse.java
new file mode 100644
index 0000000..2012936
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceSizeAnalyzeResponse.java
@@ -0,0 +1,28 @@
+package edu.whut.smilepicturebackend.model.vo.space.analyze;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 空间图片大小分析响应
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SpaceSizeAnalyzeResponse implements Serializable {
+
+ /**
+ * 图片大小范围
+ */
+ private String sizeRange;
+
+ /**
+ * 图片数量
+ */
+ private Long count;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceTagAnalyzeResponse.java b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceTagAnalyzeResponse.java
new file mode 100644
index 0000000..b88f481
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceTagAnalyzeResponse.java
@@ -0,0 +1,28 @@
+package edu.whut.smilepicturebackend.model.vo.space.analyze;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 空间图片标签分析响应
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SpaceTagAnalyzeResponse implements Serializable {
+
+ /**
+ * 标签名称
+ */
+ private String tag;
+
+ /**
+ * 使用次数
+ */
+ private Long count;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceUsageAnalyzeResponse.java b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceUsageAnalyzeResponse.java
new file mode 100644
index 0000000..bc086ad
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceUsageAnalyzeResponse.java
@@ -0,0 +1,44 @@
+package edu.whut.smilepicturebackend.model.vo.space.analyze;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 空间资源使用分析响应类
+ */
+@Data
+public class SpaceUsageAnalyzeResponse implements Serializable {
+
+ /**
+ * 已使用大小
+ */
+ private Long usedSize;
+
+ /**
+ * 总大小
+ */
+ private Long maxSize;
+
+ /**
+ * 空间使用比例
+ */
+ private Double sizeUsageRatio;
+
+ /**
+ * 当前图片数量
+ */
+ private Long usedCount;
+
+ /**
+ * 最大图片数量
+ */
+ private Long maxCount;
+
+ /**
+ * 图片数量占比
+ */
+ private Double countUsageRatio;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceUserAnalyzeResponse.java b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceUserAnalyzeResponse.java
new file mode 100644
index 0000000..41b5a50
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/model/vo/space/analyze/SpaceUserAnalyzeResponse.java
@@ -0,0 +1,28 @@
+package edu.whut.smilepicturebackend.model.vo.space.analyze;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 空间用户上传行为分析响应
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SpaceUserAnalyzeResponse implements Serializable {
+
+ /**
+ * 时间区间
+ */
+ private String period;
+
+ /**
+ * 上传数量
+ */
+ private Long count;
+
+ private static final long serialVersionUID = 1L;
+}
\ No newline at end of file
diff --git a/src/main/java/edu/whut/smilepicturebackend/service/SpaceAnalyzeService.java b/src/main/java/edu/whut/smilepicturebackend/service/SpaceAnalyzeService.java
new file mode 100644
index 0000000..7e5fa9f
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/service/SpaceAnalyzeService.java
@@ -0,0 +1,70 @@
+package edu.whut.smilepicturebackend.service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import edu.whut.smilepicturebackend.model.dto.space.analyze.*;
+import edu.whut.smilepicturebackend.model.entity.Space;
+import edu.whut.smilepicturebackend.model.entity.User;
+import edu.whut.smilepicturebackend.model.vo.analyze.*;
+import edu.whut.smilepicturebackend.model.vo.space.analyze.*;
+
+import java.util.List;
+
+/**
+ * @author 李鱼皮
+ * @createDate 2024-12-18 19:53:34
+ */
+public interface SpaceAnalyzeService extends IService {
+
+ /**
+ * 获取空间使用情况分析
+ *
+ * @param spaceUsageAnalyzeRequest
+ * @param loginUser
+ * @return
+ */
+ SpaceUsageAnalyzeResponse getSpaceUsageAnalyze(SpaceUsageAnalyzeRequest spaceUsageAnalyzeRequest, User loginUser);
+
+ /**
+ * 获取空间图片分类分析
+ *
+ * @param spaceCategoryAnalyzeRequest
+ * @param loginUser
+ * @return
+ */
+ List getSpaceCategoryAnalyze(SpaceCategoryAnalyzeRequest spaceCategoryAnalyzeRequest, User loginUser);
+
+ /**
+ * 获取空间图片标签分析
+ *
+ * @param spaceTagAnalyzeRequest
+ * @param loginUser
+ * @return
+ */
+ List getSpaceTagAnalyze(SpaceTagAnalyzeRequest spaceTagAnalyzeRequest, User loginUser);
+
+ /**
+ * 获取空间图片大小分析
+ *
+ * @param spaceSizeAnalyzeRequest
+ * @param loginUser
+ * @return
+ */
+ List getSpaceSizeAnalyze(SpaceSizeAnalyzeRequest spaceSizeAnalyzeRequest, User loginUser);
+
+ /**
+ * 获取空间用户上传行为分析
+ *
+ * @param spaceUserAnalyzeRequest
+ * @param loginUser
+ * @return
+ */
+ List getSpaceUserAnalyze(SpaceUserAnalyzeRequest spaceUserAnalyzeRequest, User loginUser);
+
+ /**
+ * 空间使用排行分析(仅管理员)
+ *
+ * @param spaceRankAnalyzeRequest
+ * @param loginUser
+ * @return
+ */
+ List getSpaceRankAnalyze(SpaceRankAnalyzeRequest spaceRankAnalyzeRequest, User loginUser);
+}
diff --git a/src/main/java/edu/whut/smilepicturebackend/service/impl/SpaceAnalyzeServiceImpl.java b/src/main/java/edu/whut/smilepicturebackend/service/impl/SpaceAnalyzeServiceImpl.java
new file mode 100644
index 0000000..b6c5cf7
--- /dev/null
+++ b/src/main/java/edu/whut/smilepicturebackend/service/impl/SpaceAnalyzeServiceImpl.java
@@ -0,0 +1,310 @@
+package edu.whut.smilepicturebackend.service.impl;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.ObjUtil;
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import edu.whut.smilepicturebackend.exception.BusinessException;
+import edu.whut.smilepicturebackend.exception.ErrorCode;
+import edu.whut.smilepicturebackend.exception.ThrowUtils;
+import edu.whut.smilepicturebackend.mapper.SpaceMapper;
+import edu.whut.smilepicturebackend.model.dto.space.analyze.*;
+import edu.whut.smilepicturebackend.model.entity.Picture;
+import edu.whut.smilepicturebackend.model.entity.Space;
+import edu.whut.smilepicturebackend.model.entity.User;
+import edu.whut.smilepicturebackend.model.vo.analyze.*;
+import edu.whut.smilepicturebackend.model.vo.space.analyze.*;
+import edu.whut.smilepicturebackend.service.PictureService;
+import edu.whut.smilepicturebackend.service.SpaceAnalyzeService;
+import edu.whut.smilepicturebackend.service.SpaceService;
+import edu.whut.smilepicturebackend.service.UserService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * @author 李鱼皮
+ * @createDate 2024-12-18 19:53:34
+ */
+@Service
+@RequiredArgsConstructor
+public class SpaceAnalyzeServiceImpl extends ServiceImpl
+ implements SpaceAnalyzeService {
+
+ private final UserService userService;
+
+ private final SpaceService spaceService;
+
+ private final PictureService pictureService;
+
+ @Override
+ public SpaceUsageAnalyzeResponse getSpaceUsageAnalyze(SpaceUsageAnalyzeRequest spaceUsageAnalyzeRequest, User loginUser) {
+ // 校验参数
+ // 全空间或公共图库,需要从 Picture 表查询
+ if (spaceUsageAnalyzeRequest.isQueryAll() || spaceUsageAnalyzeRequest.isQueryPublic()) {
+ // 权限校验,仅管理员可以访问
+ checkSpaceAnalyzeAuth(spaceUsageAnalyzeRequest, loginUser);
+ // 统计图库的使用空间
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.select("pic_size");
+ // 补充查询范围
+ fillAnalyzeQueryWrapper(spaceUsageAnalyzeRequest, queryWrapper);
+ List