diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/MirrorManagerController.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/MirrorManagerController.java
index 0ebf510..d55a5a2 100644
--- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/MirrorManagerController.java
+++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/MirrorManagerController.java
@@ -9,6 +9,7 @@ import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -26,6 +27,7 @@ public class MirrorManagerController extends BaseController {
@Resource
private MirrorManagerService aiMirrorManagerService;
+
/**
* 查询镜像管理列表
*/
@@ -65,7 +67,7 @@ public class MirrorManagerController extends BaseController {
* 修改镜像管理
*/
@RequiresPermissions("mirror:manager:edit")
- @PutMapping("/edit")
+ @PostMapping("/edit")
@SysLog(title = "镜像管理", businessType = OperaType.UPDATE, logType = 0, module = "镜像管理", details = "导出镜像管理列表")
public AjaxResult edit(@RequestBody MirrorManagerEntity aiMirrorManager) {
return aiMirrorManagerService.updateAiMirrorManager(aiMirrorManager);
@@ -80,4 +82,18 @@ public class MirrorManagerController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) {
return aiMirrorManagerService.deleteAiMirrorManagerByIds(ids);
}
+
+
+ /**
+ * 文件上传
+ */
+ @RequiresPermissions("mirror:manager:uploadFile")
+ @PostMapping("/uploadFile")
+ @SysLog(title = "模型管理", businessType = OperaType.DELETE, logType = 0, module = "模型管理", details = "导出模型管理列表")
+ public AjaxResult uploadFile(@RequestParam("file") MultipartFile file,
+ @RequestParam("chunk") int chunk,
+ @RequestParam("totalChunks") int totalChunks,
+ @RequestParam("fileName") String fileName) {
+ return aiMirrorManagerService.uploadFile(file, chunk, totalChunks, fileName);
+ }
}
diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/ModelManagerController.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/ModelManagerController.java
index b7df134..80b79d2 100644
--- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/ModelManagerController.java
+++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/controller/ModelManagerController.java
@@ -43,6 +43,16 @@ public class ModelManagerController extends BaseController {
}
+
+ /**
+ * 查询模型管理列表
+ */
+ @RequiresPermissions("model:manager:list")
+ @GetMapping("/listAll")
+ public AjaxResult listAll(ModelManagerEntity aiModelManager) {
+ return AjaxResult.success(aiModelManagerService.selectAiModelManagerList(aiModelManager));
+ }
+
/**
* 获取模型管理详细信息
*/
@@ -92,7 +102,7 @@ public class ModelManagerController extends BaseController {
@RequestParam("chunk") int chunk,
@RequestParam("totalChunks") int totalChunks,
@RequestParam("fileName") String fileName) {
- return aiModelManagerService.uploadFile(file, chunk, totalChunks,fileName);
+ return aiModelManagerService.uploadFile(file, chunk, totalChunks, fileName);
}
diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/MirrorManagerEntity.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/MirrorManagerEntity.java
index e06ee99..c8f276c 100644
--- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/MirrorManagerEntity.java
+++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/domain/MirrorManagerEntity.java
@@ -37,7 +37,7 @@ public class MirrorManagerEntity extends BaseEntity
private String mirrorVersion;
/** 所属模型 */
- private String ownModel;
+ private Long ownModel;
/** 运行环境 */
private String runEnvironment;
diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/MirrorManagerServiceImpl.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/MirrorManagerServiceImpl.java
index 911d9c1..6c85932 100644
--- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/MirrorManagerServiceImpl.java
+++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/Impl/MirrorManagerServiceImpl.java
@@ -1,12 +1,16 @@
package com.bonus.ai.service.Impl;
+import com.bonus.ai.domain.DataSetBasicFileEntity;
import com.bonus.ai.domain.MirrorManagerEntity;
import com.bonus.ai.mapper.MirrorManagerMapper;
import com.bonus.ai.service.MirrorManagerService;
+import com.bonus.ai.utils.MinioUtil;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.web.domain.AjaxResult;
+import com.bonus.common.security.utils.SecurityUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.List;
@@ -21,6 +25,8 @@ import java.util.List;
public class MirrorManagerServiceImpl implements MirrorManagerService {
@Resource
private MirrorManagerMapper aiMirrorManagerMapper;
+ @Resource
+ private MinioUtil minioUtil;
/**
* 查询镜像管理
@@ -62,6 +68,7 @@ public class MirrorManagerServiceImpl implements MirrorManagerService {
@Override
public AjaxResult insertAiMirrorManager(MirrorManagerEntity aiMirrorManager) {
aiMirrorManager.setCreateTime(DateUtils.getNowDate());
+ aiMirrorManager.setCreateBy(SecurityUtils.getUserId().toString());
try {
int rows = aiMirrorManagerMapper.insertAiMirrorManager(aiMirrorManager);
return rows > 0 ? AjaxResult.success() : AjaxResult.error();
@@ -103,4 +110,29 @@ public class MirrorManagerServiceImpl implements MirrorManagerService {
}
}
+ /**
+ * 文件上传
+ *
+ * @param file
+ * @param chunk
+ * @param totalChunks
+ * @param fileName
+ */
+ @Override
+ public AjaxResult uploadFile(MultipartFile file, int chunk, int totalChunks, String fileName) {
+ try {
+ // 使用唯一路径保存分片到 MinIO
+ String objectName = SecurityUtils.getUserId().toString() + "/temp/" + fileName + "/chunk_" + chunk;
+ minioUtil.uploadFile(file, objectName);
+ // 检查是否是最后一个分片,若是则合并
+ if (chunk == totalChunks) {
+ DataSetBasicFileEntity entity = minioUtil.mergeChunksWithMultithreading(fileName, totalChunks, minioUtil.joinPath(SecurityUtils.getUserId().toString(), "mirror/"));
+ return AjaxResult.success(entity);
+ }
+ return AjaxResult.success();
+ } catch (Exception e) {
+ return AjaxResult.error();
+ }
+ }
+
}
diff --git a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/MirrorManagerService.java b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/MirrorManagerService.java
index 0b45905..c3e527b 100644
--- a/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/MirrorManagerService.java
+++ b/bonus-modules/bonus-ai/src/main/java/com/bonus/ai/service/MirrorManagerService.java
@@ -2,6 +2,7 @@ package com.bonus.ai.service;
import com.bonus.ai.domain.MirrorManagerEntity;
import com.bonus.common.core.web.domain.AjaxResult;
+import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -52,5 +53,8 @@ public interface MirrorManagerService
* @return 结果
*/
public AjaxResult deleteAiMirrorManagerByIds(Long[] ids);
-
+ /**
+ * 文件上传
+ */
+ AjaxResult uploadFile(MultipartFile file, int chunk, int totalChunks, String fileName);
}
diff --git a/bonus-modules/bonus-ai/src/main/resources/mapper/MirrorManagerMapper.xml b/bonus-modules/bonus-ai/src/main/resources/mapper/MirrorManagerMapper.xml
index a953770..96de041 100644
--- a/bonus-modules/bonus-ai/src/main/resources/mapper/MirrorManagerMapper.xml
+++ b/bonus-modules/bonus-ai/src/main/resources/mapper/MirrorManagerMapper.xml
@@ -27,51 +27,52 @@
- select id,
- create_by,
- con_manner,
- interface_document,
- document_path,
- mirror_name,
- mirror_version,
- own_model,
- run_environment,
- model_frame,
- language,
- mirror_path,
- remark,
- create_time,
- update_time,
- is_active,
- datasetId,
- modelFileName,
- manualFileName
- from ai_mirror_manager
+ select am.id,
+ am.create_by,
+ am.con_manner,
+ am.interface_document,
+ am.document_path,
+ am.mirror_name,
+ am.mirror_version,
+ am.own_model,
+ am.run_environment,
+ am.model_frame,
+ am.language,
+ am.mirror_path,
+ am.remark,
+ am.create_time,
+ am.update_time,
+ am.is_active,
+ am.modelFileName,
+ am.manualFileName,
+ CONCAT(amm.model_name, ' - ', amm.model_version) AS datasetId
+ from ai_mirror_manager am
+ LEFT JOIN ai_model_manager amm ON amm.id = am.own_model