package com.fdkankan.fusion.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.fusion.common.util.LocalToOssUtil; import com.fdkankan.fusion.entity.CaseVideo; import com.fdkankan.fusion.entity.CaseVideoFolder; import com.fdkankan.fusion.mapper.ICaseVideoFolderMapper; import com.fdkankan.fusion.service.ICaseVideoFolderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.fusion.service.ICaseVideoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.List; /** *

* 服务实现类 *

* * @author * @since 2022-08-09 */ @Service public class CaseVideoFolderServiceImpl extends ServiceImpl implements ICaseVideoFolderService { @Autowired ICaseVideoService videoService; @Autowired LocalToOssUtil localToOssUtil; @Autowired UploadService uploadService; @Value("${upload.query-path}") private String queryPath; @Override public List getAllList(Integer caseId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CaseVideoFolder::getCaseId,caseId); wrapper.orderByAsc(CaseVideoFolder::getSort); wrapper.orderByAsc(CaseVideoFolder::getCreateTime); return this.list(wrapper); } @Override public void delete(Integer videoFolderId) { //删除文件夹,一并删除文件下文件 videoService.deleteByFolderId(videoFolderId); CaseVideoFolder videoFolder = this.getById(videoFolderId); this.removeById(videoFolderId); uploadService.deleteOssUrl(videoFolder.getVideoMergeUrl()); } @Override public long getCountByCaseId(Integer caseId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CaseVideoFolder::getCaseId,caseId); return this.count(wrapper); } @Override public CaseVideoFolder getByIdIfNotNew(Integer folderId,Integer caseId) { if(folderId == null){ long count = this.getCountByCaseId(caseId); CaseVideoFolder videoFolder = new CaseVideoFolder(); videoFolder.setVideoFolderName("讲解视频" +( count + 1)); videoFolder.setCaseId(caseId); videoFolder.setSort((int) (count + 1)); this.save(videoFolder); return videoFolder; } CaseVideoFolder byId = this.getById(folderId); byId.setUploadStatus(0); this.updateById(byId); return byId; } }