merge into release/feature_v0.98_materialCover_20250528_2025-06-04-183420_PROD
This commit is contained in:
@@ -28,6 +28,14 @@ public interface IMaterialService {
|
||||
*/
|
||||
String upload(UploadMaterialRequest request);
|
||||
|
||||
/**
|
||||
* 上传素材(返回更多信息)
|
||||
*
|
||||
* @param request 上传请求
|
||||
* @return 结果
|
||||
*/
|
||||
Object uploadV2(UploadMaterialRequest request);
|
||||
|
||||
/**
|
||||
* 批量上传素材
|
||||
*
|
||||
|
||||
@@ -56,6 +56,13 @@ public class MaterialServiceImpl implements IMaterialService {
|
||||
return materialStoreHandler.upload(storeType, request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Material uploadV2(UploadMaterialRequest request) {
|
||||
check(request);
|
||||
MaterialStoreType storeType = graphInfoCache.getMaterialStoreType(request.getGraph());
|
||||
return materialStoreHandler.uploadV2(storeType, request);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object batchUpload(BatchUploadMaterialRequest request) {
|
||||
check(request);
|
||||
|
||||
@@ -32,6 +32,14 @@ public abstract class BaseMaterialStore {
|
||||
*/
|
||||
public abstract String upload(UploadMaterialRequest request);
|
||||
|
||||
/**
|
||||
* 上传素材
|
||||
*
|
||||
* @param request 上传请求
|
||||
* @return 结果
|
||||
*/
|
||||
public abstract Material uploadV2(UploadMaterialRequest request);
|
||||
|
||||
// /**
|
||||
// * 批量上传素材
|
||||
// *
|
||||
|
||||
@@ -7,13 +7,7 @@ import com.shuwen.groot.api.dto.material.Filters;
|
||||
import com.shuwen.groot.api.dto.material.Folder;
|
||||
import com.shuwen.groot.api.dto.material.Material;
|
||||
import com.shuwen.groot.api.dto.material.Storehouse;
|
||||
import com.shuwen.groot.api.dto.request.material.BatchUploadMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.DeleteMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.SearchMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.SimilarityMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.StatMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.UpdateMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.UploadMaterialRequest;
|
||||
import com.shuwen.groot.api.dto.request.material.*;
|
||||
import com.shuwen.groot.api.enums.EmbeddingDataType;
|
||||
import com.shuwen.groot.api.enums.MaterialStoreType;
|
||||
import com.shuwen.groot.api.enums.MaterialTaskStatus;
|
||||
@@ -69,7 +63,18 @@ public class MaterialStoreHandler {
|
||||
* @param request 上传请求
|
||||
* @return 结果
|
||||
*/
|
||||
public String upload(MaterialStoreType storeType, UploadMaterialRequest request) {
|
||||
public String upload(MaterialStoreType storeType, UploadMaterialRequest request){
|
||||
return uploadV2(storeType,request).getId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传素材(返回更多信息)
|
||||
*
|
||||
* @param storeType 存储类型
|
||||
* @param request 上传请求
|
||||
* @return 结果
|
||||
*/
|
||||
public Material uploadV2(MaterialStoreType storeType, UploadMaterialRequest request) {
|
||||
MaterialImportTask materialImportTask = new MaterialImportTask();
|
||||
materialImportTask.setName(request.getName());
|
||||
materialImportTask.setContent(request.getContent());
|
||||
@@ -81,13 +86,13 @@ public class MaterialStoreHandler {
|
||||
materialImportTask.setStoreType(storeType);
|
||||
materialImportTaskMapper.insert(materialImportTask);
|
||||
|
||||
String mediaId = storeMap.get(storeType.name().toLowerCase()).upload(request);
|
||||
Material media = storeMap.get(storeType.name().toLowerCase()).uploadV2(request);
|
||||
|
||||
materialImportTask.setMediaId(mediaId);
|
||||
materialImportTask.setMediaId(media.getId());
|
||||
materialImportTask.setStatus(MaterialTaskStatus.RUNNING);
|
||||
materialImportTaskMapper.updateById(materialImportTask);
|
||||
|
||||
return mediaId;
|
||||
return media;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -61,6 +61,7 @@ import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -147,6 +148,11 @@ public class MediaxMaterialStore extends BaseMaterialStore implements FolderSupp
|
||||
|
||||
@Override
|
||||
public String upload(UploadMaterialRequest request) {
|
||||
return uploadV2(request).getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Material uploadV2(UploadMaterialRequest request) {
|
||||
return addMedia(request);
|
||||
}
|
||||
|
||||
@@ -422,7 +428,7 @@ public class MediaxMaterialStore extends BaseMaterialStore implements FolderSupp
|
||||
}
|
||||
}
|
||||
|
||||
private String addMedia(UploadMaterialRequest req) {
|
||||
private Material addMedia(UploadMaterialRequest req) {
|
||||
AddMediaRequest request = new AddMediaRequest();
|
||||
request.setTitle(req.getName());
|
||||
request.setContent(req.getContent());
|
||||
@@ -481,7 +487,29 @@ public class MediaxMaterialStore extends BaseMaterialStore implements FolderSupp
|
||||
Result<AddMediaResponse> result = mmMediaClientService.addMedia(request, userModel, projectModel);
|
||||
checkExpression(result.isSuccess(), InternalErrorCode.MEDIAX_ERROR, result.getMsg());
|
||||
|
||||
return result.getData().getMediaId();
|
||||
String mediaId = result.getData().getMediaId();
|
||||
|
||||
Material media;
|
||||
switch (type){
|
||||
case VIDEO:
|
||||
media = new VideoMaterial();
|
||||
break;
|
||||
case IMAGE:
|
||||
media = new ImageMaterial();
|
||||
break;
|
||||
case AUDIO:
|
||||
media = new AudioMaterial();
|
||||
break;
|
||||
default:
|
||||
throw new DataBankException(InternalErrorCode.PARAMS_ERROR);
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(request, media);
|
||||
media.setCover(request.getThumbImageUrl());
|
||||
|
||||
media.setId(mediaId);
|
||||
|
||||
return media;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -66,6 +66,11 @@ public class SelfMaterialStore extends BaseMaterialStore {
|
||||
|
||||
@Override
|
||||
public String upload(UploadMaterialRequest request) {
|
||||
return uploadV2(request).getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Material uploadV2(UploadMaterialRequest request) {
|
||||
String id = UUID.randomUUID().toString();
|
||||
|
||||
// 拷贝素材到素材库地址
|
||||
@@ -158,7 +163,14 @@ public class SelfMaterialStore extends BaseMaterialStore {
|
||||
// 写入索引
|
||||
materialTextSearchHandler.add(material);
|
||||
|
||||
return id;
|
||||
if(StringUtils.isNotBlank(material.getUrl())){
|
||||
material.setUrl(gssHandler.sign(material.getUrl(),null));
|
||||
}
|
||||
if(StringUtils.isNotBlank(material.getCover())){
|
||||
material.setCover(gssHandler.sign(material.getCover(),null));
|
||||
}
|
||||
|
||||
return material;
|
||||
}
|
||||
|
||||
// @Override
|
||||
|
||||
@@ -41,6 +41,12 @@ public class MaterialController {
|
||||
return materialService.upload(request);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/upload2", produces = "application/json", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object uploadV2(@RequestBody UploadMaterialRequest request) {
|
||||
return materialService.uploadV2(request);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/batchUpload", produces = "application/json", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public Object batchUpload(@RequestBody BatchUploadMaterialRequest request) {
|
||||
|
||||
Reference in New Issue
Block a user