Compare commits
2 Commits
9a460e2de7
...
353d8e0069
| Author | SHA1 | Date |
|---|---|---|
|
|
353d8e0069 | |
|
|
67c252d174 |
|
|
@ -3,28 +3,19 @@ package com.ruoyi.api;
|
||||||
import com.ruoyi.ai.service.IByteAssetService;
|
import com.ruoyi.ai.service.IByteAssetService;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.request.asset.DeleteAssetRequest;
|
import com.ruoyi.common.core.request.asset.*;
|
||||||
import com.ruoyi.common.core.request.asset.GetAssetRequest;
|
|
||||||
import com.ruoyi.common.core.request.asset.ListAssetsRequest;
|
|
||||||
import com.ruoyi.common.core.request.asset.UpdateAssetRequest;
|
|
||||||
import com.ruoyi.common.core.response.asset.CreateAssetResponse;
|
|
||||||
import com.ruoyi.common.core.response.asset.GetAssetResponse;
|
import com.ruoyi.common.core.response.asset.GetAssetResponse;
|
||||||
import com.ruoyi.common.core.response.asset.ListAssetsResponse;
|
import com.ruoyi.common.core.response.asset.ListAssetsResponse;
|
||||||
import com.ruoyi.common.core.response.asset.UpdateAssetResponse;
|
import com.ruoyi.common.core.response.asset.UpdateAssetResponse;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RequestPart;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 火山 - 素材管理(api.docx Assets API)。CreateAsset 先上传存储桶再调三方接口。
|
* 火山 - 素材管理(api.docx Assets API)。CreateAsset 先上传存储桶再调三方接口。
|
||||||
|
|
@ -38,15 +29,11 @@ public class ByteAssetApiController extends BaseController {
|
||||||
|
|
||||||
private final IByteAssetService byteAssetService;
|
private final IByteAssetService byteAssetService;
|
||||||
|
|
||||||
@PostMapping(value = "/createAsset", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
@PostMapping("/createAsset")
|
||||||
@ApiOperation("CreateAsset:先将文件上传至对象存储,再调用 CreateAsset")
|
@ApiOperation("CreateAsset:创建素材")
|
||||||
public AjaxResult<CreateAssetResponse> createAsset(
|
public AjaxResult<ListAssetsResponse> createAsset(@RequestBody CreateAssetRequest request) {
|
||||||
@ApiParam(value = "素材url", required = true) @RequestParam("url") String url,
|
|
||||||
@ApiParam(value = "所属素材组 id(GroupId)", required = true) @RequestParam("groupId") String groupId,
|
|
||||||
@ApiParam(value = "素材类型:Image / Video / Audio", required = true) @RequestParam("assetType") String assetType,
|
|
||||||
@ApiParam(value = "素材名称,可选") @RequestParam(value = "name", required = false) String name) {
|
|
||||||
try {
|
try {
|
||||||
return AjaxResult.success(byteAssetService.createAsset(url, groupId, assetType, name));
|
return AjaxResult.success(byteAssetService.createAsset(request));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("创建素材时发生异常", e);
|
log.error("创建素材时发生异常", e);
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,10 @@
|
||||||
package com.ruoyi.ai.service;
|
package com.ruoyi.ai.service;
|
||||||
|
|
||||||
import com.ruoyi.common.core.request.asset.DeleteAssetRequest;
|
import com.ruoyi.common.core.request.asset.*;
|
||||||
import com.ruoyi.common.core.request.asset.GetAssetRequest;
|
|
||||||
import com.ruoyi.common.core.request.asset.ListAssetsRequest;
|
|
||||||
import com.ruoyi.common.core.request.asset.UpdateAssetRequest;
|
|
||||||
import com.ruoyi.common.core.response.asset.CreateAssetResponse;
|
import com.ruoyi.common.core.response.asset.CreateAssetResponse;
|
||||||
import com.ruoyi.common.core.response.asset.GetAssetResponse;
|
import com.ruoyi.common.core.response.asset.GetAssetResponse;
|
||||||
import com.ruoyi.common.core.response.asset.ListAssetsResponse;
|
import com.ruoyi.common.core.response.asset.ListAssetsResponse;
|
||||||
import com.ruoyi.common.core.response.asset.UpdateAssetResponse;
|
import com.ruoyi.common.core.response.asset.UpdateAssetResponse;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
@ -17,7 +13,7 @@ public interface IByteAssetService {
|
||||||
/**
|
/**
|
||||||
* 先将文件上传至对象存储得到公网 URL,再调用 CreateAsset。
|
* 先将文件上传至对象存储得到公网 URL,再调用 CreateAsset。
|
||||||
*/
|
*/
|
||||||
CreateAssetResponse createAsset(String url, String groupId, String assetType, String name) throws Exception;
|
CreateAssetResponse createAsset(CreateAssetRequest request) throws Exception;
|
||||||
|
|
||||||
ListAssetsResponse listAssets(ListAssetsRequest request) throws IOException;
|
ListAssetsResponse listAssets(ListAssetsRequest request) throws IOException;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,15 +32,7 @@ public class ByteAssetService extends BaseByteApiService implements IByteAssetSe
|
||||||
private static final String ACTION_DELETE_ASSET = "DeleteAsset";
|
private static final String ACTION_DELETE_ASSET = "DeleteAsset";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CreateAssetResponse createAsset(String url, String groupId, String assetType, String name) throws Exception {
|
public CreateAssetResponse createAsset(CreateAssetRequest request) throws Exception {
|
||||||
if (StringUtils.isBlank(groupId) || StringUtils.isBlank(groupId) || StringUtils.isBlank(assetType)) {
|
|
||||||
throw new IllegalArgumentException("url、groupId、assetType 不能为空");
|
|
||||||
}
|
|
||||||
CreateAssetRequest request = new CreateAssetRequest();
|
|
||||||
request.setGroupId(groupId);
|
|
||||||
request.setUrl(url);
|
|
||||||
request.setName(name);
|
|
||||||
request.setAssetType(assetType);
|
|
||||||
request.setProjectName(getUserProject());
|
request.setProjectName(getUserProject());
|
||||||
return callApi(ACTION_CREATE_ASSET, request, CreateAssetResponse.class);
|
return callApi(ACTION_CREATE_ASSET, request, CreateAssetResponse.class);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue