From 3db0a949815e408c1dfead640a1d0eb72027c0af Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Mon, 16 Jun 2025 13:44:22 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=20cloud=E3=80=81posetransfer;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/DesignController.java | 12 ++++ .../ai/da/mapper/primary/CloudTaskMapper.java | 4 ++ .../da/mapper/primary/entity/CloudTask.java | 4 ++ .../com/ai/da/model/vo/ModuleChooseVO.java | 2 +- .../com/ai/da/model/vo/PoseTransferVO.java | 11 ++++ .../java/com/ai/da/service/DesignService.java | 4 ++ .../com/ai/da/service/GenerateService.java | 2 +- .../ai/da/service/impl/DesignServiceImpl.java | 45 ++++++++++----- .../da/service/impl/GenerateServiceImpl.java | 53 ++++++++++-------- .../impl/UserLikeGroupServiceImpl.java | 55 ++++++++----------- 10 files changed, 120 insertions(+), 72 deletions(-) create mode 100644 src/main/java/com/ai/da/model/vo/PoseTransferVO.java diff --git a/src/main/java/com/ai/da/controller/DesignController.java b/src/main/java/com/ai/da/controller/DesignController.java index 9ec1262c..ea13c4e5 100644 --- a/src/main/java/com/ai/da/controller/DesignController.java +++ b/src/main/java/com/ai/da/controller/DesignController.java @@ -105,6 +105,18 @@ public class DesignController { return Response.success(designService.designCloud(cloudTaskDTO)); } + @ApiOperation(value = "云生成修改任务名") + @PostMapping("/cloudTaskNameUpdate") + public Response cloudTaskNameUpdate(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) { + return Response.success(designService.cloudTaskNameUpdate(cloudTaskDTO)); + } + + @ApiOperation(value = "云生成删除任务") + @PostMapping("/cloudTaskDelete") + public Response cloudTaskDelete(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) { + return Response.success(designService.cloudTaskDelete(cloudTaskDTO)); + } + @ApiOperation(value = "云生成page") @PostMapping("/cloudPage") public Response> cloudPage(@Valid @RequestBody CloudPageDTO cloudPageDTO) { diff --git a/src/main/java/com/ai/da/mapper/primary/CloudTaskMapper.java b/src/main/java/com/ai/da/mapper/primary/CloudTaskMapper.java index c8796b82..92aa2588 100644 --- a/src/main/java/com/ai/da/mapper/primary/CloudTaskMapper.java +++ b/src/main/java/com/ai/da/mapper/primary/CloudTaskMapper.java @@ -2,6 +2,10 @@ package com.ai.da.mapper.primary; import com.ai.da.common.config.mybatis.plus.CommonMapper; import com.ai.da.mapper.primary.entity.CloudTask; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; public interface CloudTaskMapper extends CommonMapper { + @Update("UPDATE cloud_task SET completed_num = completed_num + 1, update_time = NOW() WHERE task_id = #{taskIdBatch}") + void increaseCompletedNum(@Param("taskIdBatch") String taskIdBatch); } diff --git a/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java b/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java index c366072e..8f7fd88c 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/CloudTask.java @@ -23,6 +23,8 @@ public class CloudTask implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Long id; + private String name; + private Long projectId; private Long collectionId; @@ -44,4 +46,6 @@ public class CloudTask implements Serializable { private LocalDateTime createTime; private LocalDateTime updateTime; + + private Long accountId; } \ No newline at end of file diff --git a/src/main/java/com/ai/da/model/vo/ModuleChooseVO.java b/src/main/java/com/ai/da/model/vo/ModuleChooseVO.java index ae73e6f7..9abee37f 100644 --- a/src/main/java/com/ai/da/model/vo/ModuleChooseVO.java +++ b/src/main/java/com/ai/da/model/vo/ModuleChooseVO.java @@ -31,7 +31,7 @@ public class ModuleChooseVO { private CavasModuleChooseVO canvas; private List boundingBox; - private List poseTransfer; + private PoseTransferVO poseTransfer; // private moodBoardModuleChooseVO patternMaking3D; private SketchReconstructionVO deReconstruction; diff --git a/src/main/java/com/ai/da/model/vo/PoseTransferVO.java b/src/main/java/com/ai/da/model/vo/PoseTransferVO.java new file mode 100644 index 00000000..322c9f00 --- /dev/null +++ b/src/main/java/com/ai/da/model/vo/PoseTransferVO.java @@ -0,0 +1,11 @@ +package com.ai.da.model.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class PoseTransferVO { + private List likedList; + private List list; +} diff --git a/src/main/java/com/ai/da/service/DesignService.java b/src/main/java/com/ai/da/service/DesignService.java index 1c5b742d..c6a9a892 100644 --- a/src/main/java/com/ai/da/service/DesignService.java +++ b/src/main/java/com/ai/da/service/DesignService.java @@ -128,4 +128,8 @@ public interface DesignService extends IService { CloudTaskResultVO getDesignCloudResult(DesignCloudResultQuery designCloudResultQuery); Boolean receiveDesignParams(ReceiveDesignParam receiveDesignParam); + + Boolean cloudTaskNameUpdate(CloudTaskDTO cloudTaskDTO); + + Boolean cloudTaskDelete(CloudTaskDTO cloudTaskDTO); } diff --git a/src/main/java/com/ai/da/service/GenerateService.java b/src/main/java/com/ai/da/service/GenerateService.java index 39c0699f..77217507 100644 --- a/src/main/java/com/ai/da/service/GenerateService.java +++ b/src/main/java/com/ai/da/service/GenerateService.java @@ -55,7 +55,7 @@ public interface GenerateService extends IService { PoseTransformationVO getPoseTransformationResult(String taskId); - List getPoseTransformationResultList(Long projectId); + List getPoseTransformationResultList(Long projectId, boolean like); Object disOrLikePose(Long transformedId, String likeOrDislike, Long projectId); 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 b3c4b6bd..bd74a207 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -1884,7 +1884,7 @@ public class DesignServiceImpl extends ServiceImpl impleme Long projectId = cloudTaskDTO.getProjectId(); if (null == projectId) { Project project = new Project(); - project.setName(DesignProcess.TO_PRODUCT_IMAGE.getValue()); + project.setName(DesignProcess.TO_PRODUCT_IMAGE.getValue() + "_" + cloudTaskDTO.getName()); project.setProcess(DesignProcess.TO_PRODUCT_IMAGE.name()); project.setOriginal(1); project.setAccountId(userHolder.getId()); @@ -2061,7 +2061,7 @@ public class DesignServiceImpl extends ServiceImpl impleme Long projectId = cloudTaskDTO.getProjectId(); if (null == projectId) { Project project = new Project(); - project.setName(DesignProcess.TO_PRODUCT_IMAGE.getValue()); + project.setName(DesignProcess.TO_PRODUCT_IMAGE.getValue() + "_" + cloudTaskDTO.getName()); project.setProcess(DesignProcess.TO_PRODUCT_IMAGE.name()); project.setOriginal(1); project.setAccountId(userHolder.getId()); @@ -2214,7 +2214,7 @@ public class DesignServiceImpl extends ServiceImpl impleme AuthPrincipalVo userHolder = UserContext.getUserHolder(); if (null == projectId) { Project project = new Project(); - project.setName(DesignProcess.POSE_TRANSFER.getValue()); + project.setName(DesignProcess.POSE_TRANSFER.getValue() + "_" + cloudTaskDTO.getName()); project.setProcess(DesignProcess.POSE_TRANSFER.name()); project.setOriginal(1); project.setAccountId(userHolder.getId()); @@ -2524,18 +2524,19 @@ public class DesignServiceImpl extends ServiceImpl impleme } }else { String taskId = (String) designBatchResult.get("task_id"); - QueryWrapper qw = new QueryWrapper<>(); - qw.lambda().eq(CloudTask::getTaskId, taskId); - List cloudTaskList = cloudTaskMapper.selectList(qw); - if (CollectionUtil.isNotEmpty(cloudTaskList)) { - CloudTask cloudTask = cloudTaskList.get(0); - if (cloudTask.getCompletedNum() == null) { - cloudTask.setCompletedNum(1); - }else { - cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); - } - cloudTaskMapper.updateById(cloudTask); - } +// QueryWrapper qw = new QueryWrapper<>(); +// qw.lambda().eq(CloudTask::getTaskId, taskId); +// List cloudTaskList = cloudTaskMapper.selectList(qw); +// if (CollectionUtil.isNotEmpty(cloudTaskList)) { +// CloudTask cloudTask = cloudTaskList.get(0); +// if (cloudTask.getCompletedNum() == null) { +// cloudTask.setCompletedNum(1); +// }else { +// cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); +// } +// cloudTaskMapper.updateById(cloudTask); +// } + cloudTaskMapper.increaseCompletedNum(taskId); Integer i = (Integer) progress; Map context; @@ -2688,6 +2689,8 @@ public class DesignServiceImpl extends ServiceImpl impleme // Set childProjectIdSet = projectService.getChildProjectIdSet(cloudPageDTO.getProjectId()); // childProjectIdSet.add(cloudPageDTO.getProjectId()); QueryWrapper queryWrapper = new QueryWrapper<>(); + AuthPrincipalVo userHolder = UserContext.getUserHolder(); + queryWrapper.lambda().eq(CloudTask::getAccountId, userHolder.getId()); if (null != cloudPageDTO.getProjectId()) { queryWrapper.lambda().eq(CloudTask::getProjectId, cloudPageDTO.getProjectId()); } @@ -2928,4 +2931,16 @@ public class DesignServiceImpl extends ServiceImpl impleme return Boolean.TRUE; } + @Override + public Boolean cloudTaskNameUpdate(CloudTaskDTO cloudTaskDTO) { + cloudTaskMapper.updateById(cloudTaskDTO); + return Boolean.TRUE; + } + + @Override + public Boolean cloudTaskDelete(CloudTaskDTO cloudTaskDTO) { + cloudTaskMapper.deleteById(cloudTaskDTO.getId()); + return Boolean.TRUE; + } + } \ No newline at end of file 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 5d4f185a..60ced28e 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -1219,18 +1219,24 @@ public class GenerateServiceImpl extends ServiceImpl i } } - public List getPoseTransformationResultList(Long projectId){ - List poseTransformations = poseTransformationMapper.selectList(new QueryWrapper().eq("project_id", projectId).eq("is_liked", 1)); + public List getPoseTransformationResultList(Long projectId, boolean like){ + List poseTransformations = poseTransformationMapper.selectList(new QueryWrapper().eq("project_id", projectId).eq("is_liked", like ? 1 : 0)); List vos = new ArrayList<>(); if (poseTransformations != null && poseTransformations.size() > 1){ poseTransformations.forEach(item -> { PoseTransformationVO poseTransformationVO = new PoseTransformationVO(); - poseTransformationVO.setId(item.getId()); - poseTransformationVO.setProductImage(minioUtil.getPreSignedUrl(item.getProductImage(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - poseTransformationVO.setGifUrl(minioUtil.getPreSignedUrl(item.getGifUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - poseTransformationVO.setVideoUrl(minioUtil.getPreSignedUrl(item.getVideoUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - poseTransformationVO.setFirstFrameUrl(minioUtil.getPreSignedUrl(item.getFirstFrameUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - poseTransformationVO.setIsLiked(item.getIsLiked()); + if (StringUtils.isNotBlank(item.getVideoUrl())) { + poseTransformationVO.setId(item.getId()); + poseTransformationVO.setProductImage(minioUtil.getPreSignedUrl(item.getProductImage(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + poseTransformationVO.setGifUrl(minioUtil.getPreSignedUrl(item.getGifUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + poseTransformationVO.setVideoUrl(minioUtil.getPreSignedUrl(item.getVideoUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + poseTransformationVO.setFirstFrameUrl(minioUtil.getPreSignedUrl(item.getFirstFrameUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + poseTransformationVO.setIsLiked(item.getIsLiked()); + poseTransformationVO.setStatus("Success"); + }else { + poseTransformationVO.setTaskId(item.getUniqueId()); + poseTransformationVO.setStatus("Invalid"); + } vos.add(poseTransformationVO); }); } @@ -1424,21 +1430,22 @@ public class GenerateServiceImpl extends ServiceImpl i poseTransformationMapper.updateById(poseTransformation); String taskIdBatch = poseTransformation.getTaskIdBatch(); - QueryWrapper cloudTaskQueryWrapper = new QueryWrapper<>(); - cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); - CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); - if (Objects.nonNull(cloudTask)) { - if (cloudTask.getCompletedNum() == null) { - cloudTask.setCompletedNum(1); - }else { - cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); - } - if (progress.equals("OK")) { - cloudTask.setStatus(1); - cloudTask.setCompletedNum(cloudTask.getNums()); - } - cloudTaskMapper.updateById(cloudTask); - } +// QueryWrapper cloudTaskQueryWrapper = new QueryWrapper<>(); +// cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); +// CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); +// if (Objects.nonNull(cloudTask)) { +// if (cloudTask.getCompletedNum() == null) { +// cloudTask.setCompletedNum(1); +// }else { +// cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); +// } +// if (progress.equals("OK")) { +// cloudTask.setStatus(1); +// cloudTask.setCompletedNum(cloudTask.getNums()); +// } +// cloudTaskMapper.updateById(cloudTask); +// } + cloudTaskMapper.increaseCompletedNum(taskIdBatch); String key = generateResultKey + ":" + taskId; PoseTransformationVO poseTransformationVO = new PoseTransformationVO( 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 70259c09..bc038416 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -1806,8 +1806,12 @@ public class UserLikeGroupServiceImpl extends ServiceImpl poseTransformationResultList = generateService.getPoseTransformationResultList(projectDTO.getId()); - moduleChooseVO.setPoseTransfer(poseTransformationResultList); + List likedList = generateService.getPoseTransformationResultList(projectDTO.getId(), true); + List list = generateService.getPoseTransformationResultList(projectDTO.getId(), false); + PoseTransferVO vo = new PoseTransferVO(); + vo.setLikedList(likedList); + vo.setList(list); + moduleChooseVO.setPoseTransfer(vo); }else if (module.equals(Module.patternMaking3D.name())) { QueryWrapper qw = new QueryWrapper<>(); qw.lambda().eq(ThreeDModule::getProjectId, projectDTO.getId()); @@ -2504,21 +2508,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl cloudTaskQueryWrapper = new QueryWrapper<>(); - cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); - CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); - if (Objects.nonNull(cloudTask)) { - if (cloudTask.getCompletedNum() == null) { - cloudTask.setCompletedNum(1); - }else { - cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); - } - if (progress.equals("OK")) { - cloudTask.setStatus(1); - cloudTask.setCompletedNum(cloudTask.getNums()); - } - cloudTaskMapper.updateById(cloudTask); - } + cloudTaskMapper.increaseCompletedNum(taskIdBatch); String key = toProductImageResultKey + ":" + taskId; String imageName = url.substring(url.lastIndexOf("/") + 1); @@ -2554,21 +2544,22 @@ public class UserLikeGroupServiceImpl extends ServiceImpl cloudTaskQueryWrapper = new QueryWrapper<>(); - cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); - CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); - if (Objects.nonNull(cloudTask)) { - if (cloudTask.getCompletedNum() == null) { - cloudTask.setCompletedNum(1); - }else { - cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); - } - if (progress.equals("OK")) { - cloudTask.setStatus(1); - cloudTask.setCompletedNum(cloudTask.getNums()); - } - cloudTaskMapper.updateById(cloudTask); - } +// QueryWrapper cloudTaskQueryWrapper = new QueryWrapper<>(); +// cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); +// CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); +// if (Objects.nonNull(cloudTask)) { +// if (cloudTask.getCompletedNum() == null) { +// cloudTask.setCompletedNum(1); +// }else { +// cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); +// } +// if (progress.equals("OK")) { +// cloudTask.setStatus(1); +// cloudTask.setCompletedNum(cloudTask.getNums()); +// } +// cloudTaskMapper.updateById(cloudTask); +// } + cloudTaskMapper.increaseCompletedNum(taskIdBatch); String key = relightResultKey + ":" + taskId; String imageName = url.substring(url.lastIndexOf("/") + 1);