TASK:mannequin;

This commit is contained in:
shahaibo
2025-05-29 16:17:39 +08:00
parent 8003a799c2
commit 276994759e
16 changed files with 229 additions and 98 deletions

View File

@@ -114,8 +114,8 @@ public class GenerateController {
@ApiOperation("喜欢或取消喜欢姿势变换生成的图片")
@PostMapping("/likeOrDislike")
public Response<Boolean> likeOrDislike(@ApiParam("id") @RequestParam Long transformedId, @ApiParam("like || dislike") @RequestParam String likeOrDislike) {
return Response.success(generateService.disOrLikePose(transformedId, likeOrDislike));
public Response<Boolean> likeOrDislike(@ApiParam("id") @RequestParam Long transformedId, @ApiParam("like || dislike") @RequestParam String likeOrDislike, @RequestParam("projectId") Long projectId) {
return Response.success(generateService.disOrLikePose(transformedId, likeOrDislike, projectId));
}
@ApiOperation(value = "修改模特比例")

View File

@@ -12,7 +12,7 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user_like_sort")
@TableName("collection_sort")
public class UserLikeSort implements Serializable {
private static final long serialVersionUID = 1L;
@@ -21,4 +21,7 @@ public class UserLikeSort implements Serializable {
private Long userLikeGroupId;
private Long userLikeId;
private Integer sort;
private Long projectId;
private Long relationId;
private String relationType;
}

View File

@@ -22,4 +22,6 @@ public class DisDesignLikeDTO {
@NotBlank(message = "timeZone.cannot.be.empty")
@ApiModelProperty("本地时区,比如 'Asia/Tokyo' 东京时间 , 'Asia/Shanghai' 北京时间 由js本地获取")
private String timeZone;
private Long projectId;
}

View File

@@ -7,4 +7,5 @@ import java.util.List;
@Data
public class ProductImageLikeDTO {
private List<Long> toProductImageResultId;
private Long projectId;
}

View File

@@ -0,0 +1,41 @@
package com.ai.da.model.enums;
import com.fasterxml.jackson.annotation.JsonValue;
public enum CollectionType implements IEnumDisplay {
DESIGN("Design"),
TO_PRODUCT_IMAGE("ToProductImage"),
RELIGHT("Relight"),
POSE_TRANSFORM("PoseTransfer")
;
private String value;
CollectionType(String value) {
this.value = value;
}
@Override
@JsonValue
public String getValue() {
return this.value;
}
public static CollectionType getAgeGroup(String value) {
for (CollectionType group : values()) {
if (group.value.equalsIgnoreCase(value)) {
return group;
}
}
throw new IllegalArgumentException("No matching constant for [" + value + "]");
}
public static boolean isValidName(String name) {
for (CollectionType ageGroup : CollectionType.values()) {
if (ageGroup.name().equalsIgnoreCase(name)) {
return true;
}
}
return false;
}
}

View File

@@ -0,0 +1,12 @@
package com.ai.da.model.vo;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = UserLikeVO.class, name = "userLike")
})
public interface AllCollectionVO {
}

View File

@@ -15,5 +15,5 @@ public class DesignModuleChooseVO {
private Long userGroupId;
@ApiModelProperty("分组详细数组")
private List<UserLikeVO> userLikeDetails;
private List<? extends AllCollectionVO> userLikeDetails;
}

View File

