package cc.mrbird.febs.video.service.impl; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.utils.AppContants; import cc.mrbird.febs.video.entity.VideoMasterSourceEntity; import cc.mrbird.febs.video.mapper.VideoMasterItemsMapper; import cc.mrbird.febs.video.mapper.VideoMasterSourceMapper; import cc.mrbird.febs.video.service.IVideoMasterSourceService; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** * @author wzy * @date 2021-12-14 **/ @Slf4j @Service @RequiredArgsConstructor public class VideoMasterSourceServiceImpl extends ServiceImpl implements IVideoMasterSourceService { private final VideoMasterItemsMapper videoMasterItemsMapper; @Override public IPage findInPage(VideoMasterSourceEntity source, QueryRequest queryRequest) { Page page = new Page<>(queryRequest.getPageNum(), queryRequest.getPageSize()); return this.baseMapper.selectInPage(source, page); } @Transactional @Override public void modifySourceById(VideoMasterSourceEntity source) { source.setUpdatedTime(new Date()); this.baseMapper.updateById(source); // 同步修改 即将所有关联到这个资源的视频中的url更新为最新url if (AppContants.FLAG_INT_Y.equals(source.getIsSyncUpdate())) { this.videoMasterItemsMapper.updateVideoUrlBySourceId(source.getUrl(), source.getId()); } } @Override public void delSource(String ids) { List idList = StrUtil.split(ids, ','); this.baseMapper.updateDelFlag(AppContants.FLAG_INT_Y, idList); } }