From 619d0e817fb72d637c41cfb296b3d7ec61a6c9e6 Mon Sep 17 00:00:00 2001 From: xupei Date: Tue, 25 Mar 2025 14:37:38 +0800 Subject: [PATCH] =?UTF-8?q?sketch=E6=8B=BC=E8=B4=B4=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=94=BB=E5=B8=83=E8=B5=B0=E7=BB=9F=E4=B8=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/GenerateController.java | 11 +--- .../primary/entity/SketchReconstruction.java | 2 - .../da/model/vo/SketchReconstructionVO.java | 2 - .../com/ai/da/service/GenerateService.java | 2 - .../da/service/impl/GenerateServiceImpl.java | 61 +++---------------- 5 files changed, 9 insertions(+), 69 deletions(-) diff --git a/src/main/java/com/ai/da/controller/GenerateController.java b/src/main/java/com/ai/da/controller/GenerateController.java index 8dbd4478..cb8723f0 100644 --- a/src/main/java/com/ai/da/controller/GenerateController.java +++ b/src/main/java/com/ai/da/controller/GenerateController.java @@ -124,15 +124,8 @@ public class GenerateController { return Response.success(generateResultVO); } - @ApiOperation(value = "拼贴图画布保存") - @GetMapping("/saveReconCanvas") - public Response sketchReconstructionSave(@RequestParam("file") MultipartFile file, @RequestParam("projectId") Long projectId){ - generateService.sketchReconstructionSave(file, projectId); - return Response.success("success"); - } - - @ApiOperation(value = "获取拼贴图画布") - @GetMapping("/getReconCanvas") + @ApiOperation(value = "获取拼贴图最后一次生成结果") + @GetMapping("/getReconLastResult") public Response getSketchReconstruction(@RequestParam("projectId") Long projectId){ SketchReconstructionVO sketchReconstruction = generateService.getSketchReconstruction(projectId); return Response.success(sketchReconstruction); diff --git a/src/main/java/com/ai/da/mapper/primary/entity/SketchReconstruction.java b/src/main/java/com/ai/da/mapper/primary/entity/SketchReconstruction.java index 3ba957a3..d4b124a1 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/SketchReconstruction.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/SketchReconstruction.java @@ -15,6 +15,4 @@ public class SketchReconstruction extends BaseEntity{ private Long generateDetailId; - private String canvasUrl; - } diff --git a/src/main/java/com/ai/da/model/vo/SketchReconstructionVO.java b/src/main/java/com/ai/da/model/vo/SketchReconstructionVO.java index 047d2d43..43c13acb 100644 --- a/src/main/java/com/ai/da/model/vo/SketchReconstructionVO.java +++ b/src/main/java/com/ai/da/model/vo/SketchReconstructionVO.java @@ -6,8 +6,6 @@ import lombok.Data; @Data public class SketchReconstructionVO { - private JSONObject canvasFile; - private String collageSketchUrl; private boolean isLiked; diff --git a/src/main/java/com/ai/da/service/GenerateService.java b/src/main/java/com/ai/da/service/GenerateService.java index f86f70a0..597a79d1 100644 --- a/src/main/java/com/ai/da/service/GenerateService.java +++ b/src/main/java/com/ai/da/service/GenerateService.java @@ -56,7 +56,5 @@ public interface GenerateService extends IService { GenerateResultVO sketchReconstructionGenerate(SketchReconstructionDTO sketchReconstructionDTO); - String sketchReconstructionSave(MultipartFile multipartFile, Long projectId); - SketchReconstructionVO getSketchReconstruction(Long projectId); } diff --git a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java index 4750cd98..1766dc05 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -1123,68 +1123,21 @@ public class GenerateServiceImpl extends ServiceImpl i return generateResultVO; } - public String sketchReconstructionSave(MultipartFile multipartFile, Long projectId){ - Long accountId = UserContext.getUserHolder().getId(); - // 元素都在画布上,不用额外保存 - String object = accountId + "/CollageSketchFile/" + projectId; - String canvasFilePath = minioUtil.upload("aida-users", object, multipartFile,null); - - // 将画布文件上传到minio,地址保存到project表中 - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("project_id", projectId).isNotNull("canvas_url").orderByDesc("id"); - SketchReconstruction sketchReconstruction = sketchReconstructionMapper.selectOne(qw); - if (Objects.isNull(sketchReconstruction)){ - sketchReconstruction = new SketchReconstruction(); - sketchReconstruction.setProjectId(projectId); - sketchReconstruction.setCanvasUrl(canvasFilePath); - sketchReconstruction.setCreateTime(LocalDateTime.now()); - sketchReconstructionMapper.insert(sketchReconstruction); - }else if (StringUtil.isNullOrEmpty(sketchReconstruction.getCanvasUrl())){ - sketchReconstruction.setCanvasUrl(canvasFilePath); - sketchReconstructionMapper.updateById(sketchReconstruction); - } - - // 需要返回哪些信息呢? - return null; - } - public SketchReconstructionVO getSketchReconstruction(Long projectId){ QueryWrapper qw = new QueryWrapper<>(); qw.eq("project_id", projectId); SketchReconstruction sketchReconstruction = sketchReconstructionMapper.selectOne(qw); - if (Objects.isNull(sketchReconstruction) || StringUtil.isNullOrEmpty(sketchReconstruction.getCanvasUrl())){ + if (Objects.isNull(sketchReconstruction)){ return null; } - try { - InputStream download = minioUtil.download(sketchReconstruction.getCanvasUrl()); - String convert = convert(download); - JSONObject jsonObject = JSONObject.parseObject(convert); - JSONArray objects = jsonObject.getJSONArray("objects"); - for (int i = 0; i < objects.size(); i++) { - JSONObject jsonObject1 = objects.getJSONObject(i); - String type = jsonObject1.getString("type"); - if (type.equals("image")) { - String minioUrl = jsonObject1.getString("minioUrl"); - jsonObject1.put("src", minioUtil.getPreSignedUrl(minioUrl, 24 * 60)); - } - objects.set(i, jsonObject1); - } - jsonObject.put("objects", objects); - log.info(String.valueOf(jsonObject)); - - // 除返回jsonObject之外,还要返回最后一次生成的线稿图以及like状态 - SketchReconstructionVO vo = new SketchReconstructionVO(); - vo.setCanvasFile(jsonObject); - if (Objects.nonNull(sketchReconstruction.getGenerateDetailId())){ - GenerateDetail generateDetail = generateDetailMapper.selectById(sketchReconstruction.getGenerateDetailId()); - vo.setCollageSketchUrl(minioUtil.getPreSignedUrl(generateDetail.getUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - vo.setLiked(generateDetail.getIsLike().equals((byte)1)); - } - return vo; - }catch (Exception e){ - return null; + SketchReconstructionVO vo = new SketchReconstructionVO(); + if (Objects.nonNull(sketchReconstruction.getGenerateDetailId())){ + GenerateDetail generateDetail = generateDetailMapper.selectById(sketchReconstruction.getGenerateDetailId()); + vo.setCollageSketchUrl(minioUtil.getPreSignedUrl(generateDetail.getUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + vo.setLiked(generateDetail.getIsLike().equals((byte)1)); } + return vo; } }