@@ -7,7 +7,7 @@ import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PoseTransformationVO {
public class PoseTransformationVO implements AllCollectionVO{
private Long id;
@@ -24,6 +24,7 @@ public class PoseTransformationVO {
private byte isLiked;
private String status;
private String collectionType;
public PoseTransformationVO(Long id, String taskId, String gifUrl, String videoUrl, String firstFrameUrl, byte isLiked, String status) {
this.id = id;

View File

@@ -4,6 +4,7 @@ import com.ai.da.mapper.primary.entity.ToProductImageResult;
import lombok.Data;
@Data
public class ToProductImageResultVO extends ToProductImageResult {
public class ToProductImageResultVO extends ToProductImageResult implements AllCollectionVO{
private String sourceUrl;
private String collectionType;
}

View File

@@ -6,7 +6,7 @@ import lombok.Data;
@Data
@ApiModel("用户分组详情-响应")
public class UserLikeVO {
public class UserLikeVO implements AllCollectionVO{
@ApiModelProperty("分组详情id")
private Long id;
@@ -26,4 +26,6 @@ public class UserLikeVO {
private Integer sort;
private Long userLikeSortId;
private String relationType;
private String collectionType;
}

View File

@@ -2,6 +2,7 @@ package com.ai.da.service;
import com.ai.da.common.response.PageBaseResponse;
import com.ai.da.mapper.primary.entity.Design;
import com.ai.da.mapper.primary.entity.UserLikeSort;
import com.ai.da.model.dto.*;
import com.ai.da.model.vo.*;
import com.ai.da.python.vo.DesignPythonObjects;
@@ -60,6 +61,10 @@ public interface DesignService extends IService<Design> {
*/
DesignLikeVO like(DesignLikeDTO designLikeDTO);
UserLikeSort addCollectionSort(Long relationId, String relationType, Long projectId);
int getNextSort(Long projectId);
/**
* dislike
*
@@ -68,6 +73,10 @@ public interface DesignService extends IService<Design> {
*/
Boolean dislike(DisDesignLikeDTO disDesignLikeDTO);
void deleteCollectionSort(Long relationId, String relationType, Long projectId);
UserLikeSort getUserLikeSortByUserLikeId(Long userLikeId, String relationType, Long projectId);
/**
* generateHighDesign
*

View File

@@ -54,7 +54,7 @@ public interface GenerateService extends IService<Generate> {
List<PoseTransformationVO> getPoseTransformationResultList(Long projectId);
Boolean disOrLikePose(Long transformedId, String likeOrDislike);
Boolean disOrLikePose(Long transformedId, String likeOrDislike, Long projectId);
String modifyModelProportion(ModifyModelProportionDTO proportionDTO);

View File

@@ -7,7 +7,6 @@ import com.ai.da.common.config.exception.BusinessException;
import com.ai.da.common.constant.CommonConstant;
import com.ai.da.common.context.UserContext;
import com.ai.da.common.enums.*;
import com.ai.da.common.response.PageBaseResponse;
import com.ai.da.common.response.ResultEnum;
import com.ai.da.common.utils.*;
import com.ai.da.mapper.primary.*;
@@ -15,6 +14,7 @@ import com.ai.da.mapper.primary.entity.*;
import com.ai.da.mapper.primary.entity.Collection;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.BuildType;
import com.ai.da.model.enums.CollectionType;
import com.ai.da.model.vo.*;
import com.ai.da.python.PythonService;
import com.ai.da.python.vo.*;
@@ -30,7 +30,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import okhttp3.*;
@@ -1157,9 +1156,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
}
String pictureName = null;
UserLike userLike;
Boolean isFirst = true;
if (Objects.nonNull(userGroupId)) {
isFirst = false;
UserLikeGroup userLikeGroup = userLikeGroupService.getById(userGroupId);
if (Objects.isNull(userLikeGroup)) {
throw new BusinessException("userLikeGroup.not.found");
@@ -1168,7 +1165,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
// //相同collection直接跳过 不需要往element加元素
// return new DesignLikeVO();
// }
List<CollectionElement> oldElements = collectionElementService.getByCollectionId(userLikeGroup.getCollectionId());
// List<CollectionElement> oldElements = collectionElementService.getByCollectionId(userLikeGroup.getCollectionId());
// if (CollectionUtil.isEmpty(oldElements)) {
// throw new BusinessException("old.elements.not.found");
// }
@@ -1205,35 +1202,9 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
designItem.getDesignId(), designLikeDTO.getDesignItemId(), designLikeDTO.getDesignPythonOutfitId(), tDesignPythonOutfits.get(0).getDesignUrl(), designLikeDTO.getTimeZone());
}
userLikeService.save(userLike);
Integer sortParam = 1;
Long userLikeSortId;
if (isFirst) {
UserLikeSort userLikeSort = new UserLikeSort();
userLikeSort.setUserLikeGroupId(userGroupId);
userLikeSort.setUserLikeId(userLike.getId());
userLikeSort.setSort(1);
userLikeSortMapper.insert(userLikeSort);
userLikeSortId = userLikeSort.getId();
}else {
QueryWrapper<UserLikeSort> qw = new QueryWrapper<>();
qw.lambda().eq(UserLikeSort::getUserLikeGroupId, userGroupId);
qw.lambda().orderByDesc(UserLikeSort::getSort);
List<UserLikeSort> userLikeSorts = userLikeSortMapper.selectList(qw);
UserLikeSort userLikeSort = new UserLikeSort();
if (CollectionUtils.isEmpty(userLikeSorts)) {
userLikeSort.setUserLikeGroupId(userGroupId);
userLikeSort.setUserLikeId(userLike.getId());
userLikeSort.setSort(1);
}else {
Integer sort = userLikeSorts.get(0).getSort();
userLikeSort.setUserLikeGroupId(userGroupId);
userLikeSort.setUserLikeId(userLike.getId());
userLikeSort.setSort(sort + 1);
}
userLikeSortMapper.insert(userLikeSort);
sortParam = userLikeSort.getSort();
userLikeSortId = userLikeSort.getId();
}
UserLikeSort userLikeSort = addCollectionSort(userLike.getId(), CollectionType.DESIGN.getValue(), designLikeDTO.getProjectId());
userLikeSortId = userLikeSort.getId();
groupDetailId = userLike.getId();
String designUrl = designPythonOutfitMapper.selectById(userLike.getDesignOutfitId()).getDesignUrl();
if (designUrl.contains("/")) {
@@ -1242,7 +1213,32 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
}
//修改designItem为like状态
designItemService.updateLikeStatus(designLikeDTO.getDesignItemId(), (byte) 1);
return new DesignLikeVO(userLikeSortId, userGroupId, groupDetailId, pictureName, userLike.getId(), sortParam);
return new DesignLikeVO(userLikeSortId, userGroupId, groupDetailId, pictureName, userLike.getId(), userLikeSort.getSort());
}
@Override
public UserLikeSort addCollectionSort(Long relationId, String relationType, Long projectId) {
int sort = getNextSort(projectId);
UserLikeSort userLikeSort = new UserLikeSort();
// userLikeSort.setUserLikeGroupId(userGroupId);
// userLikeSort.setUserLikeId(relationId);
userLikeSort.setProjectId(projectId);
userLikeSort.setRelationId(relationId);
userLikeSort.setRelationType(relationType);
userLikeSort.setSort(sort);
userLikeSortMapper.insert(userLikeSort);
return userLikeSort;
}
@Override
public int getNextSort(Long projectId) {
QueryWrapper<UserLikeSort> qw = new QueryWrapper<>();
qw.lambda().eq(UserLikeSort::getProjectId, projectId);
List<UserLikeSort> userLikeSorts = userLikeSortMapper.selectList(qw);
if (CollectionUtils.isEmpty(userLikeSorts)) {
return 1;
}
return userLikeSorts.size() + 1;
}
private List<Long> validateMergeElement(List<CollectionElement> oldElements, List<DesignItemDetail> designItemDetails) {
@@ -1326,11 +1322,17 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
// userLikeGroupService.removeById(userLike.getUserLikeGroupId());
}
deleteCollectionSort(userLike.getId(), CollectionType.DESIGN.getValue(), disDesignLikeDTO.getProjectId());
return Boolean.TRUE;
}
@Override
public void deleteCollectionSort(Long relationId, String relationType, Long projectId) {
QueryWrapper<UserLikeSort> qw = new QueryWrapper<>();
qw.lambda().eq(UserLikeSort::getUserLikeGroupId, userLike.getUserLikeGroupId());
qw.lambda().eq(UserLikeSort::getProjectId, projectId);
qw.lambda().orderByDesc(UserLikeSort::getSort);
List<UserLikeSort> userLikeSorts = userLikeSortMapper.selectList(qw);
UserLikeSort userLikeSort = getUserLikeSortByUserLikeId(userLike.getId());
UserLikeSort userLikeSort = getUserLikeSortByUserLikeId(relationId, relationType, projectId);
Long userLikeSortId = userLikeSort.getId();
for (UserLikeSort likeSort : userLikeSorts) {
if (Objects.equals(likeSort.getId(), userLikeSortId)) {
@@ -1341,12 +1343,14 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
userLikeSortMapper.updateById(likeSort);
}
}
return Boolean.TRUE;
}
private UserLikeSort getUserLikeSortByUserLikeId(Long userLikeId) {
@Override
public UserLikeSort getUserLikeSortByUserLikeId(Long userLikeId, String relationType, Long projectId) {
QueryWrapper<UserLikeSort> qw = new QueryWrapper<>();
qw.lambda().eq(UserLikeSort::getUserLikeId, userLikeId);
qw.lambda().eq(UserLikeSort::getRelationId, userLikeId);
qw.lambda().eq(UserLikeSort::getRelationType, relationType);
qw.lambda().eq(UserLikeSort::getProjectId, projectId);
UserLikeSort userLikeSort = userLikeSortMapper.selectOne(qw);
return userLikeSort;
}

View File

@@ -9,6 +9,7 @@ import com.ai.da.common.utils.*;
import com.ai.da.mapper.primary.*;
import com.ai.da.mapper.primary.entity.*;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.CollectionType;
import com.ai.da.model.enums.SketchStyle;
import com.ai.da.model.vo.*;
import com.ai.da.python.PythonService;
@@ -971,6 +972,8 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
private PoseTransformationMapper poseTransformationMapper;
@Resource
private CloudTaskMapper cloudTaskMapper;
@Resource
private DesignService designService;
public void processPoseTransformResult(String taskId, String gifUrl, String videoUrl, String imageUrl){
// 1、存储模型返回的数据
@@ -1045,13 +1048,15 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
return vos;
}
public Boolean disOrLikePose(Long transformedId, String likeOrDislike){
public Boolean disOrLikePose(Long transformedId, String likeOrDislike, Long projectId){
PoseTransformation poseTransformation = poseTransformationMapper.selectById(transformedId);
if (Objects.nonNull(poseTransformation)){
if (likeOrDislike.equals("like")){
poseTransformation.setIsLiked((byte)1);
designService.addCollectionSort(poseTransformation.getId(), CollectionType.POSE_TRANSFORM.getValue(), projectId);
}else if (likeOrDislike.equals("dislike")){
poseTransformation.setIsLiked((byte)0);
designService.deleteCollectionSort(poseTransformation.getId(), CollectionType.POSE_TRANSFORM.getValue(), projectId);
}
poseTransformation.setUpdateTime(LocalDateTime.now());
poseTransformationMapper.updateById(poseTransformation);

View File

@@ -17,6 +17,7 @@ import com.ai.da.mapper.primary.entity.Collection;
import com.ai.da.mapper.secondary.AttributeRetrievalMapper;
import com.ai.da.mapper.secondary.entity.AttributeRecognitionJSON;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.CollectionType;
import com.ai.da.model.enums.Module;
import com.ai.da.model.vo.*;
import com.ai.da.python.PythonService;
@@ -262,7 +263,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
Project project = projectMapper.selectById(projectDTO.getId());
Long workspaceId = workspaceService.getByProjectId(project.getId());
WorkspaceVO workspaceVO = workspaceService.getByIdForProject(workspaceId);
WorkspaceVO workspaceVO = new WorkspaceVO();
if (null != workspaceId) {
workspaceVO = workspaceService.getByIdForProject(workspaceId);
}
String process = project.getProcess();
String name = project.getName();
@@ -364,6 +368,8 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
private PythonService pythonService;
@Resource
private CreditsService creditsService;
@Resource
private PoseTransformationMapper poseTransformationMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public List<ToProductImageResult> toProduct(ToProductImageDTO toProductImageDTO) {
@@ -584,6 +590,11 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
ToProductImageResult toProductImageResult = new ToProductImageResult();
toProductImageResult.setIsLike(1);
toProductImageResultMapper.update(toProductImageResult, qw);
if (toProductImageResult.getResultType().equals("Relight")) {
designService.addCollectionSort(toProductImageResult.getId(), CollectionType.RELIGHT.getValue(), productImageLikeDTO.getProjectId());
}else {
designService.addCollectionSort(toProductImageResult.getId(), CollectionType.TO_PRODUCT_IMAGE.getValue(), productImageLikeDTO.getProjectId());
}
return Boolean.TRUE;
}
@Resource
@@ -775,6 +786,11 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
ToProductImageResult toProductImageResult = new ToProductImageResult();
toProductImageResult.setIsLike(0);
toProductImageResultMapper.update(toProductImageResult, qw);
if (toProductImageResult.getResultType().equals("Relight")) {
designService.deleteCollectionSort(toProductImageResult.getId(), CollectionType.RELIGHT.getValue(), productImageLikeDTO.getProjectId());
}else {
designService.deleteCollectionSort(toProductImageResult.getId(), CollectionType.TO_PRODUCT_IMAGE.getValue(), productImageLikeDTO.getProjectId());
}
return Boolean.TRUE;
}
@@ -1503,61 +1519,95 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
moduleChooseVO.setSketchBoard(list);
}else if (module.equals(Module.design.name())) {
DesignModuleChooseVO vo = new DesignModuleChooseVO();
UserLikeGroup group = getByProjectId(projectDTO.getId());
if (Objects.isNull(group)) {
QueryWrapper<UserLikeSort> userLikeSortQueryWrapper = new QueryWrapper<>();
userLikeSortQueryWrapper.lambda().eq(UserLikeSort::getProjectId, projectDTO.getId());
userLikeSortQueryWrapper.lambda().orderByAsc(UserLikeSort::getSort);
List<UserLikeSort> userLikeSortList = userLikeSortMapper.selectList(userLikeSortQueryWrapper);
if (CollectionUtils.isEmpty(userLikeSortList)) {
moduleChooseVO.setDesign(vo);
}else {
Long userGroupId = group.getId();
// if (Objects.isNull(group)) {
// throw new BusinessException("history.not.found");
// }
List<UserLikeVO> userLikeVOS = userLikeService.getGroupDetail(userGroupId);
String sex = null;
List<AllCollectionVO> list = new ArrayList<>();
for (UserLikeSort userLikeSort : userLikeSortList) {
if (userLikeSort.getRelationType().equals(CollectionType.DESIGN.getValue())) {
UserLike userLike = userLikeMapper.selectById(userLikeSort.getRelationId());
UserLikeVO o = CopyUtil.copyObject(userLike, UserLikeVO.class);
TDesignPythonOutfit tDesignPythonOutfit1 = designPythonOutfitMapper.selectById(o.getDesignOutfitId());
o.setUrl(tDesignPythonOutfit1.getDesignUrl());
if (o.getUrl().contains("/")) {
int index = o.getUrl().lastIndexOf("/");
o.setPictureName(o.getUrl().substring(index + 1));
}
o.setDesignOutfitUrl(minioUtil.getPreSignedUrl(o.getUrl(), 24 * 60));
QueryWrapper<TDesignPythonOutfit> qw = new QueryWrapper<>();
qw.lambda().eq(TDesignPythonOutfit::getDesignItemId, o.getDesignItemId());
List<TDesignPythonOutfit> tDesignPythonOutfits = designPythonOutfitMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(tDesignPythonOutfits)) {
TDesignPythonOutfit tDesignPythonOutfit = tDesignPythonOutfits.get(0);
o.setDesignOutfitId(tDesignPythonOutfit.getId());
}
QueryWrapper<UserLikeSort> userLikeSortQw = new QueryWrapper<>();
userLikeSortQw.lambda().eq(UserLikeSort::getUserLikeGroupId, userGroupId);
List<UserLikeSort> userLikeSortList = userLikeSortMapper.selectList(userLikeSortQw);
if (CollectionUtil.isEmpty(userLikeSortList)) {
Integer sort = 1;
for (UserLikeVO userLikeVO : userLikeVOS) {
UserLikeSort userLikeSort = new UserLikeSort();
userLikeSort.setUserLikeId(userLikeVO.getId());
userLikeSort.setUserLikeGroupId(userGroupId);
userLikeSort.setSort(sort);
userLikeSortMapper.insert(userLikeSort);
sort ++;
}
}
userLikeVOS.forEach(o -> {
TDesignPythonOutfit tDesignPythonOutfit1 = designPythonOutfitMapper.selectById(o.getDesignOutfitId());
o.setUrl(tDesignPythonOutfit1.getDesignUrl());
if (o.getUrl().contains("/")) {
int index = o.getUrl().lastIndexOf("/");
o.setPictureName(o.getUrl().substring(index + 1));
}
o.setDesignOutfitUrl(minioUtil.getPreSignedUrl(o.getUrl(), 24 * 60));
QueryWrapper<TDesignPythonOutfit> qw = new QueryWrapper<>();
qw.lambda().eq(TDesignPythonOutfit::getDesignItemId, o.getDesignItemId());
List<TDesignPythonOutfit> tDesignPythonOutfits = designPythonOutfitMapper.selectList(qw);
if (CollectionUtil.isNotEmpty(tDesignPythonOutfits)) {
TDesignPythonOutfit tDesignPythonOutfit = tDesignPythonOutfits.get(0);
o.setDesignOutfitId(tDesignPythonOutfit.getId());
}
QueryWrapper<UserLikeSort> userLikeSortQueryWrapper = new QueryWrapper<>();
userLikeSortQueryWrapper.lambda().eq(UserLikeSort::getUserLikeId, o.getId());
List<UserLikeSort> userLikeSorts = userLikeSortMapper.selectList(userLikeSortQueryWrapper);
if (CollectionUtil.isNotEmpty(userLikeSorts)) {
UserLikeSort userLikeSort = userLikeSorts.get(0);
o.setSort(userLikeSort.getSort());
o.setUserLikeSortId(userLikeSort.getId());
o.setRelationType(userLikeSort.getRelationType());
o.setCollectionType(CollectionType.DESIGN.getValue());
list.add(o);
} else if (userLikeSort.getRelationType().equals(CollectionType.TO_PRODUCT_IMAGE.getValue())) {
ToProductImageResult toProductImageResult = toProductImageResultMapper.selectById(userLikeSort.getRelationId());
toProductImageResult.setUrl(minioUtil.getPreSignedUrl(toProductImageResult.getUrl(), 24 * 60));
ToProductImageResultVO toProductImageResultVO = CopyUtil.copyObject(toProductImageResult, ToProductImageResultVO.class);
if (toProductImageResultVO.getElementType().equals("ProductElement")) {
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(minioUtil.getPreSignedUrl(toProductElement.getUrl(), 24 * 60));
}else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(minioUtil.getPreSignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60));
}else {
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(minioUtil.getPreSignedUrl(toProductImageResult1.getUrl(), 24 * 60));
}
toProductImageResultVO.setCollectionType(CollectionType.TO_PRODUCT_IMAGE.getValue());
list.add(toProductImageResultVO);
} else if (userLikeSort.getRelationType().equals(CollectionType.RELIGHT.getValue())) {
ToProductImageResult toProductImageResult = toProductImageResultMapper.selectById(userLikeSort.getRelationId());
toProductImageResult.setUrl(minioUtil.getPreSignedUrl(toProductImageResult.getUrl(), 24 * 60));
ToProductImageResultVO toProductImageResultVO = CopyUtil.copyObject(toProductImageResult, ToProductImageResultVO.class);
if (toProductImageResultVO.getElementType().equals("ProductElement")) {
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(minioUtil.getPreSignedUrl(toProductElement.getUrl(), 24 * 60));
}else if ((toProductImageResultVO.getElementType().equals("DesignOutfit"))) {
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(minioUtil.getPreSignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60));
}else {
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageResultVO.getElementId());
toProductImageResultVO.setSourceUrl(minioUtil.getPreSignedUrl(toProductImageResult1.getUrl(), 24 * 60));
}
toProductImageResultVO.setCollectionType(CollectionType.RELIGHT.getValue());
list.add(toProductImageResultVO);
} else if (userLikeSort.getRelationType().equals(CollectionType.POSE_TRANSFORM.getValue())) {
PoseTransformation item = poseTransformationMapper.selectById(userLikeSort.getRelationId());
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());
poseTransformationVO.setCollectionType(CollectionType.POSE_TRANSFORM.getValue());
list.add(poseTransformationVO);
}
});
vo.setUserGroupId(userGroupId);
vo.setUserLikeDetails(userLikeVOS);
moduleChooseVO.setDesign(vo);
}
vo.setUserLikeDetails(list);
}
UserLikeGroup group = getByProjectId(projectDTO.getId());
if (Objects.nonNull(group)) {
Long userGroupId = group.getId();
vo.setUserGroupId(userGroupId);
}
moduleChooseVO.setDesign(vo);
}else if (module.equals(Module.canvas.name())) {
CavasModuleChooseVO vo = new CavasModuleChooseVO();

View File

@@ -806,7 +806,7 @@ public class WorkspaceServiceImpl extends ServiceImpl<WorkspaceMapper, Workspace
qw.lambda().eq(Workspace::getProjectId, projectId);
List<Workspace> workspaceList = workspaceMapper.selectList(qw);
if (CollectionUtils.isEmpty(workspaceList)) {
throw new BusinessException("Lack of associated workspace.");
return null;
}
return workspaceList.get(0).getId();
}