CaseVideoFolderServiceImpl.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.fdkankan.fusion.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.fdkankan.fusion.common.util.LocalToOssUtil;
  4. import com.fdkankan.fusion.entity.CaseVideo;
  5. import com.fdkankan.fusion.entity.CaseVideoFolder;
  6. import com.fdkankan.fusion.mapper.ICaseVideoFolderMapper;
  7. import com.fdkankan.fusion.service.ICaseVideoFolderService;
  8. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  9. import com.fdkankan.fusion.service.ICaseVideoService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.stereotype.Service;
  13. import java.util.List;
  14. /**
  15. * <p>
  16. * 服务实现类
  17. * </p>
  18. *
  19. * @author
  20. * @since 2022-08-09
  21. */
  22. @Service
  23. public class CaseVideoFolderServiceImpl extends ServiceImpl<ICaseVideoFolderMapper, CaseVideoFolder> implements ICaseVideoFolderService {
  24. @Autowired
  25. ICaseVideoService videoService;
  26. @Autowired
  27. LocalToOssUtil localToOssUtil;
  28. @Autowired
  29. UploadService uploadService;
  30. @Value("${upload.query-path}")
  31. private String queryPath;
  32. @Override
  33. public List<CaseVideoFolder> getAllList(Integer caseId) {
  34. LambdaQueryWrapper<CaseVideoFolder> wrapper = new LambdaQueryWrapper<>();
  35. wrapper.eq(CaseVideoFolder::getCaseId,caseId);
  36. wrapper.orderByAsc(CaseVideoFolder::getSort);
  37. wrapper.orderByAsc(CaseVideoFolder::getCreateTime);
  38. return this.list(wrapper);
  39. }
  40. @Override
  41. public void delete(Integer videoFolderId) {
  42. //删除文件夹,一并删除文件下文件
  43. videoService.deleteByFolderId(videoFolderId);
  44. CaseVideoFolder videoFolder = this.getById(videoFolderId);
  45. this.removeById(videoFolderId);
  46. uploadService.deleteOssUrl(videoFolder.getVideoMergeUrl());
  47. }
  48. @Override
  49. public long getCountByCaseId(Integer caseId) {
  50. LambdaQueryWrapper<CaseVideoFolder> wrapper = new LambdaQueryWrapper<>();
  51. wrapper.eq(CaseVideoFolder::getCaseId,caseId);
  52. return this.count(wrapper);
  53. }
  54. @Override
  55. public CaseVideoFolder getByIdIfNotNew(Integer folderId,Integer caseId) {
  56. if(folderId == null){
  57. long count = this.getCountByCaseId(caseId);
  58. CaseVideoFolder videoFolder = new CaseVideoFolder();
  59. videoFolder.setVideoFolderName("讲解视频" +( count + 1));
  60. videoFolder.setCaseId(caseId);
  61. videoFolder.setSort((int) (count + 1));
  62. this.save(videoFolder);
  63. return videoFolder;
  64. }
  65. CaseVideoFolder byId = this.getById(folderId);
  66. byId.setUploadStatus(0);
  67. this.updateById(byId);
  68. return byId;
  69. }
  70. }