fix:数据存储管理

This commit is contained in:
2026-03-17 15:43:16 +08:00
parent d07693dd8b
commit e5a107c1df
6 changed files with 24 additions and 23 deletions

View File

@@ -1,6 +1,7 @@
package com.sdm.common.entity.resp;
import com.baomidou.mybatisplus.annotation.TableField;
import com.sdm.common.entity.req.data.TagReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -39,4 +40,7 @@ public class BaseResp {
private String disciplineDictName;
// ----------------------------------------------------------------
@Schema(description = "标签信息")
private TagReq tagReq;
}

View File

@@ -4,7 +4,6 @@ import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.sdm.common.entity.req.data.TagReq;
import com.sdm.common.entity.resp.BaseResp;
import com.sdm.common.entity.resp.project.SimulationRunResp;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -150,8 +149,6 @@ public class FileMetadataInfoResp extends BaseResp implements Serializable {
private String runId;
private TagReq tagReq;
@Schema(description= "流程模板id")
private String flowTemplate;

View File

@@ -1,7 +1,6 @@
package com.sdm.common.entity.resp.data;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdm.common.entity.req.data.TagReq;
import com.sdm.common.entity.resp.BaseResp;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -39,7 +38,4 @@ public class SimulationTaskResultCurveResp extends BaseResp {
@Schema(description = "排序号")
private Integer sortOrder;
@Schema(description = "标签信息")
private TagReq tagReq;
}

View File

@@ -1,8 +1,6 @@
package com.sdm.data.model.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
import com.sdm.common.entity.req.data.TagReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -25,10 +23,6 @@ public class FileMetadataChildrenDTO extends FileMetadataInfoResp {
@Schema(description = "总名称去除projectNode/前缀的bucketName")
private String totalName;
@Schema(description = "标签信息")
private TagReq tagReq;
@Schema(description = "节点编码,只有列表展示使用")
private String nodeCode;
}

View File

@@ -7,6 +7,7 @@ import com.sdm.common.entity.req.system.DictTagReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
@@ -56,7 +57,7 @@ public class QueryBigFileReq extends BaseReq {
* 文件大小
*/
@Schema(description = "文件大小")
private Long fileSize;
private BigDecimal fileSize;
/**
* 文件大小单位

View File

@@ -42,6 +42,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Function;
@@ -504,25 +505,33 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
* @param unit 文件大小单位 (B, KB, MB, GB, TB)
* @return 字节大小
*/
private Long convertToBytes(Long size, String unit) {
private Long convertToBytes(BigDecimal size, String unit) {
if (size == null || unit == null) {
return null;
}
BigDecimal bytes;
switch (unit.toUpperCase()) {
case "B":
return size;
bytes = size;
break;
case "KB":
return size * 1024L;
bytes = size.multiply(new BigDecimal("1024"));
break;
case "MB":
return size * 1024L * 1024L;
bytes = size.multiply(new BigDecimal("1048576"));
break;
case "GB":
return size * 1024L * 1024L * 1024L;
bytes = size.multiply(new BigDecimal("1073741824"));
break;
case "TB":
return size * 1024L * 1024L * 1024L * 1024L;
bytes = size.multiply(new BigDecimal("1099511627776"));
break;
default:
return size; // 默认认为是字节
bytes = size;
}
return bytes.longValue();
}
/**
@@ -638,7 +647,7 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
// 根据配额和已使用量设置状态
if (quota.getQuotaValue() != null && quota.getUsedValue() != null) {
// 将配额值转换为与已使用值相同的单位(字节)进行比较
long quotaInBytes = convertToBytes(quota.getQuotaValue(), quota.getQuotaUnit());
long quotaInBytes = convertToBytes((BigDecimal.valueOf(quota.getQuotaValue())), quota.getQuotaUnit());
if (quotaInBytes <= quota.getUsedValue()) {
quota.setStatus("EXCEED");
} else if (quotaInBytes * 0.8 <= quota.getUsedValue()) {
@@ -732,7 +741,7 @@ public class DataStorageAnalysisImpl implements DataStorageAnalysis {
// 根据配额和已使用量设置状态
if (quota.getQuotaValue() != null && quota.getUsedValue() != null) {
// 将配额值转换为与已使用值相同的单位(字节)进行比较
long quotaInBytes = convertToBytes(quota.getQuotaValue(), quota.getQuotaUnit());
long quotaInBytes = convertToBytes(BigDecimal.valueOf(quota.getQuotaValue()), quota.getQuotaUnit());
if (quotaInBytes <= quota.getUsedValue()) {
quota.setStatus("EXCEED");
}