|
|
@@ -0,0 +1,51 @@
|
|
|
+package vip.xiaonuo.disk.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
|
+import vip.xiaonuo.disk.domain.ResourceFootprint;
|
|
|
+import vip.xiaonuo.disk.mapper.ResourceFootprintMapper;
|
|
|
+import vip.xiaonuo.disk.mapper.ResourceStatisticMapper;
|
|
|
+import vip.xiaonuo.disk.mapper.ResourceUserFileMapper;
|
|
|
+import vip.xiaonuo.disk.service.ResourceFootprintService;
|
|
|
+import vip.xiaonuo.disk.service.ResourceStatisticService;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 资源统计分析Service接口实现类
|
|
|
+ * @author pans
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class ResourceStatisticServiceImpl extends ServiceImpl<ResourceStatisticMapper, Map<String, Object>> implements ResourceStatisticService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ResourceStatisticMapper resourceStatisticMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ ResourceUserFileMapper resourceUserFileMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> getResourceStatisticData() {
|
|
|
+
|
|
|
+ if (StpLoginUserUtil.getLoginUser().getId() == null) {
|
|
|
+ return new HashMap<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ String userId = StpLoginUserUtil.getLoginUser().getId();
|
|
|
+ Map<String, Object> result = resourceStatisticMapper.getResourceStatisticData(userId);
|
|
|
+ result.put("storageSize", resourceUserFileMapper.selectStorageSizeByUserId(userId));
|
|
|
+ Object sizeObj = result.get("TOTAL_STORAGE_SIZE");
|
|
|
+ if (sizeObj instanceof Number) {
|
|
|
+ long sizeInBytes = ((Number) sizeObj).longValue() * 1024L * 1024L;
|
|
|
+ result.put("totalStorageSize", sizeInBytes);
|
|
|
+ } else {
|
|
|
+ result.put("totalStorageSize", 0L);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|