generate 添加dislike功能
获取library地址修改(兼容minio地址)
This commit is contained in:
@@ -46,4 +46,10 @@ public class GenerateController {
|
|||||||
return Response.success(generateService.generateLike(generateLikeDTO));
|
return Response.success(generateService.generateLike(generateLikeDTO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "取消喜欢")
|
||||||
|
@PostMapping("/dislike")
|
||||||
|
public Response<Boolean> dislike(@RequestParam Long generateDetailId,String timeZone) {
|
||||||
|
return Response.success(generateService.generateDislike(generateDetailId,timeZone));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,11 @@ public class GenerateDetail {
|
|||||||
*/
|
*/
|
||||||
private Byte isLike;
|
private Byte isLike;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 喜欢的图片添加到library对应的id
|
||||||
|
*/
|
||||||
|
private Long libraryId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -13,4 +13,6 @@ public interface GenerateService {
|
|||||||
GenerateCollectionVO generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
|
GenerateCollectionVO generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
|
||||||
|
|
||||||
GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO);
|
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");
|
Assert.isTrue(generateLikeDTO.getLevel1Type().equals(generate.getLevel1Type()),"level1Type does not match");
|
||||||
|
|
||||||
// 2、将like的图片信息存入library
|
// 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();
|
AuthPrincipalVo userInfo = UserContext.getUserHolder();
|
||||||
Long accountId = userInfo.getId();
|
Long accountId = userInfo.getId();
|
||||||
Library library = setLibrary(accountId, generateLikeDTO, generateDetail.getUrl());
|
Library library = setLibrary(accountId, generateLikeDTO, generateDetail.getUrl());
|
||||||
libraryService.save(library);
|
libraryService.save(library);
|
||||||
|
|
||||||
// 3、更新generateDetail表的isLike列
|
// 3、更新generateDetail表的isLike列和libraryId列
|
||||||
updateLikeStatus(generateLikeDTO.getGenerateDetailId(),(byte)1);
|
updateLikeStatus(generateLikeDTO.getGenerateDetailId(),(byte)1,library.getId(),generateLikeDTO.getTimeZone());
|
||||||
|
|
||||||
return new GenerateLikeVO(library.getId());
|
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){
|
public Library setLibrary(Long accountId,GenerateLikeDTO generateLikeDTO,String imageUrl){
|
||||||
Library library = new Library();
|
Library library = new Library();
|
||||||
library.setAccountId(accountId);
|
library.setAccountId(accountId);
|
||||||
@@ -176,12 +203,14 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper,Generate> im
|
|||||||
return library;
|
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<GenerateDetail> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("id", generateDetailId);
|
queryWrapper.eq("id", generateDetailId);
|
||||||
|
|
||||||
GenerateDetail generateDetail = new GenerateDetail();
|
GenerateDetail generateDetail = new GenerateDetail();
|
||||||
generateDetail.setIsLike(hasLike);
|
generateDetail.setIsLike(hasLike);
|
||||||
|
generateDetail.setLibraryId(libraryId);
|
||||||
|
generateDetail.setUpdateDate(DateUtil.getByTimeZone(timeZone));
|
||||||
generateDetailMapper.update(generateDetail,queryWrapper);
|
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.context.UserContext;
|
||||||
import com.ai.da.common.enums.*;
|
import com.ai.da.common.enums.*;
|
||||||
import com.ai.da.common.response.PageBaseResponse;
|
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.CopyUtil;
|
||||||
import com.ai.da.common.utils.DateUtil;
|
import com.ai.da.common.utils.DateUtil;
|
||||||
import com.ai.da.common.utils.FileUtil;
|
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.LibraryMapper;
|
||||||
import com.ai.da.mapper.UserLikeMapper;
|
|
||||||
import com.ai.da.mapper.entity.*;
|
import com.ai.da.mapper.entity.*;
|
||||||
import com.ai.da.model.dto.*;
|
import com.ai.da.model.dto.*;
|
||||||
import com.ai.da.model.vo.*;
|
import com.ai.da.model.vo.*;
|
||||||
import com.ai.da.service.LibraryModelPointService;
|
import com.ai.da.service.LibraryModelPointService;
|
||||||
import com.ai.da.service.LibraryService;
|
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.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.collect.Maps;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
@@ -50,6 +46,8 @@ public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> impl
|
|||||||
private FileProperties fileProperties;
|
private FileProperties fileProperties;
|
||||||
@Resource
|
@Resource
|
||||||
private LibraryModelPointService libraryModelPointService;
|
private LibraryModelPointService libraryModelPointService;
|
||||||
|
@Resource
|
||||||
|
private MinioUtil minioUtil;
|
||||||
|
|
||||||
private static List<String> top = Arrays.asList(CollectionLevel2TypeEnum.DRESS.getRealName(),
|
private static List<String> top = Arrays.asList(CollectionLevel2TypeEnum.DRESS.getRealName(),
|
||||||
CollectionLevel2TypeEnum.OUTWEAR.getRealName(),CollectionLevel2TypeEnum.BLOUSE.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 -> {
|
IPage<QueryLibraryPageVO> convert = page.convert((Function<Library, QueryLibraryPageVO>) library -> {
|
||||||
QueryLibraryPageVO libraryPageVO = CopyUtil.copyObject(library,QueryLibraryPageVO.class);
|
QueryLibraryPageVO libraryPageVO = CopyUtil.copyObject(library,QueryLibraryPageVO.class);
|
||||||
libraryPageVO.setDesignType(DesignTypeEnum.LIBRARY.getRealName());
|
libraryPageVO.setDesignType(DesignTypeEnum.LIBRARY.getRealName());
|
||||||
|
if (library.getUrl().startsWith("aida")){
|
||||||
|
libraryPageVO.setUrl(minioUtil.splitThenGetPreviewUrl(library.getUrl(),480));
|
||||||
|
}
|
||||||
if(finalMap != null && finalMap.containsKey(library.getId())){
|
if(finalMap != null && finalMap.containsKey(library.getId())){
|
||||||
libraryPageVO.setLibraryModelPoint(finalMap.get(library.getId()));
|
libraryPageVO.setLibraryModelPoint(finalMap.get(library.getId()));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user