You've already forked FrameTour-BE
feat(VideoService): 视频查询接口增加景区名称
- 在 VideoServiceImpl 中添加景区名称查询功能 - 使用 ScenicRepository 批量获取景区名称 - 在视频列表中添加景区名称字段
This commit is contained in:
@@ -5,12 +5,16 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import com.ycwl.basic.mapper.VideoMapper;
|
import com.ycwl.basic.mapper.VideoMapper;
|
||||||
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
|
||||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||||
|
import com.ycwl.basic.repository.ScenicRepository;
|
||||||
import com.ycwl.basic.service.pc.VideoService;
|
import com.ycwl.basic.service.pc.VideoService;
|
||||||
import com.ycwl.basic.utils.ApiResponse;
|
import com.ycwl.basic.utils.ApiResponse;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:longbinbin
|
* @Author:longbinbin
|
||||||
@@ -21,18 +25,53 @@ public class VideoServiceImpl implements VideoService {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private VideoMapper videoMapper;
|
private VideoMapper videoMapper;
|
||||||
|
@Autowired
|
||||||
|
private ScenicRepository scenicRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<PageInfo<VideoRespVO>> pageQuery(VideoReqQuery videoReqQuery) {
|
public ApiResponse<PageInfo<VideoRespVO>> pageQuery(VideoReqQuery videoReqQuery) {
|
||||||
PageHelper.startPage(videoReqQuery.getPageNum(), videoReqQuery.getPageSize());
|
PageHelper.startPage(videoReqQuery.getPageNum(), videoReqQuery.getPageSize());
|
||||||
List<VideoRespVO> list = videoMapper.list(videoReqQuery);
|
List<VideoRespVO> list = videoMapper.list(videoReqQuery);
|
||||||
|
|
||||||
|
// 批量获取景区名称
|
||||||
|
List<Long> scenicIds = list.stream()
|
||||||
|
.map(VideoRespVO::getScenicId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Map<Long, String> scenicNames = scenicRepository.batchGetScenicNames(scenicIds);
|
||||||
|
|
||||||
|
// 设置景区名称
|
||||||
|
list.forEach(item -> {
|
||||||
|
if (item.getScenicId() != null) {
|
||||||
|
item.setScenicName(scenicNames.get(item.getScenicId()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
PageInfo<VideoRespVO> pageInfo = new PageInfo<>(list);
|
PageInfo<VideoRespVO> pageInfo = new PageInfo<>(list);
|
||||||
return ApiResponse.success(pageInfo);
|
return ApiResponse.success(pageInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<List<VideoRespVO>> list(VideoReqQuery videoReqQuery) {
|
public ApiResponse<List<VideoRespVO>> list(VideoReqQuery videoReqQuery) {
|
||||||
return ApiResponse.success(videoMapper.list(videoReqQuery));
|
List<VideoRespVO> list = videoMapper.list(videoReqQuery);
|
||||||
|
|
||||||
|
// 批量获取景区名称
|
||||||
|
List<Long> scenicIds = list.stream()
|
||||||
|
.map(VideoRespVO::getScenicId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Map<Long, String> scenicNames = scenicRepository.batchGetScenicNames(scenicIds);
|
||||||
|
|
||||||
|
// 设置景区名称
|
||||||
|
list.forEach(item -> {
|
||||||
|
if (item.getScenicId() != null) {
|
||||||
|
item.setScenicName(scenicNames.get(item.getScenicId()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return ApiResponse.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user