【8.0.4】【fav模块】更新用户收藏业务两个方法

pull/60/head
fengshuonan 2023-11-21 22:29:55 +08:00
parent 3912db568f
commit ac1dfaf585
3 changed files with 65 additions and 5 deletions

View File

@ -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);
}

View File

@ -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

View File

@ -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;
}
}