TASK:to product\relight的结果分like 没like返回

This commit is contained in:
2025-07-07 16:34:22 +08:00
parent e92bb0c7cd
commit 9af1bc867a
6 changed files with 69 additions and 59 deletions

View File

@@ -25,8 +25,8 @@ public class ModuleChooseVO {
private List<CollectionElementVO> sketchBoard;
// private moodBoardModuleChooseVO mannequin;
private DesignModuleChooseVO design;
private List<ToProductImageResultVO> toProduct;
private List<ToProductImageResultVO> relight;
private ToProductOrRelightVO toProduct;
private ToProductOrRelightVO relight;
private CavasModuleChooseVO canvas;

View File

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

View File

@@ -1,8 +0,0 @@
package com.ai.da.model.vo;
import com.ai.da.mapper.primary.entity.UserLike;
import lombok.Data;
@Data
public class ToProductVO extends UserLike {
}

View File

@@ -596,7 +596,11 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
if (!designSingleIncludeLayersDTO.getIsPreview()){
updateUserLikeDate(designSingleIncludeLayersDTO.getDesignItemId(),designSingleIncludeLayersDTO.getTimeZone());
// 更新项目更新时间
if (Objects.nonNull(designSingleIncludeLayersDTO.getProjectId())){
projectService.modifyProjectUpdateTime(designSingleIncludeLayersDTO.getProjectId());
}else {
log.error("design single projectId传入空值导致项目修改时间没有更新");
}
}else {
updateUserLikeConvertStatus(designSingleIncludeLayersDTO.getDesignItemId(),designSingleIncludeLayersDTO.getTimeZone());
}

View File

@@ -634,7 +634,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
times = 1;
}
} else if (generateThroughImageTextDTO.getLevel1Type().equals(SKETCH_BOARD.getRealName())) {
creditsEventsEnum = CreditsEventsEnum.LOCAL_TEXT2IMG;
creditsEventsEnum = CreditsEventsEnum.SKETCH_BOARD;
if (!StringUtil.isNullOrEmpty(generateThroughImageTextDTO.getModelName()) && generateThroughImageTextDTO.getModelName().equals("high")){
creditsEventsEnum = CreditsEventsEnum.LOCAL_TEXT2IMG_HIGH;
times = 1;

View File

@@ -1932,60 +1932,49 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
vo.setBeenPublished(beenPublished);
vo.setPortfolioDTO(portfolioDTO);
moduleChooseVO.setCanvas(vo);
}else if (module.equals(Module.toProduct.name())) {
}else if (module.equals(Module.toProduct.name()) || module.equals(Module.relight.name())) {
Long projectId = projectDTO.getId();
// UserLikeGroup userLikeGroup = getByProjectId(projectDTO.getId());
// Long userLikeGroupId = userLikeGroup.getId();
String resultType = module.equals(Module.toProduct.name()) ? "ToProductImage" : "Relight";
// 查询所有结果(包括喜欢和不喜欢的)
QueryWrapper<ToProductImageResult> qw = new QueryWrapper<>();
// qw.lambda().eq(ToProductImageResult::getIsLike, 1);
qw.lambda().eq(ToProductImageResult::getProjectId, projectId);
qw.lambda().eq(ToProductImageResult::getResultType, "ToProductImage");
List<ToProductImageResult> toProductImageResults = toProductImageResultMapper.selectList(qw);
for (ToProductImageResult toProductImageResult : toProductImageResults) {
toProductImageResult.setUrl(getMinioUrl(toProductImageResult.getUrl()));
}
List<ToProductImageResultVO> toProductImageResultVOS = CopyUtil.copyList(toProductImageResults, ToProductImageResultVO.class);
for (ToProductImageResultVO toProductImageResultVO : toProductImageResultVOS) {
if (toProductImageResultVO.getElementType().equals("ProductElement")) {
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductElement.getUrl()));
}else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(getMinioUrl(tDesignPythonOutfit.getDesignUrl()));
}else {
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductImageResult1.getUrl()));
}
}
moduleChooseVO.setToProduct(toProductImageResultVOS);
}else if (module.equals(Module.relight.name())) {
Long projectId = projectDTO.getId();
// UserLikeGroup userLikeGroup = getByProjectId(projectDTO.getId());
// Long userLikeGroupId = userLikeGroup.getId();
qw.lambda()
.eq(ToProductImageResult::getProjectId, projectId)
.eq(ToProductImageResult::getResultType, resultType);
QueryWrapper<ToProductImageResult> qw = new QueryWrapper<>();
// qw.lambda().eq(ToProductImageResult::getIsLike, 1);
qw.lambda().eq(ToProductImageResult::getProjectId, projectId);
qw.lambda().eq(ToProductImageResult::getResultType, "Relight");
List<ToProductImageResult> toProductImageResults = toProductImageResultMapper.selectList(qw);
for (ToProductImageResult toProductImageResult : toProductImageResults) {
toProductImageResult.setUrl(getMinioUrl(toProductImageResult.getUrl()));
}
List<ToProductImageResultVO> toProductImageResultVOS = CopyUtil.copyList(toProductImageResults, ToProductImageResultVO.class);
for (ToProductImageResultVO toProductImageResultVO : toProductImageResultVOS) {
if (toProductImageResultVO.getElementType().equals("ProductElement")) {
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductElement.getUrl()));
}else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(getMinioUrl(tDesignPythonOutfit.getDesignUrl()));
}else {
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(getMinioUrl(toProductImageResult1.getUrl()));
List<ToProductImageResult> allResults = toProductImageResultMapper.selectList(qw);
// 准备返回对象
ToProductOrRelightVO resultVO = new ToProductOrRelightVO();
// 处理URL转换和分类
List<ToProductImageResultVO> likedList = new ArrayList<>();
List<ToProductImageResultVO> normalList = new ArrayList<>();
for (ToProductImageResult result : allResults) {
// 转换URL
result.setUrl(getMinioUrl(result.getUrl()));
// 复制到VO对象
ToProductImageResultVO vo = CopyUtil.copyObject(result, ToProductImageResultVO.class);
// 设置sourceUrl
setSourceUrl(vo);
// 按isLike分类
if (result.getIsLike() != null && result.getIsLike() == 1) {
likedList.add(vo);
} else {
normalList.add(vo);
}
}
moduleChooseVO.setRelight(toProductImageResultVOS);
// 设置结果
resultVO.setLikedList(likedList);
resultVO.setList(normalList);
// 根据模块设置返回结果
if (module.equals(Module.toProduct.name())) {
moduleChooseVO.setToProduct(resultVO);
} else {
moduleChooseVO.setRelight(resultVO);
}
}else if (module.equals(Module.deReconstruction.name())){
SketchReconstructionVO sketchReconstruction = generateService.getSketchReconstruction(projectDTO.getId());
moduleChooseVO.setDeReconstruction(sketchReconstruction);
@@ -2061,6 +2050,20 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
return null;
}
// 提取出的公共方法
private void setSourceUrl(ToProductImageResultVO vo) {
if (vo.getElementType().equals("ProductElement")) {
ToProductElement element = toProductElementMapper.selectById(vo.getElementId());
vo.setSourceUrl(getMinioUrl(element.getUrl()));
} else if (vo.getElementType().equals("DesignOutfit")) {
TDesignPythonOutfit outfit = designPythonOutfitMapper.selectById(vo.getElementId());
vo.setSourceUrl(getMinioUrl(outfit.getDesignUrl()));
} else {
ToProductImageResult result = toProductImageResultMapper.selectById(vo.getElementId());
vo.setSourceUrl(getMinioUrl(result.getUrl()));
}
}
private CollectionElementRelModel getCollectionElementRelModel(Long id) {
QueryWrapper<CollectionElementRelModel> qw = new QueryWrapper<>();
qw.lambda().eq(CollectionElementRelModel::getCollectionElementId, id);