feat(video): 新增模型管理与MinIO对象存储功能

- 新增算法模型实体类VModel及对应CRUD接口和实现
- 新增MinIO对象记录实体类VMinioObject及对应CRUD接口和实现
- 实现模型下载重定向功能
- 扩展MinioService支持指定文件名上传和删除对象
- 在CommonController中增加上传后持久化MinIO对象记录逻辑
- 新增ModelController用于模型管理RESTful接口- 新增VMinioObjectController用于MinIO对象记录管理接口
- 添加相关Mapper XML配置和DAO接口
- 更新pom.xml引入必要依赖
This commit is contained in:
2025-09-29 10:37:12 +08:00
parent e4f0c65478
commit af815e00ee
16 changed files with 611 additions and 4 deletions

View File

@@ -0,0 +1,36 @@
package com.ruoyi.video.domain;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* MinIO 返回结果记录实体,对应表 v_minio_object
*/
public class VMinioObject extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long objectId;
/** MinIO 对象名Key */
private String objectName;
/** 访问URL */
private String url;
/** 原始文件名(上传时的文件名) */
private String originalName;
/** 删除标志0存在 2删除 */
private String delFlag;
public Long getObjectId() { return objectId; }
public void setObjectId(Long objectId) { this.objectId = objectId; }
public String getObjectName() { return objectName; }
public void setObjectName(String objectName) { this.objectName = objectName; }
public String getUrl() { return url; }
public void setUrl(String url) { this.url = url; }
public String getOriginalName() { return originalName; }
public void setOriginalName(String originalName) { this.originalName = originalName; }
public String getDelFlag() { return delFlag; }
public void setDelFlag(String delFlag) { this.delFlag = delFlag; }
}

View File

@@ -0,0 +1,47 @@
package com.ruoyi.video.domain;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 算法模型ONNX等记录表 v_model
*/
public class VModel extends BaseEntity {
private static final long serialVersionUID = 1L;
private Long modelId;
private String modelName;
private String version;
private String framework; // e.g., onnx
private String url; // OSS/MinIO 直链
private Long fileSize; // bytes
private String checksum; // e.g., sha256
private Integer enabled; // 1启用 0禁用
private String delFlag; // 0存在 2删除
public Long getModelId() { return modelId; }
public void setModelId(Long modelId) { this.modelId = modelId; }
public String getModelName() { return modelName; }
public void setModelName(String modelName) { this.modelName = modelName; }
public String getVersion() { return version; }
public void setVersion(String version) { this.version = version; }
public String getFramework() { return framework; }
public void setFramework(String framework) { this.framework = framework; }
public String getUrl() { return url; }
public void setUrl(String url) { this.url = url; }
public Long getFileSize() { return fileSize; }
public void setFileSize(Long fileSize) { this.fileSize = fileSize; }
public String getChecksum() { return checksum; }
public void setChecksum(String checksum) { this.checksum = checksum; }
public Integer getEnabled() { return enabled; }
public void setEnabled(Integer enabled) { this.enabled = enabled; }
public String getDelFlag() { return delFlag; }
public void setDelFlag(String delFlag) { this.delFlag = delFlag; }
}