diff --git a/src/main/java/com/ai/da/model/dto/PoseTransformDTO.java b/src/main/java/com/ai/da/model/dto/PoseTransformDTO.java index dbe44803..cef61e95 100644 --- a/src/main/java/com/ai/da/model/dto/PoseTransformDTO.java +++ b/src/main/java/com/ai/da/model/dto/PoseTransformDTO.java @@ -21,4 +21,6 @@ public class PoseTransformDTO { private Integer poseId; private String modelName; + + private Long userLikeSortId; } diff --git a/src/main/java/com/ai/da/model/dto/ProductImageLikeDTO.java b/src/main/java/com/ai/da/model/dto/ProductImageLikeDTO.java index a88f8df5..1360222a 100644 --- a/src/main/java/com/ai/da/model/dto/ProductImageLikeDTO.java +++ b/src/main/java/com/ai/da/model/dto/ProductImageLikeDTO.java @@ -1,10 +1,14 @@ package com.ai.da.model.dto; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.List; @Data +@NoArgsConstructor +@AllArgsConstructor public class ProductImageLikeDTO { private List toProductImageResultId; private Long projectId; diff --git a/src/main/java/com/ai/da/model/dto/ToProductImageDTO.java b/src/main/java/com/ai/da/model/dto/ToProductImageDTO.java index 8a3e4d68..810f8452 100644 --- a/src/main/java/com/ai/da/model/dto/ToProductImageDTO.java +++ b/src/main/java/com/ai/da/model/dto/ToProductImageDTO.java @@ -18,4 +18,6 @@ public class ToProductImageDTO { private BigDecimal imageStrengthMax; private String modelName; private String ageGroup; + + private Long userLikeSortId; } 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 afc66e9a..6db74aed 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -1161,7 +1161,8 @@ public class GenerateServiceImpl extends ServiceImpl i poseTransformation.setIsLiked((byte)1); poseTransformation.setCreateTime(LocalDateTime.now()); poseTransformationMapper.insert(poseTransformation); - + // 满足条件下添加到like + addPoseTransferLike(poseTransformDTO, poseTransformation.getId()); if (flag){ // 6、添加预扣除积分到redis creditsService.addRecordToCreditsDeduction(accountId, taskId, creditsEventsEnum); @@ -1172,6 +1173,14 @@ public class GenerateServiceImpl extends ServiceImpl i throw new BusinessException("pose transformation error", ResultEnum.ERROR.getCode()); } + private void addPoseTransferLike(PoseTransformDTO poseTransformDTO, Long poseTransformationId){ + if (Objects.nonNull(poseTransformDTO.getUserLikeSortId()) + && !poseTransformDTO.getUserLikeSortId().equals(0L)){ + disOrLikePose(poseTransformationId, "like", + poseTransformDTO.getProjectId(), poseTransformDTO.getUserLikeSortId()); + } + } + @Resource private PoseTransformationMapper poseTransformationMapper; @Resource @@ -1215,15 +1224,12 @@ public class GenerateServiceImpl extends ServiceImpl i ArrayList poseTransformationVOS = new ArrayList<>(); for (String taskId : taskIdList){ String type = resolveModelType(taskId, CreditsEventsEnum.POSE_TRANSFORMATION.getValue()); - if (type.equals("wx")){ - poseTransformationVOS.add(getAnimateResult(taskId)); - } + String key = generateResultKey + ":" + taskId; String resultJson = redisUtil.getFromString(key); - if (!StringUtil.isNullOrEmpty(resultJson)){ PoseTransformationVO poseTransformationVO = new Gson().fromJson(redisUtil.getFromString(key), PoseTransformationVO.class); - if (poseTransformationVO.getStatus().equals("Success")){ + if (poseTransformationVO.getStatus().equals("Success") && !type.equals("wx")){ // 处理各种URL processUrl(poseTransformationVO.getGifUrl(), url -> poseTransformationVO.setGifUrl(minioUtil.getPreSignedUrl(url, CommonConstant.MINIO_IMAGE_EXPIRE_TIME))); @@ -1234,7 +1240,9 @@ public class GenerateServiceImpl extends ServiceImpl i } poseTransformationVO.setResultType(CollectionType.POSE_TRANSFORM.getValue()); poseTransformationVOS.add(poseTransformationVO); - }else { + } else if(type.equals("wx")){ + poseTransformationVOS.add(getAnimateResult(taskId)); + } else { poseTransformationVOS.add(new PoseTransformationVO(taskId, "Executing")); } } @@ -1920,6 +1928,9 @@ public class GenerateServiceImpl extends ServiceImpl i poseTransformationVO.setStatus("Fail"); } poseTransformationVO.setTaskId(taskId); + // 保存数据到redis + String key = generateResultKey + ":" + taskId; + redisUtil.addToString(key, new Gson().toJson(poseTransformationVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME); return 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 d1a1fc3c..9f92680b 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -478,7 +478,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl