From 020cfe90163e92e55329e5d6196ca029e15f6ecc Mon Sep 17 00:00:00 2001 From: xupei Date: Tue, 29 Jul 2025 13:12:20 +0800 Subject: [PATCH] =?UTF-8?q?TASK:design=20single=E4=B8=AD=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E4=BB=B6=E8=A1=A3=E6=9C=8D=E7=94=BB=E5=B8=83=E4=BF=9D?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/GenerateController.java | 5 ++- .../controller/SavedCollectionController.java | 5 +-- .../primary/DesignItemDetailCanvasMapper.java | 7 ++++ .../entity/DesignItemDetailCanvas.java | 17 +++++++++ .../com/ai/da/model/dto/ExportSearchDTO.java | 7 ++++ .../model/vo/DesignItemClothesDetailVO.java | 3 ++ .../da/service/DesignItemDetailService.java | 5 +++ .../ai/da/service/UserLikeGroupService.java | 2 +- .../impl/DesignItemDetailServiceImpl.java | 34 ++++++++++++++++++ .../ai/da/service/impl/DesignServiceImpl.java | 4 +++ .../impl/UserLikeGroupServiceImpl.java | 36 ++++++++++++++----- 11 files changed, 112 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/ai/da/mapper/primary/DesignItemDetailCanvasMapper.java create mode 100644 src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetailCanvas.java diff --git a/src/main/java/com/ai/da/controller/GenerateController.java b/src/main/java/com/ai/da/controller/GenerateController.java index b1699a49..759402a2 100644 --- a/src/main/java/com/ai/da/controller/GenerateController.java +++ b/src/main/java/com/ai/da/controller/GenerateController.java @@ -204,7 +204,7 @@ public class GenerateController { // @ApiOperation(value = "试用flux") // @GetMapping("/flux") - public Response flux(@RequestParam("path") String path, + public Response flux(@RequestParam(value = "path", required = false) String path, @RequestParam("type") int type, @RequestParam(value = "prompt", required = false) String prompt){ CreditsEventsEnum typeEnum = CreditsEventsEnum.RELIGHT; @@ -215,6 +215,9 @@ public class GenerateController { case 2: typeEnum = CreditsEventsEnum.IMAGE_TO_SKETCH; break; + case 3: + typeEnum = CreditsEventsEnum.PATTERN; + break; } return Response.success(generateService.flux(typeEnum, prompt, path, false)); } diff --git a/src/main/java/com/ai/da/controller/SavedCollectionController.java b/src/main/java/com/ai/da/controller/SavedCollectionController.java index 651395a7..6957f91a 100644 --- a/src/main/java/com/ai/da/controller/SavedCollectionController.java +++ b/src/main/java/com/ai/da/controller/SavedCollectionController.java @@ -178,8 +178,9 @@ public class SavedCollectionController { @ApiOperation(value = "exportSave") @PostMapping("/exportSave") - public Response exportSave(@RequestParam("file") MultipartFile file, @RequestParam("projectId") Long projectId, @RequestParam("module") String module) { - return Response.success(userLikeGroupService.exportSave(file, projectId, module)); + public Response exportSave(@RequestParam("file") MultipartFile file, @RequestParam(value = "projectId", required = false) Long projectId, + @RequestParam("module") String module, @RequestParam(value = "designItemDetailId", required = false) Long designItemDetailId) { + return Response.success(userLikeGroupService.exportSave(file, projectId, module, designItemDetailId)); } @ApiOperation(value = "exportSearch") diff --git a/src/main/java/com/ai/da/mapper/primary/DesignItemDetailCanvasMapper.java b/src/main/java/com/ai/da/mapper/primary/DesignItemDetailCanvasMapper.java new file mode 100644 index 00000000..dc04b019 --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/DesignItemDetailCanvasMapper.java @@ -0,0 +1,7 @@ +package com.ai.da.mapper.primary; + +import com.ai.da.common.config.mybatis.plus.CommonMapper; +import com.ai.da.mapper.primary.entity.DesignItemDetailCanvas; + +public interface DesignItemDetailCanvasMapper extends CommonMapper { +} diff --git a/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetailCanvas.java b/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetailCanvas.java new file mode 100644 index 00000000..1b430990 --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/entity/DesignItemDetailCanvas.java @@ -0,0 +1,17 @@ +package com.ai.da.mapper.primary.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +@TableName("t_design_item_detail_canvas") +public class DesignItemDetailCanvas extends BaseEntity{ + + private Long designItemDetailId; + + private Long exportFileId; + + +} diff --git a/src/main/java/com/ai/da/model/dto/ExportSearchDTO.java b/src/main/java/com/ai/da/model/dto/ExportSearchDTO.java index 23cdbd36..cc6b4b52 100644 --- a/src/main/java/com/ai/da/model/dto/ExportSearchDTO.java +++ b/src/main/java/com/ai/da/model/dto/ExportSearchDTO.java @@ -1,11 +1,18 @@ package com.ai.da.model.dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ApiModel("查询画布详细") public class ExportSearchDTO { // private Long userLikeGroupId; + @ApiModelProperty("画布文件id") + private Long id; + @ApiModelProperty("画布关联项目id") private Long projectId; + @ApiModelProperty("画布所属模块。canvas | deReconstruction | designItemDetail") private String module; } diff --git a/src/main/java/com/ai/da/model/vo/DesignItemClothesDetailVO.java b/src/main/java/com/ai/da/model/vo/DesignItemClothesDetailVO.java index 8612a21b..dc58145f 100644 --- a/src/main/java/com/ai/da/model/vo/DesignItemClothesDetailVO.java +++ b/src/main/java/com/ai/da/model/vo/DesignItemClothesDetailVO.java @@ -65,6 +65,9 @@ public class DesignItemClothesDetailVO { @ApiModelProperty("局部design") private PartialDesignDTO partialDesign; + @ApiModelProperty("画布文件id") + private Long canvasId; + public DesignItemClothesDetailVO() { } diff --git a/src/main/java/com/ai/da/service/DesignItemDetailService.java b/src/main/java/com/ai/da/service/DesignItemDetailService.java index 77836af0..6108130e 100644 --- a/src/main/java/com/ai/da/service/DesignItemDetailService.java +++ b/src/main/java/com/ai/da/service/DesignItemDetailService.java @@ -1,6 +1,7 @@ package com.ai.da.service; import com.ai.da.mapper.primary.entity.DesignItemDetail; +import com.ai.da.mapper.primary.entity.DesignItemDetailCanvas; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -20,4 +21,8 @@ public interface DesignItemDetailService extends IService { List selectByDesignItemId(Long designItemId); void setDesignItemDetailPriority(List designItemDetailList); + + void saveDesignItemDetailCanvas(Long designItemDetailId, Long exportFileId); + + DesignItemDetailCanvas getDIDCByDesignItemDetailId(Long designItemDetailId); } diff --git a/src/main/java/com/ai/da/service/UserLikeGroupService.java b/src/main/java/com/ai/da/service/UserLikeGroupService.java index 774ef7ae..6e4d59c4 100644 --- a/src/main/java/com/ai/da/service/UserLikeGroupService.java +++ b/src/main/java/com/ai/da/service/UserLikeGroupService.java @@ -44,7 +44,7 @@ public interface UserLikeGroupService extends IService { void updateDate(Long id,String timeZone); - Boolean exportSave(MultipartFile file, Long projectId, String module); + Boolean exportSave(MultipartFile file, Long projectId, String module, Long designItemDetailId); List toProduct(ToProductImageDTO toProductImageDTO); diff --git a/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java index e35c0ea3..f9d53d5b 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java @@ -2,8 +2,10 @@ package com.ai.da.service.impl; import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.enums.LayersPriorityEnum; +import com.ai.da.mapper.primary.DesignItemDetailCanvasMapper; import com.ai.da.mapper.primary.DesignItemDetailMapper; import com.ai.da.mapper.primary.entity.DesignItemDetail; +import com.ai.da.mapper.primary.entity.DesignItemDetailCanvas; import com.ai.da.service.DesignItemDetailService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -12,7 +14,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; import static com.ai.da.common.enums.LayersPriorityEnum.BODY; @@ -27,6 +31,8 @@ import static com.ai.da.common.enums.LayersPriorityEnum.BODY; public class DesignItemDetailServiceImpl extends ServiceImpl implements DesignItemDetailService { @Resource private DesignItemDetailMapper designItemDetailMapper; + @Resource + private DesignItemDetailCanvasMapper designItemDetailCanvasMapper; @Override @@ -96,4 +102,32 @@ public class DesignItemDetailServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); + qw.lambda().eq(DesignItemDetailCanvas::getDesignItemDetailId, designItemDetailId); + + return designItemDetailCanvasMapper.selectOne(qw); + } } diff --git a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java index f737ecd4..1fd4e3e6 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -1438,6 +1438,10 @@ public class DesignServiceImpl extends ServiceImpl impleme } String preSigned = StringUtil.isNullOrEmpty(o.getPartialDesign()) ? null : minioUtil.getPreSignedUrl(o.getPartialDesign(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME); d.setPartialDesign(new PartialDesignDTO(o.getPartialDesign(), preSigned)); + DesignItemDetailCanvas designItemDetailCanvas = designItemDetailService.getDIDCByDesignItemDetailId(o.getId()); + if (Objects.nonNull(designItemDetailCanvas)){ + d.setCanvasId(designItemDetailCanvas.getExportFileId()); + } })); //single 和 Models(模特)时候 系统元素为空 List filterDetail2 = designItemDetails.stream() diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index 3b91726c..0314b49f 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -95,7 +95,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); - qw.lambda().eq(ExportFile::getProjectId, projectId); - qw.lambda().eq(ExportFile::getModule, module); - List exportFiles = exportFileMapper.selectList(qw); + List exportFiles = null; + if (Objects.nonNull(projectId)){ + qw.lambda().eq(ExportFile::getProjectId, projectId); + qw.lambda().eq(ExportFile::getModule, module); + exportFiles = exportFileMapper.selectList(qw); + } + if (CollectionUtil.isNotEmpty(exportFiles)) { ExportFile exportFile = exportFiles.get(0); exportFile.setUrl(upload); @@ -369,6 +380,9 @@ public class UserLikeGroupServiceImpl extends ServiceImpl designItemDetailQueryWrapper = new QueryWrapper<>(); designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemId); designItemDetailQueryWrapper.lambda().ne(DesignItemDetail::getType, "Body"); - List designItemDetails = designItemDetailMapper.selectList(designItemDetailQueryWrapper); + List designItemDetails = designItemDetailService.list(designItemDetailQueryWrapper); String collect = designItemDetails.stream().map(DesignItemDetail::getType).collect(Collectors.joining(",")); Long designId = tDesignPythonOutfit.getDesignId(); @@ -604,7 +618,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl designItemDetailQueryWrapper = new QueryWrapper<>(); designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemId); designItemDetailQueryWrapper.lambda().ne(DesignItemDetail::getType, "Body"); - List designItemDetails = designItemDetailMapper.selectList(designItemDetailQueryWrapper); + List designItemDetails = designItemDetailService.list(designItemDetailQueryWrapper); String collect = designItemDetails.stream().map(DesignItemDetail::getType).collect(Collectors.joining(",")); Long designId = tDesignPythonOutfit.getDesignId(); @@ -842,7 +856,11 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); - qw.lambda().eq(ExportFile::getProjectId, exportSearchDTO.getProjectId()); + if (Objects.nonNull(exportSearchDTO.getProjectId())){ + qw.lambda().eq(ExportFile::getProjectId, exportSearchDTO.getProjectId()); + } else if (Objects.nonNull(exportSearchDTO.getId())){ + qw.lambda().eq(ExportFile::getId, exportSearchDTO.getId()); + } qw.lambda().eq(ExportFile::getModule, exportSearchDTO.getModule()); List exportFiles = exportFileMapper.selectList(qw); if (CollectionUtil.isNotEmpty(exportFiles)) { @@ -1470,7 +1488,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(DesignItemDetail::getDesignItemId, designItemId) .ne(DesignItemDetail::getType, "Body"); - return designItemDetailMapper.selectList(qw); + return designItemDetailService.list(qw); } private void saveResultAsPrettyJson(List>> result, String filePath) {