package com.mindskip.xzs.service.impl;
|
|
import com.mindskip.xzs.domain.Video;
|
import com.mindskip.xzs.repository.VideoMapper;
|
import com.mindskip.xzs.service.VideoService;
|
import com.mindskip.xzs.viewmodel.admin.video.VideoPageRequestVM;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
public class VideoServiceImpl extends BaseServiceImpl<Video> implements VideoService {
|
|
private final static String CACHE_NAME = "Video";
|
private final VideoMapper videoMapper;
|
|
@Autowired
|
public VideoServiceImpl(VideoMapper videoMapper) {
|
super(videoMapper);
|
this.videoMapper = videoMapper;
|
}
|
|
@Override
|
@Cacheable(value = CACHE_NAME, key = "#id", unless = "#result == null")
|
public Video selectById(Integer id) {
|
return super.selectById(id);
|
}
|
|
@Override
|
@CacheEvict(value = CACHE_NAME, key = "#record.id")
|
public int updateByIdFilter(Video record) {
|
return super.updateByIdFilter(record);
|
}
|
|
@Override
|
public PageInfo<Video> page(VideoPageRequestVM requestVM) {
|
return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
|
videoMapper.page(requestVM)
|
);
|
}
|
|
}
|