1、design流程中使用to product、relight、pose transfer默认加到like

2、万象的pose transfer结果存到redis
This commit is contained in:
2025-07-04 12:02:05 +08:00
parent e67acc4319
commit d76a9e6afd
5 changed files with 46 additions and 12 deletions

View File

@@ -1161,7 +1161,8 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> 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<GenerateMapper, Generate> 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<GenerateMapper, Generate> i
ArrayList<PoseTransformationVO> 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<GenerateMapper, Generate> 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<GenerateMapper, Generate> 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;
}

View File

@@ -478,7 +478,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResult.setCreateTime(LocalDateTime.now());
toProductImageResult.setToProductImageRecordId(toProductImageRecord.getId());
// toProductImageResult.setUrl(productImageUrl);
toProductImageResult.setIsLike(1);
toProductImageResult.setIsLike(0);
toProductImageResult.setTaskId(taskId);
toProductImageResult.setProjectId(projectId);
if (userLikeGroupId != null) {
@@ -488,6 +488,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResultMapper.insert(toProductImageResult);
// toProductImageResult.setUrl(minioUtil.getPresignedUrl(toProductImageResult.getUrl(), 24 * 60));
result.add(toProductImageResult);
// 满足条件情况下默认添加到like
addToProductLike(toProductImageDTO, toProductImageResult.getId());
}else {
if (StringUtils.isEmpty(prompt)) {
sb.append(",high quality clothing details,8K realistic,HDR");
@@ -517,7 +519,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResult.setCreateTime(LocalDateTime.now());
toProductImageResult.setToProductImageRecordId(toProductImageRecord.getId());
// toProductImageResult.setUrl(productImageUrl);
toProductImageResult.setIsLike(1);
toProductImageResult.setIsLike(0);
toProductImageResult.setTaskId(taskId);
toProductImageResult.setProjectId(projectId);
if (userLikeGroupId != null) {
@@ -527,6 +529,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResultMapper.insert(toProductImageResult);
// toProductImageResult.setUrl(minioUtil.getPresignedUrl(toProductImageResult.getUrl(), 24 * 60));
result.add(toProductImageResult);
// 满足条件情况下默认添加到like
addToProductLike(toProductImageDTO, toProductImageResult.getId());
}
i ++;
sb = new StringBuilder("The best quality, masterpiece, real image.");
@@ -535,10 +539,17 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
// 添加积分扣除记录到db
creditsService.preInsert(userHolder.getId(), creditsEventsEnum.getName(), taskId, Boolean.TRUE, null);
}
return result;
}
private void addToProductLike(ToProductImageDTO toProductImageDTO, Long toProductImageResultId){
if (Objects.nonNull(toProductImageDTO.getUserLikeSortId())
&& !toProductImageDTO.getUserLikeSortId().equals(0L)){
productImageLike(new ProductImageLikeDTO(Collections.singletonList(toProductImageResultId),
toProductImageDTO.getProjectId(), toProductImageDTO.getUserLikeSortId()));
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void toProduct(String taskId) {
@@ -1060,7 +1071,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResult.setCreateTime(LocalDateTime.now());
toProductImageResult.setToProductImageRecordId(toProductImageRecord.getId());
// toProductImageResult.setUrl(productImageUrl);
toProductImageResult.setIsLike(1);
toProductImageResult.setIsLike(0);
toProductImageResult.setTaskId(taskId);
toProductImageResult.setProjectId(projectId);
if (null != userLikeGroupId) {
@@ -1073,6 +1084,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResultMapper.insert(toProductImageResult);
// toProductImageResult.setUrl(minioUtil.getPresignedUrl(toProductImageResult.getUrl(), 24 * 60));
result.add(toProductImageResult);
// 满足条件情况下默认添加到like
addToProductLike(toProductImageDTO, toProductImageResult.getId());
}else {
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageVO.getElementId());
ToProductImageResult toProductImageResult = new ToProductImageResult();
@@ -1089,7 +1102,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResult.setCreateTime(LocalDateTime.now());
toProductImageResult.setToProductImageRecordId(toProductImageRecord.getId());
// toProductImageResult.setUrl(productImageUrl);
toProductImageResult.setIsLike(1);
toProductImageResult.setIsLike(0);
toProductImageResult.setTaskId(taskId);
toProductImageResult.setProjectId(projectId);
if (null != userLikeGroupId) {
@@ -1102,6 +1115,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
toProductImageResultMapper.insert(toProductImageResult);
// toProductImageResult.setUrl(minioUtil.getPresignedUrl(toProductImageResult.getUrl(), 24 * 60));
result.add(toProductImageResult);
// 满足条件情况下默认添加到like
addToProductLike(toProductImageDTO, toProductImageResult.getId());
}
// 添加需要扣除的积分到预扣除区
creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, creditsEventsEnum);