From ac1dfaf58530088fd3642ea89c86bdfa3d956494 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 21 Nov 2023 22:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0.4=E3=80=91=E3=80=90fav=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E3=80=91=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E4=B8=9A=E5=8A=A1=E4=B8=A4=E4=B8=AA=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../favorite/modular/api/UserFavoriteApi.java | 20 +++++++++ .../service/SysUserFavoriteService.java | 7 +-- .../impl/SysUserFavoriteServiceImpl.java | 43 ++++++++++++++++++- 3 files changed, 65 insertions(+), 5 deletions(-) diff --git a/kernel-s-user-favorite/user-favorite-api/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/api/UserFavoriteApi.java b/kernel-s-user-favorite/user-favorite-api/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/api/UserFavoriteApi.java index c24d9b9bb..96dcbad0f 100644 --- a/kernel-s-user-favorite/user-favorite-api/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/api/UserFavoriteApi.java +++ b/kernel-s-user-favorite/user-favorite-api/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/api/UserFavoriteApi.java @@ -24,6 +24,8 @@ */ package cn.stylefeng.roses.kernel.favorite.modular.api; +import java.util.List; + /** * 用户收藏Api * @@ -32,5 +34,23 @@ package cn.stylefeng.roses.kernel.favorite.modular.api; */ public interface UserFavoriteApi { + /** + * 获取用户针对某个业务的收藏信息 + * + * @param userId 用户id + * @param favType 收藏的业务类型 + * @author fengshuonan + * @since 2023/11/21 22:18 + */ + List getFavoriteBusinessId(Long userId, String favType); + + /** + * 获取当前登录用户针对某个业务的收藏信息 + * + * @param favType 收藏的业务类型 + * @author fengshuonan + * @since 2023/11/21 22:18 + */ + List getCurrentUserFavoriteBusinessId(String favType); } diff --git a/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/SysUserFavoriteService.java b/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/SysUserFavoriteService.java index 441a00c93..d97bf7439 100644 --- a/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/SysUserFavoriteService.java +++ b/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/SysUserFavoriteService.java @@ -1,6 +1,7 @@ package cn.stylefeng.roses.kernel.favorite.modular.service; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.favorite.modular.api.UserFavoriteApi; import cn.stylefeng.roses.kernel.favorite.modular.entity.SysUserFavorite; import cn.stylefeng.roses.kernel.favorite.modular.pojo.request.SysUserFavoriteRequest; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,7 +14,7 @@ import java.util.List; * @author fengshuonan * @since 2023/11/21 22:09 */ -public interface SysUserFavoriteService extends IService { +public interface SysUserFavoriteService extends IService, UserFavoriteApi { /** * 新增用户收藏信息 @@ -63,7 +64,7 @@ public interface SysUserFavoriteService extends IService { /** * 获取用户收藏信息列表 * - * @param sysUserFavoriteRequest 请求参数 + * @param sysUserFavoriteRequest 请求参数 * @return List 返回结果 * @author fengshuonan * @since 2023/11/21 22:09 @@ -73,7 +74,7 @@ public interface SysUserFavoriteService extends IService { /** * 获取用户收藏信息分页列表 * - * @param sysUserFavoriteRequest 请求参数 + * @param sysUserFavoriteRequest 请求参数 * @return PageResult 返回结果 * @author fengshuonan * @since 2023/11/21 22:09 diff --git a/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/impl/SysUserFavoriteServiceImpl.java b/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/impl/SysUserFavoriteServiceImpl.java index a35515a2a..b1e80be42 100644 --- a/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/impl/SysUserFavoriteServiceImpl.java +++ b/kernel-s-user-favorite/user-favorite-business/src/main/java/cn/stylefeng/roses/kernel/favorite/modular/service/impl/SysUserFavoriteServiceImpl.java @@ -2,6 +2,8 @@ package cn.stylefeng.roses.kernel.favorite.modular.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; @@ -17,7 +19,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 用户收藏信息业务实现层 @@ -28,7 +32,7 @@ import java.util.List; @Service public class SysUserFavoriteServiceImpl extends ServiceImpl implements SysUserFavoriteService { - @Override + @Override public void add(SysUserFavoriteRequest sysUserFavoriteRequest) { SysUserFavorite sysUserFavorite = new SysUserFavorite(); BeanUtil.copyProperties(sysUserFavoriteRequest, sysUserFavorite); @@ -86,6 +90,42 @@ public class SysUserFavoriteServiceImpl extends ServiceImpl getFavoriteBusinessId(Long userId, String favType) { + + if (ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(favType)) { + return new ArrayList<>(); + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysUserFavorite::getUserId, userId); + queryWrapper.eq(SysUserFavorite::getFavType, favType); + + // 只查询业务id + queryWrapper.select(SysUserFavorite::getBusinessId); + + List sysUserFavoriteList = this.list(queryWrapper); + if (ObjectUtil.isEmpty(sysUserFavoriteList)) { + return new ArrayList<>(); + } + + return sysUserFavoriteList.stream().map(SysUserFavorite::getBusinessId).collect(Collectors.toList()); + } + + @Override + public List getCurrentUserFavoriteBusinessId(String favType) { + if (ObjectUtil.isEmpty(favType)) { + return new ArrayList<>(); + } + + LoginUser loginUserNullable = LoginContext.me().getLoginUserNullable(); + if (loginUserNullable == null) { + return new ArrayList<>(); + } + + return this.getFavoriteBusinessId(loginUserNullable.getUserId(), favType); + } + /** * 创建查询wrapper * @@ -109,5 +149,4 @@ public class SysUserFavoriteServiceImpl extends ServiceImpl