generate 添加dislike功能
获取library地址修改(兼容minio地址)
This commit is contained in:
@@ -13,4 +13,6 @@ public interface GenerateService {
|
||||
GenerateCollectionVO generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
|
||||
|
||||
GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO);
|
||||
|
||||
Boolean generateDislike(Long generateDetailId,String timeZone);
|
||||
}
|
||||
|
||||
@@ -153,17 +153,44 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper,Generate> im
|
||||
Assert.isTrue(generateLikeDTO.getLevel1Type().equals(generate.getLevel1Type()),"level1Type does not match");
|
||||
|
||||
// 2、将like的图片信息存入library
|
||||
// 2.1、不能重复喜欢
|
||||
Library libraryDetail = libraryService.getById(generateDetail.getLibraryId());
|
||||
Assert.isTrue(Objects.isNull(generateDetail.getLibraryId()) || Objects.isNull(libraryDetail),
|
||||
"Duplicate likes are not allowed");
|
||||
// 2.2、添加到library
|
||||
AuthPrincipalVo userInfo = UserContext.getUserHolder();
|
||||
Long accountId = userInfo.getId();
|
||||
Library library = setLibrary(accountId, generateLikeDTO, generateDetail.getUrl());
|
||||
libraryService.save(library);
|
||||
|
||||
// 3、更新generateDetail表的isLike列
|
||||
updateLikeStatus(generateLikeDTO.getGenerateDetailId(),(byte)1);
|
||||
// 3、更新generateDetail表的isLike列和libraryId列
|
||||
updateLikeStatus(generateLikeDTO.getGenerateDetailId(),(byte)1,library.getId(),generateLikeDTO.getTimeZone());
|
||||
|
||||
return new GenerateLikeVO(library.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean generateDislike(Long generateDetailId, String timeZone) {
|
||||
// 1、确定generateDetail中是否有这条记录
|
||||
GenerateDetail generateDetail = generateDetailMapper.selectById(generateDetailId);
|
||||
Assert.notNull(generateDetail,"generateItem does not exist");
|
||||
|
||||
// 2、修改generateDetail表中的isLike、libraryId字段
|
||||
updateLikeStatus(generateDetailId,(byte)0,0L,timeZone);
|
||||
|
||||
// 3、确定library中是否添加该条记录
|
||||
Library libraryDetail = libraryService.getById(generateDetail.getLibraryId());
|
||||
if (Objects.isNull(libraryDetail)){
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
// 4、删除library相关记录
|
||||
libraryService.removeById(libraryDetail.getId());
|
||||
|
||||
// 5、返回成功
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
public Library setLibrary(Long accountId,GenerateLikeDTO generateLikeDTO,String imageUrl){
|
||||
Library library = new Library();
|
||||
library.setAccountId(accountId);
|
||||
@@ -176,12 +203,14 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper,Generate> im
|
||||
return library;
|
||||
}
|
||||
|
||||
public void updateLikeStatus(Long generateDetailId,Byte hasLike){
|
||||
public void updateLikeStatus(Long generateDetailId,Byte hasLike,Long libraryId,String timeZone){
|
||||
QueryWrapper<GenerateDetail> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("id", generateDetailId);
|
||||
|
||||
GenerateDetail generateDetail = new GenerateDetail();
|
||||
generateDetail.setIsLike(hasLike);
|
||||
generateDetail.setLibraryId(libraryId);
|
||||
generateDetail.setUpdateDate(DateUtil.getByTimeZone(timeZone));
|
||||
generateDetailMapper.update(generateDetail,queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,25 +5,21 @@ import com.ai.da.common.config.exception.BusinessException;
|
||||
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.Response;
|
||||
import com.ai.da.common.utils.CopyUtil;
|
||||
import com.ai.da.common.utils.DateUtil;
|
||||
import com.ai.da.common.utils.FileUtil;
|
||||
import com.ai.da.mapper.CollectionElementMapper;
|
||||
import com.ai.da.common.utils.MinioUtil;
|
||||
import com.ai.da.mapper.LibraryMapper;
|
||||
import com.ai.da.mapper.UserLikeMapper;
|
||||
import com.ai.da.mapper.entity.*;
|
||||
import com.ai.da.model.dto.*;
|
||||
import com.ai.da.model.vo.*;
|
||||
import com.ai.da.service.LibraryModelPointService;
|
||||
import com.ai.da.service.LibraryService;
|
||||
import com.ai.da.service.UserLikeService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
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.Maps;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
@@ -50,6 +46,8 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
|
||||
private FileProperties fileProperties;
|
||||
@Resource
|
||||
private LibraryModelPointService libraryModelPointService;
|
||||
@Resource
|
||||
private MinioUtil minioUtil;
|
||||
|
||||
private static List<String> top = Arrays.asList(CollectionLevel2TypeEnum.DRESS.getRealName(),
|
||||
CollectionLevel2TypeEnum.OUTWEAR.getRealName(),CollectionLevel2TypeEnum.BLOUSE.getRealName());
|
||||
@@ -122,6 +120,9 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
|
||||
IPage<QueryLibraryPageVO> convert = page.convert((Function<Library, QueryLibraryPageVO>) library -> {
|
||||
QueryLibraryPageVO libraryPageVO = CopyUtil.copyObject(library,QueryLibraryPageVO.class);
|
||||
libraryPageVO.setDesignType(DesignTypeEnum.LIBRARY.getRealName());
|
||||
if (library.getUrl().startsWith("aida")){
|
||||
libraryPageVO.setUrl(minioUtil.splitThenGetPreviewUrl(library.getUrl(),480));
|
||||
}
|
||||
if(finalMap != null && finalMap.containsKey(library.getId())){
|
||||
libraryPageVO.setLibraryModelPoint(finalMap.get(library.getId()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user