From afca76742223fbc58045eebab5329238b2254802 Mon Sep 17 00:00:00 2001 From: yys <47@gamerwa.com> Date: Wed, 1 Apr 2026 14:31:27 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20=E7=81=AB=E5=B1=B1=E7=B4=A0?= =?UTF-8?q?=E6=9D=90=E7=BB=84=E3=80=81=E7=B4=A0=E6=9D=90=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/request/asset/CreateAssetGroupRequest.java | 10 +++++++--- ...etOpenApiRequest.java => CreateAssetRequest.java} | 7 ++++--- .../core/request/asset/DeleteAssetRequest.java | 4 +++- .../core/request/asset/GetAssetGroupRequest.java | 4 +++- .../common/core/request/asset/GetAssetRequest.java | 4 +++- .../core/request/asset/ListAssetsGroupRequest.java | 8 +++++--- .../common/core/request/asset/ListAssetsRequest.java | 5 ++++- .../core/request/asset/UpdateAssetGroupRequest.java | 4 +++- .../core/request/asset/UpdateAssetRequest.java | 4 +++- .../core/request/asset/dto/ListAssetsFilter.java | 8 +++++--- .../request/asset/dto/ListAssetsGroupFilter.java | 6 ++++-- .../ruoyi/ai/service/impl/BaseByteApiService.java | 9 +++++++++ .../ruoyi/ai/service/impl/ByteAssetGroupService.java | 3 +++ .../com/ruoyi/ai/service/impl/ByteAssetService.java | 12 ++++++------ 14 files changed, 62 insertions(+), 26 deletions(-) rename web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/{CreateAssetOpenApiRequest.java => CreateAssetRequest.java} (72%) diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetGroupRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetGroupRequest.java index 0f1678f..9dda943 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetGroupRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetGroupRequest.java @@ -1,5 +1,7 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -20,9 +22,11 @@ public class CreateAssetGroupRequest { @ApiModelProperty(value = "Asset Group(素材资产组合)的描述,上限为 300 字符。") private String description; - @ApiModelProperty(value = "Asset Group(素材资产组合)的类型。可选值:AIGC:虚拟人像。当前仅支持 AIGC 类型。") - private String groupType; + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "Asset Group(素材资产组合)的类型。可选值:AIGC:虚拟人像。当前仅支持 AIGC 类型。") + private String groupType = "AIGC"; - @ApiModelProperty(value = "资源所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "资源所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetOpenApiRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetRequest.java similarity index 72% rename from web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetOpenApiRequest.java rename to web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetRequest.java index ca6ce4c..00d2a71 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetOpenApiRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/CreateAssetRequest.java @@ -14,7 +14,7 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor @ApiModel(description = "CreateAsset 第三方接口请求体") -public class CreateAssetOpenApiRequest { +public class CreateAssetRequest { @ApiModelProperty(value = "Asset(素材资产)所属的 Asset Group(素材资产组合)的 Id。", required = true) private String groupId; @@ -25,9 +25,10 @@ public class CreateAssetOpenApiRequest { @ApiModelProperty(value = "Asset(素材资产)的名称,上限为 64 个字符。仅用于 ListAssets 模糊搜索,不参与模型推理。") private String name; - @ApiModelProperty(value = "Asset(素材资产)的类型。可选值:Image、Video、Audio。", required = true) + @ApiModelProperty(allowableValues = "Image,Video,Audio", value = "Asset(素材资产)的类型。可选值:Image、Video、Audio。", required = true) private String assetType; - @ApiModelProperty(value = "资源所属的项目名称,默认 default。需与所属 Asset Group 的 ProjectName 一致。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "资源所属的项目名称,默认 default。需与所属 Asset Group 的 ProjectName 一致。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/DeleteAssetRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/DeleteAssetRequest.java index ba22a0b..2e49510 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/DeleteAssetRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/DeleteAssetRequest.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -17,6 +18,7 @@ public class DeleteAssetRequest { @ApiModelProperty(value = "需要删除的 Asset(素材资产)的 Id。", required = true) private String id; - @ApiModelProperty(value = "需要删除的 Asset(素材资产)所属的项目名称,默认 default。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "需要删除的 Asset(素材资产)所属的项目名称,默认 default。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetGroupRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetGroupRequest.java index dbf0b36..39077c0 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetGroupRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetGroupRequest.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -17,6 +18,7 @@ public class GetAssetGroupRequest { @ApiModelProperty(value = "Asset Group(素材资产组合)的 Id。", required = true) private String id; - @ApiModelProperty(value = "需要查询的 Asset Group(素材资产组合)所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "需要查询的 Asset Group(素材资产组合)所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetRequest.java index 8f3bee7..31d1453 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/GetAssetRequest.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -17,6 +18,7 @@ public class GetAssetRequest { @ApiModelProperty(value = "Asset(素材资产)的 Id。", required = true) private String id; - @ApiModelProperty(value = "需要查询的 Asset 所属的项目名称,默认 default。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "需要查询的 Asset 所属的项目名称,默认 default。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsGroupRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsGroupRequest.java index 7f50dd2..5eae86e 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsGroupRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsGroupRequest.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; import com.ruoyi.common.core.request.asset.dto.ListAssetsGroupFilter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -24,12 +25,13 @@ public class ListAssetsGroupRequest { @ApiModelProperty(value = "每页搜索结果的数量,上限为 100。", required = true) private int pageSize; - @ApiModelProperty(value = "用于排序的字段名称,默认值 createTime。支持:CreateTime(创建时间)、UpdateTime(更新时间)。") + @ApiModelProperty(allowableValues = "CreateTime,UpdateTime", value = "用于排序的字段名称,默认值 createTime。支持:CreateTime(创建时间)、UpdateTime(更新时间)。") private String sortBy; - @ApiModelProperty(value = "排序顺序,默认值 Desc。可选值:Desc(降序)、Asc(升序)。") + @ApiModelProperty(allowableValues = "Desc,Asc", value = "排序顺序,默认值 Desc。可选值:Desc(降序)、Asc(升序)。") private String sortOrder; - @ApiModelProperty(value = "资源所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "资源所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsRequest.java index dc12a5a..8e31972 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/ListAssetsRequest.java @@ -1,5 +1,7 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import com.ruoyi.common.core.request.asset.dto.ListAssetsFilter; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -30,6 +32,7 @@ public class ListAssetsRequest { @ApiModelProperty(value = "排序顺序,默认 Desc。可选:Desc、Asc。") private String sortOrder; - @ApiModelProperty(value = "资源所属的项目名称,默认 default。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "资源所属的项目名称,默认 default。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetGroupRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetGroupRequest.java index c5c69cc..4256997 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetGroupRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetGroupRequest.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -23,6 +24,7 @@ public class UpdateAssetGroupRequest { @ApiModelProperty(value = "需要更新的 Asset Group(素材资产组合)的新描述,上限为 300 字符。") private String description; - @ApiModelProperty(value = "需要更新的 Asset Group(素材资产组合)所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "需要更新的 Asset Group(素材资产组合)所属的项目名称,默认值为 default。若资源不在默认项目中,需填写正确的项目名称。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetRequest.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetRequest.java index 75aad0c..ee42a87 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetRequest.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/UpdateAssetRequest.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -20,6 +21,7 @@ public class UpdateAssetRequest { @ApiModelProperty(value = "需要更新的 Asset(素材资产)的新名称,上限为 64 个字符。") private String name; - @ApiModelProperty(value = "需要更新的 Asset(素材资产)所属的项目名称,默认 default。") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "需要更新的 Asset(素材资产)所属的项目名称,默认 default。") private String projectName; } diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsFilter.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsFilter.java index 820f223..16426ce 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsFilter.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsFilter.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset.dto; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -19,10 +20,11 @@ public class ListAssetsFilter { @ApiModelProperty(value = "Asset(素材资产)所属的 Asset Group(素材资产组合)的 Id 列表。") private List groupIds; - @ApiModelProperty(value = "Asset Group(素材资产组合)的类型。可选值:AIGC:虚拟人像。", required = true) - private String groupType; + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "Asset Group(素材资产组合)的类型。可选值:AIGC:虚拟人像。", required = true) + private String groupType = "AIGC"; - @ApiModelProperty(value = "任务状态列表:Active(已处理完毕)、Processing(预处理中)、Failed(处理失败)。") + @ApiModelProperty(allowableValues = "Active,Processing,Failed", value = "任务状态列表:Active(已处理完毕)、Processing(预处理中)、Failed(处理失败)。") private List statuses; @ApiModelProperty(value = "Asset(素材资产)的名称,上限为 64 个字符(模糊搜索)。") diff --git a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsGroupFilter.java b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsGroupFilter.java index 66368bd..dce8703 100644 --- a/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsGroupFilter.java +++ b/web-api/ruoyi-common/src/main/java/com/ruoyi/common/core/request/asset/dto/ListAssetsGroupFilter.java @@ -1,5 +1,6 @@ package com.ruoyi.common.core.request.asset.dto; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -22,6 +23,7 @@ public class ListAssetsGroupFilter { @ApiModelProperty(value = "Asset(素材资产)所属的 Asset Group(素材资产组合)的 Id 列表。") private List groupIds; - @ApiModelProperty(value = "Asset Group(素材资产组合)的类型。可选值:AIGC:虚拟人像。", required = true) - private String groupType; + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + @ApiModelProperty(hidden = true, value = "Asset Group(素材资产组合)的类型。可选值:AIGC:虚拟人像。", required = true) + private String groupType = "AIGC"; } diff --git a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/BaseByteApiService.java b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/BaseByteApiService.java index e005ec1..4b11c14 100644 --- a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/BaseByteApiService.java +++ b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/BaseByteApiService.java @@ -85,4 +85,13 @@ public class BaseByteApiService { } } } + + + /** + * 根据用户找到对应的project + */ + protected String getUserProject() { + // TODO + return "default"; + } } \ No newline at end of file diff --git a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetGroupService.java b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetGroupService.java index 48178e5..650d172 100644 --- a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetGroupService.java +++ b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetGroupService.java @@ -28,6 +28,9 @@ public class ByteAssetGroupService extends BaseByteApiService implements IByteAs @Override public CreateAssetGroupResponse createAssetGroup(CreateAssetGroupRequest request) throws IOException { + // 固定值 + request.setGroupType("AIGC"); + request.setProjectName(getUserProject()); return httpExecute(CREATE_ASSET_GROUP_URL, request, CreateAssetGroupResponse.class); } diff --git a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetService.java b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetService.java index 0f088eb..7b5497f 100644 --- a/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetService.java +++ b/web-api/ruoyi-system/src/main/java/com/ruoyi/ai/service/impl/ByteAssetService.java @@ -1,7 +1,7 @@ package com.ruoyi.ai.service.impl; import com.ruoyi.ai.service.IByteAssetService; -import com.ruoyi.common.core.request.asset.CreateAssetOpenApiRequest; +import com.ruoyi.common.core.request.asset.CreateAssetRequest; import com.ruoyi.common.core.request.asset.DeleteAssetRequest; import com.ruoyi.common.core.request.asset.GetAssetRequest; import com.ruoyi.common.core.request.asset.ListAssetsRequest; @@ -10,8 +10,8 @@ import com.ruoyi.common.core.response.asset.CreateAssetResponse; import com.ruoyi.common.core.response.asset.GetAssetResponse; import com.ruoyi.common.core.response.asset.ListAssetsResponse; import com.ruoyi.common.core.response.asset.UpdateAssetResponse; -import com.ruoyi.common.utils.AwsS3Util; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.TencentCosUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -22,7 +22,7 @@ import java.io.IOException; @RequiredArgsConstructor public class ByteAssetService extends BaseByteApiService implements IByteAssetService { - private final AwsS3Util awsS3Util; + private final TencentCosUtil tencentCosUtil; private static final String CREATE_ASSET_URL = "/open/CreateAsset"; private static final String LIST_ASSETS_URL = "/open/ListAssets"; @@ -38,13 +38,13 @@ public class ByteAssetService extends BaseByteApiService implements IByteAssetSe if (StringUtils.isBlank(groupId) || StringUtils.isBlank(assetType)) { throw new IllegalArgumentException("groupId、assetType 不能为空"); } - String publicUrl = awsS3Util.uploadMultipartFile(file, true); - CreateAssetOpenApiRequest body = new CreateAssetOpenApiRequest(); + String publicUrl = tencentCosUtil.uploadMultipartFile(file, true); + CreateAssetRequest body = new CreateAssetRequest(); body.setGroupId(groupId); body.setUrl(publicUrl); body.setName(name); body.setAssetType(assetType); - body.setProjectName(projectName); + body.setProjectName(getUserProject()); return httpExecute(CREATE_ASSET_URL, body, CreateAssetResponse.class); }