TASK: cloud、posetransfer;

This commit is contained in:
shahaibo
2025-06-16 13:44:22 +08:00
parent fd8e6fd2e8
commit 3db0a94981
10 changed files with 120 additions and 72 deletions

View File

@@ -105,6 +105,18 @@ public class DesignController {
return Response.success(designService.designCloud(cloudTaskDTO)); return Response.success(designService.designCloud(cloudTaskDTO));
} }
@ApiOperation(value = "云生成修改任务名")
@PostMapping("/cloudTaskNameUpdate")
public Response<Boolean> cloudTaskNameUpdate(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) {
return Response.success(designService.cloudTaskNameUpdate(cloudTaskDTO));
}
@ApiOperation(value = "云生成删除任务")
@PostMapping("/cloudTaskDelete")
public Response<Boolean> cloudTaskDelete(@Valid @RequestBody CloudTaskDTO cloudTaskDTO) {
return Response.success(designService.cloudTaskDelete(cloudTaskDTO));
}
@ApiOperation(value = "云生成page") @ApiOperation(value = "云生成page")
@PostMapping("/cloudPage") @PostMapping("/cloudPage")
public Response<PageBaseResponse<CloudTaskVO>> cloudPage(@Valid @RequestBody CloudPageDTO cloudPageDTO) { public Response<PageBaseResponse<CloudTaskVO>> cloudPage(@Valid @RequestBody CloudPageDTO cloudPageDTO) {

View File

@@ -2,6 +2,10 @@ package com.ai.da.mapper.primary;
import com.ai.da.common.config.mybatis.plus.CommonMapper; import com.ai.da.common.config.mybatis.plus.CommonMapper;
import com.ai.da.mapper.primary.entity.CloudTask; 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<CloudTask> { public interface CloudTaskMapper extends CommonMapper<CloudTask> {
@Update("UPDATE cloud_task SET completed_num = completed_num + 1, update_time = NOW() WHERE task_id = #{taskIdBatch}")
void increaseCompletedNum(@Param("taskIdBatch") String taskIdBatch);
} }

View File

@@ -23,6 +23,8 @@ public class CloudTask implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
private String name;
private Long projectId; private Long projectId;
private Long collectionId; private Long collectionId;
@@ -44,4 +46,6 @@ public class CloudTask implements Serializable {
private LocalDateTime createTime; private LocalDateTime createTime;
private LocalDateTime updateTime; private LocalDateTime updateTime;
private Long accountId;
} }

View File

@@ -31,7 +31,7 @@ public class ModuleChooseVO {
private CavasModuleChooseVO canvas; private CavasModuleChooseVO canvas;
private List<CollectionSketchVO> boundingBox; private List<CollectionSketchVO> boundingBox;
private List<PoseTransformationVO> poseTransfer; private PoseTransferVO poseTransfer;
// private moodBoardModuleChooseVO patternMaking3D; // private moodBoardModuleChooseVO patternMaking3D;
private SketchReconstructionVO deReconstruction; private SketchReconstructionVO deReconstruction;

View File

@@ -0,0 +1,11 @@
package com.ai.da.model.vo;
import lombok.Data;
import java.util.List;
@Data
public class PoseTransferVO {
private List<PoseTransformationVO> likedList;
private List<PoseTransformationVO> list;
}

View File

@@ -128,4 +128,8 @@ public interface DesignService extends IService<Design> {
CloudTaskResultVO getDesignCloudResult(DesignCloudResultQuery designCloudResultQuery); CloudTaskResultVO getDesignCloudResult(DesignCloudResultQuery designCloudResultQuery);
Boolean receiveDesignParams(ReceiveDesignParam receiveDesignParam); Boolean receiveDesignParams(ReceiveDesignParam receiveDesignParam);
Boolean cloudTaskNameUpdate(CloudTaskDTO cloudTaskDTO);
Boolean cloudTaskDelete(CloudTaskDTO cloudTaskDTO);
} }

View File

@@ -55,7 +55,7 @@ public interface GenerateService extends IService<Generate> {
PoseTransformationVO getPoseTransformationResult(String taskId); PoseTransformationVO getPoseTransformationResult(String taskId);
List<PoseTransformationVO> getPoseTransformationResultList(Long projectId); List<PoseTransformationVO> getPoseTransformationResultList(Long projectId, boolean like);
Object disOrLikePose(Long transformedId, String likeOrDislike, Long projectId); Object disOrLikePose(Long transformedId, String likeOrDislike, Long projectId);

View File

@@ -1884,7 +1884,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
Long projectId = cloudTaskDTO.getProjectId(); Long projectId = cloudTaskDTO.getProjectId();
if (null == projectId) { if (null == projectId) {
Project project = new Project(); 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.setProcess(DesignProcess.TO_PRODUCT_IMAGE.name());
project.setOriginal(1); project.setOriginal(1);
project.setAccountId(userHolder.getId()); project.setAccountId(userHolder.getId());
@@ -2061,7 +2061,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
Long projectId = cloudTaskDTO.getProjectId(); Long projectId = cloudTaskDTO.getProjectId();
if (null == projectId) { if (null == projectId) {
Project project = new Project(); 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.setProcess(DesignProcess.TO_PRODUCT_IMAGE.name());
project.setOriginal(1); project.setOriginal(1);
project.setAccountId(userHolder.getId()); project.setAccountId(userHolder.getId());
@@ -2214,7 +2214,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
AuthPrincipalVo userHolder = UserContext.getUserHolder(); AuthPrincipalVo userHolder = UserContext.getUserHolder();
if (null == projectId) { if (null == projectId) {
Project project = new Project(); 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.setProcess(DesignProcess.POSE_TRANSFER.name());
project.setOriginal(1); project.setOriginal(1);
project.setAccountId(userHolder.getId()); project.setAccountId(userHolder.getId());
@@ -2524,18 +2524,19 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
} }
}else { }else {
String taskId = (String) designBatchResult.get("task_id"); String taskId = (String) designBatchResult.get("task_id");
QueryWrapper<CloudTask> qw = new QueryWrapper<>(); // QueryWrapper<CloudTask> qw = new QueryWrapper<>();
qw.lambda().eq(CloudTask::getTaskId, taskId); // qw.lambda().eq(CloudTask::getTaskId, taskId);
List<CloudTask> cloudTaskList = cloudTaskMapper.selectList(qw); // List<CloudTask> cloudTaskList = cloudTaskMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(cloudTaskList)) { // if (CollectionUtil.isNotEmpty(cloudTaskList)) {
CloudTask cloudTask = cloudTaskList.get(0); // CloudTask cloudTask = cloudTaskList.get(0);
if (cloudTask.getCompletedNum() == null) { // if (cloudTask.getCompletedNum() == null) {
cloudTask.setCompletedNum(1); // cloudTask.setCompletedNum(1);
}else { // }else {
cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); // cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1);
} // }
cloudTaskMapper.updateById(cloudTask); // cloudTaskMapper.updateById(cloudTask);
} // }
cloudTaskMapper.increaseCompletedNum(taskId);
Integer i = (Integer) progress; Integer i = (Integer) progress;
Map<String, Object> context; Map<String, Object> context;
@@ -2688,6 +2689,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
// Set<Long> childProjectIdSet = projectService.getChildProjectIdSet(cloudPageDTO.getProjectId()); // Set<Long> childProjectIdSet = projectService.getChildProjectIdSet(cloudPageDTO.getProjectId());
// childProjectIdSet.add(cloudPageDTO.getProjectId()); // childProjectIdSet.add(cloudPageDTO.getProjectId());
QueryWrapper<CloudTask> queryWrapper = new QueryWrapper<>(); QueryWrapper<CloudTask> queryWrapper = new QueryWrapper<>();
AuthPrincipalVo userHolder = UserContext.getUserHolder();
queryWrapper.lambda().eq(CloudTask::getAccountId, userHolder.getId());
if (null != cloudPageDTO.getProjectId()) { if (null != cloudPageDTO.getProjectId()) {
queryWrapper.lambda().eq(CloudTask::getProjectId, cloudPageDTO.getProjectId()); queryWrapper.lambda().eq(CloudTask::getProjectId, cloudPageDTO.getProjectId());
} }
@@ -2928,4 +2931,16 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
return Boolean.TRUE; 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;
}
} }

View File

@@ -1219,18 +1219,24 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
} }
} }
public List<PoseTransformationVO> getPoseTransformationResultList(Long projectId){ public List<PoseTransformationVO> getPoseTransformationResultList(Long projectId, boolean like){
List<PoseTransformation> poseTransformations = poseTransformationMapper.selectList(new QueryWrapper<PoseTransformation>().eq("project_id", projectId).eq("is_liked", 1)); List<PoseTransformation> poseTransformations = poseTransformationMapper.selectList(new QueryWrapper<PoseTransformation>().eq("project_id", projectId).eq("is_liked", like ? 1 : 0));
List<PoseTransformationVO> vos = new ArrayList<>(); List<PoseTransformationVO> vos = new ArrayList<>();
if (poseTransformations != null && poseTransformations.size() > 1){ if (poseTransformations != null && poseTransformations.size() > 1){
poseTransformations.forEach(item -> { poseTransformations.forEach(item -> {
PoseTransformationVO poseTransformationVO = new PoseTransformationVO(); PoseTransformationVO poseTransformationVO = new PoseTransformationVO();
poseTransformationVO.setId(item.getId()); if (StringUtils.isNotBlank(item.getVideoUrl())) {
poseTransformationVO.setProductImage(minioUtil.getPreSignedUrl(item.getProductImage(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); poseTransformationVO.setId(item.getId());
poseTransformationVO.setGifUrl(minioUtil.getPreSignedUrl(item.getGifUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); poseTransformationVO.setProductImage(minioUtil.getPreSignedUrl(item.getProductImage(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME));
poseTransformationVO.setVideoUrl(minioUtil.getPreSignedUrl(item.getVideoUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); poseTransformationVO.setGifUrl(minioUtil.getPreSignedUrl(item.getGifUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME));
poseTransformationVO.setFirstFrameUrl(minioUtil.getPreSignedUrl(item.getFirstFrameUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); poseTransformationVO.setVideoUrl(minioUtil.getPreSignedUrl(item.getVideoUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME));
poseTransformationVO.setIsLiked(item.getIsLiked()); 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); vos.add(poseTransformationVO);
}); });
} }
@@ -1424,21 +1430,22 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
poseTransformationMapper.updateById(poseTransformation); poseTransformationMapper.updateById(poseTransformation);
String taskIdBatch = poseTransformation.getTaskIdBatch(); String taskIdBatch = poseTransformation.getTaskIdBatch();
QueryWrapper<CloudTask> cloudTaskQueryWrapper = new QueryWrapper<>(); // QueryWrapper<CloudTask> cloudTaskQueryWrapper = new QueryWrapper<>();
cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); // cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch);
CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); // CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper);
if (Objects.nonNull(cloudTask)) { // if (Objects.nonNull(cloudTask)) {
if (cloudTask.getCompletedNum() == null) { // if (cloudTask.getCompletedNum() == null) {
cloudTask.setCompletedNum(1); // cloudTask.setCompletedNum(1);
}else { // }else {
cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); // cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1);
} // }
if (progress.equals("OK")) { // if (progress.equals("OK")) {
cloudTask.setStatus(1); // cloudTask.setStatus(1);
cloudTask.setCompletedNum(cloudTask.getNums()); // cloudTask.setCompletedNum(cloudTask.getNums());
} // }
cloudTaskMapper.updateById(cloudTask); // cloudTaskMapper.updateById(cloudTask);
} // }
cloudTaskMapper.increaseCompletedNum(taskIdBatch);
String key = generateResultKey + ":" + taskId; String key = generateResultKey + ":" + taskId;
PoseTransformationVO poseTransformationVO = new PoseTransformationVO( PoseTransformationVO poseTransformationVO = new PoseTransformationVO(

View File

@@ -1806,8 +1806,12 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
SketchReconstructionVO sketchReconstruction = generateService.getSketchReconstruction(projectDTO.getId()); SketchReconstructionVO sketchReconstruction = generateService.getSketchReconstruction(projectDTO.getId());
moduleChooseVO.setDeReconstruction(sketchReconstruction); moduleChooseVO.setDeReconstruction(sketchReconstruction);
}else if (module.equals(Module.poseTransfer.name())){ }else if (module.equals(Module.poseTransfer.name())){
List<PoseTransformationVO> poseTransformationResultList = generateService.getPoseTransformationResultList(projectDTO.getId()); List<PoseTransformationVO> likedList = generateService.getPoseTransformationResultList(projectDTO.getId(), true);
moduleChooseVO.setPoseTransfer(poseTransformationResultList); List<PoseTransformationVO> 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())) { }else if (module.equals(Module.patternMaking3D.name())) {
QueryWrapper<ThreeDModule> qw = new QueryWrapper<>(); QueryWrapper<ThreeDModule> qw = new QueryWrapper<>();
qw.lambda().eq(ThreeDModule::getProjectId, projectDTO.getId()); qw.lambda().eq(ThreeDModule::getProjectId, projectDTO.getId());
@@ -2504,21 +2508,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResult.setUrl(url); toProductImageResult.setUrl(url);
toProductImageResultMapper.updateById(toProductImageResult); toProductImageResultMapper.updateById(toProductImageResult);
String taskIdBatch = toProductImageResult.getTaskIdBatch(); String taskIdBatch = toProductImageResult.getTaskIdBatch();
QueryWrapper<CloudTask> cloudTaskQueryWrapper = new QueryWrapper<>(); cloudTaskMapper.increaseCompletedNum(taskIdBatch);
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);
}
String key = toProductImageResultKey + ":" + taskId; String key = toProductImageResultKey + ":" + taskId;
String imageName = url.substring(url.lastIndexOf("/") + 1); String imageName = url.substring(url.lastIndexOf("/") + 1);
@@ -2554,21 +2544,22 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResultMapper.updateById(toProductImageResult); toProductImageResultMapper.updateById(toProductImageResult);
String taskIdBatch = toProductImageResult.getTaskIdBatch(); String taskIdBatch = toProductImageResult.getTaskIdBatch();
QueryWrapper<CloudTask> cloudTaskQueryWrapper = new QueryWrapper<>(); // QueryWrapper<CloudTask> cloudTaskQueryWrapper = new QueryWrapper<>();
cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch); // cloudTaskQueryWrapper.lambda().eq(CloudTask::getTaskId, taskIdBatch);
CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper); // CloudTask cloudTask = cloudTaskMapper.selectOne(cloudTaskQueryWrapper);
if (Objects.nonNull(cloudTask)) { // if (Objects.nonNull(cloudTask)) {
if (cloudTask.getCompletedNum() == null) { // if (cloudTask.getCompletedNum() == null) {
cloudTask.setCompletedNum(1); // cloudTask.setCompletedNum(1);
}else { // }else {
cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1); // cloudTask.setCompletedNum(cloudTask.getCompletedNum() + 1);
} // }
if (progress.equals("OK")) { // if (progress.equals("OK")) {
cloudTask.setStatus(1); // cloudTask.setStatus(1);
cloudTask.setCompletedNum(cloudTask.getNums()); // cloudTask.setCompletedNum(cloudTask.getNums());
} // }
cloudTaskMapper.updateById(cloudTask); // cloudTaskMapper.updateById(cloudTask);
} // }
cloudTaskMapper.increaseCompletedNum(taskIdBatch);
String key = relightResultKey + ":" + taskId; String key = relightResultKey + ":" + taskId;
String imageName = url.substring(url.lastIndexOf("/") + 1); String imageName = url.substring(url.lastIndexOf("/") + 1);