From 310a4b23dc26efa047c08d2795181bd9143ac808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BB=BA=E6=98=8E=20=E6=B2=88?= <2431685932@qq.com> Date: Sat, 20 Jul 2024 14:05:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=94=E5=9B=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SchisandraUserFavoritesController.java | 47 ++++++++++++++----- .../SchisandraUserFavoritesBOConverter.java | 3 ++ .../SchisandraUserFavoritesDomainService.java | 4 ++ ...isandraUserFavoritesDomainServiceImpl.java | 7 +++ .../SchisandraUserFavoritesService.java | 4 +- .../SchisandraUserFavoritesServiceImpl.java | 15 ++++++ 6 files changed, 67 insertions(+), 13 deletions(-) diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraUserFavoritesController.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraUserFavoritesController.java index f5c0aed..f4c21ac 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraUserFavoritesController.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraUserFavoritesController.java @@ -5,14 +5,17 @@ import com.google.common.base.Preconditions; import com.schisandra.share.application.convert.SchisandraUserFavoritesDTOConverter; import com.schisandra.share.application.dto.SchisandraUserFavoritesDTO; import com.schisandra.share.common.entity.Result; +import com.schisandra.share.common.utils.CaffeineUtil; import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO; import com.schisandra.share.domain.service.SchisandraUserFavoritesDomainService; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * 收藏表 controller @@ -28,26 +31,46 @@ public class SchisandraUserFavoritesController { @Resource private SchisandraUserFavoritesDomainService schisandraUserFavoritesDomainService; + @Resource + CaffeineUtil caffeineUtil; + /** - * 新增收藏表 + * 我的收藏 + * @param userId + * @return + */ + @GetMapping("myfavor") + public Result myfavor(String userId) { + try{ + if (log.isInfoEnabled()) { + log.info("SchisandraUserFavoritesController.myfavor.userId:{}", JSON.toJSONString(userId)); + } + Preconditions.checkNotNull(userId, "userId不能为空"); + List result= (List) caffeineUtil + .caffeineBuild().getIfPresent("myfavor"+userId); + if(result!=null){ + return Result.ok(result); + } + result = schisandraUserFavoritesDomainService.returnMyFavor(userId); + return Result.ok(result); + } catch (Exception e) { + log.error("SchisandraUserFavoritesController.myfavor.error:{}", e.getMessage(), e); + return Result.fail("获取用户收藏表失败"); + } + } + + + /** + * 新增收藏 */ @RequestMapping("add") public Result add(@RequestBody SchisandraUserFavoritesDTO schisandraUserFavoritesDTO) { - try { if (log.isInfoEnabled()) { log.info("SchisandraUserFavoritesController.add.dto:{}", JSON.toJSONString(schisandraUserFavoritesDTO)); } - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getId(), "不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUserId(), "不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getDetailId(), "不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCircleId(), "不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getExtJson(), "不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedBy(), "创建人不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getCreatedTime(), "创建时间不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateBy(), "更新人不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUpdateTime(), "更新时间不能为空"); - Preconditions.checkNotNull(schisandraUserFavoritesDTO.getIsDeleted(), "不能为空"); + Preconditions.checkNotNull(schisandraUserFavoritesDTO.getUserId(), "userId不能为空"); + Preconditions.checkNotNull(schisandraUserFavoritesDTO.getDetailId(), "detailId不能为空"); SchisandraUserFavoritesBO SchisandraUserFavoritesBO = SchisandraUserFavoritesDTOConverter.INSTANCE.convertDTOToBO(schisandraUserFavoritesDTO); return Result.ok(schisandraUserFavoritesDomainService.add(SchisandraUserFavoritesBO)); } catch (Exception e) { diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/convert/SchisandraUserFavoritesBOConverter.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/convert/SchisandraUserFavoritesBOConverter.java index ed7bcfb..eba5dca 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/convert/SchisandraUserFavoritesBOConverter.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/convert/SchisandraUserFavoritesBOConverter.java @@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; +import java.util.List; + /** * 收藏表 bo转换器 * @@ -19,4 +21,5 @@ public interface SchisandraUserFavoritesBOConverter { SchisandraUserFavorites convertBOToEntity(SchisandraUserFavoritesBO schisandraUserFavoritesBO); SchisandraUserFavoritesBO convertEntityToBO(SchisandraUserFavorites schisandraUserFavorites); + List convertEntityToBOList(List schisandraUserFavorites); } diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraUserFavoritesDomainService.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraUserFavoritesDomainService.java index f293e65..a63c1e5 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraUserFavoritesDomainService.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraUserFavoritesDomainService.java @@ -2,6 +2,8 @@ package com.schisandra.share.domain.service; import com.schisandra.share.domain.bo.SchisandraUserFavoritesBO; +import java.util.List; + /** * 收藏表 领域service * @@ -25,4 +27,6 @@ public interface SchisandraUserFavoritesDomainService { */ Boolean delete(SchisandraUserFavoritesBO schisandraUserFavoritesBO); + List returnMyFavor(String userId); + } diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraUserFavoritesDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraUserFavoritesDomainServiceImpl.java index fdd0799..64b5296 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraUserFavoritesDomainServiceImpl.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraUserFavoritesDomainServiceImpl.java @@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** * 收藏表 领域service实现了 @@ -45,4 +46,10 @@ public class SchisandraUserFavoritesDomainServiceImpl implements SchisandraUserF return schisandraUserFavoritesService.update(schisandraUserFavorites) > 0; } + @Override + public List returnMyFavor(String userId){ + List schisandraUserFavoritesBOS = SchisandraUserFavoritesBOConverter.INSTANCE.convertEntityToBOList(schisandraUserFavoritesService.returnMyFavor(userId)); + return schisandraUserFavoritesBOS; + } + } diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraUserFavoritesService.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraUserFavoritesService.java index 57db2e4..70ac970 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraUserFavoritesService.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraUserFavoritesService.java @@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service; import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites; +import java.util.List; + /** * 收藏表 表服务接口 * @@ -42,5 +44,5 @@ public interface SchisandraUserFavoritesService { */ boolean deleteById(Long id); - + List returnMyFavor(String userId); } diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraUserFavoritesServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraUserFavoritesServiceImpl.java index 8849840..1cd94fb 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraUserFavoritesServiceImpl.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraUserFavoritesServiceImpl.java @@ -1,11 +1,14 @@ package com.schisandra.share.infra.basic.service.impl; +import com.mybatisflex.core.query.QueryWrapper; import com.schisandra.share.infra.basic.entity.SchisandraUserFavorites; import com.schisandra.share.infra.basic.dao.SchisandraUserFavoritesDao; +import com.schisandra.share.infra.basic.entity.table.SchisandraUserFavoritesTableDef; import com.schisandra.share.infra.basic.service.SchisandraUserFavoritesService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** * 收藏表 表服务实现类 @@ -63,5 +66,17 @@ public class SchisandraUserFavoritesServiceImpl implements SchisandraUserFavorit return this.schisandraUserFavoritesDao.deleteById(id) > 0; } + @Override + public List returnMyFavor(String userId) { + QueryWrapper wrapper = QueryWrapper.create() + .select(SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.ID, + SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.DETAIL_ID, + SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.CIRCLE_ID, + SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.CREATED_TIME) + .where(SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.USER_ID.eq(userId)) + .orderBy(SchisandraUserFavoritesTableDef.SCHISANDRA_USER_FAVORITES.CREATED_TIME,false); + return this.schisandraUserFavoritesDao.selectListByQuery(wrapper); + } + }