mirror of https://gitee.com/stylefeng/roses
【8.0.4】【fav模块】更新用户收藏业务两个方法
parent
3912db568f
commit
ac1dfaf585
|
@ -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<Long> getFavoriteBusinessId(Long userId, String favType);
|
||||
|
||||
/**
|
||||
* 获取当前登录用户针对某个业务的收藏信息
|
||||
*
|
||||
* @param favType 收藏的业务类型
|
||||
* @author fengshuonan
|
||||
* @since 2023/11/21 22:18
|
||||
*/
|
||||
List<Long> getCurrentUserFavoriteBusinessId(String favType);
|
||||
|
||||
}
|
||||
|
|
|
@ -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<SysUserFavorite> {
|
||||
public interface SysUserFavoriteService extends IService<SysUserFavorite>, UserFavoriteApi {
|
||||
|
||||
/**
|
||||
* 新增用户收藏信息
|
||||
|
@ -63,7 +64,7 @@ public interface SysUserFavoriteService extends IService<SysUserFavorite> {
|
|||
/**
|
||||
* 获取用户收藏信息列表
|
||||
*
|
||||
* @param sysUserFavoriteRequest 请求参数
|
||||
* @param sysUserFavoriteRequest 请求参数
|
||||
* @return List<SysUserFavorite> 返回结果
|
||||
* @author fengshuonan
|
||||
* @since 2023/11/21 22:09
|
||||
|
@ -73,7 +74,7 @@ public interface SysUserFavoriteService extends IService<SysUserFavorite> {
|
|||
/**
|
||||
* 获取用户收藏信息分页列表
|
||||
*
|
||||
* @param sysUserFavoriteRequest 请求参数
|
||||
* @param sysUserFavoriteRequest 请求参数
|
||||
* @return PageResult<SysUserFavorite> 返回结果
|
||||
* @author fengshuonan
|
||||
* @since 2023/11/21 22:09
|
||||
|
|
|
@ -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<SysUserFavoriteMapper, SysUserFavorite> 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<SysUserFavoriteMappe
|
|||
return sysUserFavorite;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> getFavoriteBusinessId(Long userId, String favType) {
|
||||
|
||||
if (ObjectUtil.isEmpty(userId) || ObjectUtil.isEmpty(favType)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<SysUserFavorite> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysUserFavorite::getUserId, userId);
|
||||
queryWrapper.eq(SysUserFavorite::getFavType, favType);
|
||||
|
||||
// 只查询业务id
|
||||
queryWrapper.select(SysUserFavorite::getBusinessId);
|
||||
|
||||
List<SysUserFavorite> sysUserFavoriteList = this.list(queryWrapper);
|
||||
if (ObjectUtil.isEmpty(sysUserFavoriteList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
return sysUserFavoriteList.stream().map(SysUserFavorite::getBusinessId).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Long> 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<SysUserFavoriteMappe
|
|||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue