123
This commit is contained in:
@@ -1,15 +1,19 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserFollow;
|
||||
import com.ruoyi.cai.domain.UserVisitor;
|
||||
import com.ruoyi.cai.dto.app.query.StarOrVisitorReq;
|
||||
import com.ruoyi.cai.dto.app.query.VisitorQuery;
|
||||
import com.ruoyi.cai.dto.app.vo.user.UserBaseVo;
|
||||
import com.ruoyi.cai.dto.app.vo.user.UserStarOrVisitorList;
|
||||
import com.ruoyi.cai.mapper.UserVisitorMapper;
|
||||
import com.ruoyi.cai.service.UserCountService;
|
||||
import com.ruoyi.cai.service.UserFollowService;
|
||||
import com.ruoyi.cai.service.UserService;
|
||||
import com.ruoyi.cai.service.UserVisitorService;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
@@ -20,6 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 用户来访记录Service业务层处理
|
||||
@@ -34,6 +41,8 @@ public class UserVisitorServiceImpl extends ServiceImpl<UserVisitorMapper, UserV
|
||||
private UserCountService userCountService;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private UserFollowService userFollowService;
|
||||
@Override
|
||||
public boolean visitor(StarOrVisitorReq starOrVisitorReq) {
|
||||
User user = userService.getById(starOrVisitorReq.getToUserId());
|
||||
@@ -63,6 +72,52 @@ public class UserVisitorServiceImpl extends ServiceImpl<UserVisitorMapper, UserV
|
||||
throw new ServiceException("参数异常");
|
||||
}
|
||||
query.setUserId(LoginHelper.getUserId());
|
||||
return baseMapper.pageApp(pageQuery.build(),query);
|
||||
if(query.getType().equals(1)){ // 我的足迹
|
||||
return pageMyZhuJi(pageQuery, query);
|
||||
}else{
|
||||
return pageMyFanKe(pageQuery, query);
|
||||
}
|
||||
}
|
||||
|
||||
private Page<UserStarOrVisitorList> pageMyFanKe(PageQuery pageQuery, VisitorQuery query){
|
||||
Page<UserStarOrVisitorList> page = baseMapper.pageMyFanKe(pageQuery.build(), query);
|
||||
List<UserStarOrVisitorList> records = page.getRecords();
|
||||
if(CollectionUtils.isEmpty(records)){
|
||||
return page;
|
||||
}
|
||||
List<Long> userIds = records.stream().map(UserBaseVo::getUserId).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(userIds)){
|
||||
List<UserFollow> list = userFollowService.list(Wrappers.lambdaQuery(UserFollow.class)
|
||||
.select(UserFollow::getUserId,UserFollow::getFollowUser)
|
||||
.eq(UserFollow::getUserId, query.getUserId())
|
||||
.in(UserFollow::getFollowUser, userIds));
|
||||
Set<Long> callBackUserIds = list.stream().map(UserFollow::getFollowUser).collect(Collectors.toSet());
|
||||
for (UserStarOrVisitorList record : records) {
|
||||
record.setCallBackStar(callBackUserIds.contains(record.getUserId())?1:0);
|
||||
record.setIsVip(0);
|
||||
}
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
private Page<UserStarOrVisitorList> pageMyZhuJi(PageQuery pageQuery, VisitorQuery query){
|
||||
Page<UserStarOrVisitorList> page = baseMapper.pageMyZhuJi(pageQuery.build(), query);
|
||||
List<UserStarOrVisitorList> records = page.getRecords();
|
||||
if(CollectionUtils.isEmpty(records)){
|
||||
return page;
|
||||
}
|
||||
List<Long> userIds = records.stream().map(UserBaseVo::getUserId).collect(Collectors.toList());
|
||||
if(!CollectionUtils.isEmpty(userIds)){
|
||||
List<UserFollow> list = userFollowService.list(Wrappers.lambdaQuery(UserFollow.class)
|
||||
.select(UserFollow::getUserId,UserFollow::getFollowUser)
|
||||
.eq(UserFollow::getUserId, query.getUserId())
|
||||
.in(UserFollow::getFollowUser, userIds));
|
||||
Set<Long> callBackUserIds = list.stream().map(UserFollow::getFollowUser).collect(Collectors.toSet());
|
||||
for (UserStarOrVisitorList record : records) {
|
||||
record.setCallBackStar(callBackUserIds.contains(record.getUserId())?1:0);
|
||||
record.setIsVip(0);
|
||||
}
|
||||
}
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user