Showing
4 changed files
with
93 additions
and
1 deletions
| @@ -4,6 +4,7 @@ package com.wondertek.controller; | @@ -4,6 +4,7 @@ package com.wondertek.controller; | ||
| 4 | import com.wondertek.dto.BackupChangeDto; | 4 | import com.wondertek.dto.BackupChangeDto; |
| 5 | import com.wondertek.dto.BackupMaterialDto; | 5 | import com.wondertek.dto.BackupMaterialDto; |
| 6 | import com.wondertek.dto.BackupUploadVo; | 6 | import com.wondertek.dto.BackupUploadVo; |
| 7 | +import com.wondertek.dto.MaterialUploadVo; | ||
| 7 | import com.wondertek.service.BackupMaterialService; | 8 | import com.wondertek.service.BackupMaterialService; |
| 8 | import com.wondertek.util.PageBean; | 9 | import com.wondertek.util.PageBean; |
| 9 | import com.wondertek.util.ResultBean; | 10 | import com.wondertek.util.ResultBean; |
| @@ -40,6 +41,32 @@ public class BackupMaterialController { | @@ -40,6 +41,32 @@ public class BackupMaterialController { | ||
| 40 | } | 41 | } |
| 41 | 42 | ||
| 42 | /** | 43 | /** |
| 44 | + * @description 素材库新增 | ||
| 45 | + * @author W5669 | ||
| 46 | + * @date 2025/7/24 | ||
| 47 | + * @param backupFile | ||
| 48 | + * @param backupUploadVo | ||
| 49 | + * @return ResultBean | ||
| 50 | + */ | ||
| 51 | + @PostMapping("add") | ||
| 52 | + ResultBean uploadToMaterial(MultipartFile backupFile, MaterialUploadVo materialUploadVo){ | ||
| 53 | + return backupMaterialService.uploadToMaterial(backupFile, materialUploadVo); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + /** | ||
| 57 | + * @description 素材库新增 | ||
| 58 | + * @author W5669 | ||
| 59 | + * @date 2025/8/19 | ||
| 60 | + * @param backupFile | ||
| 61 | + * @param backupUploadVo | ||
| 62 | + * @return ResultBean | ||
| 63 | + */ | ||
| 64 | + @PostMapping("delete") | ||
| 65 | + ResultBean batchDelete(@RequestParam("ids") Long[] ids){ | ||
| 66 | + return backupMaterialService.batchDelete(ids); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + /** | ||
| 43 | * @description 获取审片间垫片列表 | 70 | * @description 获取审片间垫片列表 |
| 44 | * @author W5669 | 71 | * @author W5669 |
| 45 | * @date 2025/7/24 | 72 | * @date 2025/7/24 |
| 1 | +package com.wondertek.dto; | ||
| 2 | + | ||
| 3 | +import lombok.Data; | ||
| 4 | + | ||
| 5 | +/** | ||
| 6 | + * @Description: 垫片上传参数 | ||
| 7 | + * @Author W5669 | ||
| 8 | + * @Create 2025/7/24 | ||
| 9 | + * @Version 1.0 | ||
| 10 | + */ | ||
| 11 | +@Data | ||
| 12 | +public class MaterialUploadVo { | ||
| 13 | + //png、jpg、mp4等 | ||
| 14 | + private String fileType; | ||
| 15 | + //垫片名 | ||
| 16 | + private String backupName; | ||
| 17 | + | ||
| 18 | +} |
| @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; | @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; | ||
| 4 | import com.wondertek.dto.BackupChangeDto; | 4 | import com.wondertek.dto.BackupChangeDto; |
| 5 | import com.wondertek.dto.BackupMaterialDto; | 5 | import com.wondertek.dto.BackupMaterialDto; |
| 6 | import com.wondertek.dto.BackupUploadVo; | 6 | import com.wondertek.dto.BackupUploadVo; |
| 7 | +import com.wondertek.dto.MaterialUploadVo; | ||
| 7 | import com.wondertek.entity.BackupMaterial; | 8 | import com.wondertek.entity.BackupMaterial; |
| 8 | import com.wondertek.util.PageBean; | 9 | import com.wondertek.util.PageBean; |
| 9 | import com.wondertek.util.ResultBean; | 10 | import com.wondertek.util.ResultBean; |
| @@ -18,4 +19,8 @@ public interface BackupMaterialService extends IService<BackupMaterial> { | @@ -18,4 +19,8 @@ public interface BackupMaterialService extends IService<BackupMaterial> { | ||
| 18 | ResultBean getByRoom(Long roomId); | 19 | ResultBean getByRoom(Long roomId); |
| 19 | 20 | ||
| 20 | ResultBean change(BackupChangeDto backupChangeDto); | 21 | ResultBean change(BackupChangeDto backupChangeDto); |
| 22 | + | ||
| 23 | + ResultBean uploadToMaterial(MultipartFile backupFile, MaterialUploadVo materialUploadVo); | ||
| 24 | + | ||
| 25 | + ResultBean batchDelete(Long[] ids); | ||
| 21 | } | 26 | } |
| @@ -14,7 +14,6 @@ import com.wondertek.entity.BackupConfig; | @@ -14,7 +14,6 @@ import com.wondertek.entity.BackupConfig; | ||
| 14 | import com.wondertek.entity.BackupMaterial; | 14 | import com.wondertek.entity.BackupMaterial; |
| 15 | import com.wondertek.entity.StreamTask; | 15 | import com.wondertek.entity.StreamTask; |
| 16 | import com.wondertek.enums.PlayTypeEnum; | 16 | import com.wondertek.enums.PlayTypeEnum; |
| 17 | -import com.wondertek.exception.BusinessException; | ||
| 18 | import com.wondertek.exception.ServiceException; | 17 | import com.wondertek.exception.ServiceException; |
| 19 | import com.wondertek.mapper.BackupConfigMapper; | 18 | import com.wondertek.mapper.BackupConfigMapper; |
| 20 | import com.wondertek.mapper.BackupMaterialMapper; | 19 | import com.wondertek.mapper.BackupMaterialMapper; |
| @@ -257,4 +256,47 @@ public class BackupMaterialServiceImpl extends ServiceImpl<BackupMaterialMapper, | @@ -257,4 +256,47 @@ public class BackupMaterialServiceImpl extends ServiceImpl<BackupMaterialMapper, | ||
| 257 | return ResultBean.ok(); | 256 | return ResultBean.ok(); |
| 258 | } | 257 | } |
| 259 | 258 | ||
| 259 | + @Override | ||
| 260 | + public ResultBean uploadToMaterial(MultipartFile backupFile, MaterialUploadVo materialUploadVo) { | ||
| 261 | + //校验backupFile后缀名 | ||
| 262 | + String realName = backupFile.getOriginalFilename(); | ||
| 263 | + String suffix = realName.substring(realName.lastIndexOf(".") + 1); | ||
| 264 | + if (!suffix.equalsIgnoreCase("mp4")) { | ||
| 265 | + throw new ServiceException("仅支持上传mp4格式的垫片文件!"); | ||
| 266 | + } | ||
| 267 | + | ||
| 268 | + //文件上传 | ||
| 269 | + String fileId = UUIDUtil.randomUUID(); | ||
| 270 | + String fileName = materialUploadVo.getBackupName() + "." + materialUploadVo.getFileType(); | ||
| 271 | + ///home/wondertek/material_file_assets/dianpian/2025/07/24/uuid/ | ||
| 272 | + String filedir = FileUtils.generateDianPianDir(fileId, realPath); | ||
| 273 | + String destFilePath = filedir + fileName;//文件上传目录,绝对路径 | ||
| 274 | + try { | ||
| 275 | + fileService.upload(backupFile, destFilePath); | ||
| 276 | + } catch (Exception e) { | ||
| 277 | + return ResultBean.error("上传文件异常"); | ||
| 278 | + } | ||
| 279 | + //保存垫片素材表 | ||
| 280 | + BackupMaterial backupMaterial = new BackupMaterial(); | ||
| 281 | + backupMaterial.setFileId(fileId); | ||
| 282 | + backupMaterial.setBackupName(materialUploadVo.getBackupName()); | ||
| 283 | + String relativePath = destFilePath.replace(realPath, ""); | ||
| 284 | + backupMaterial.setFilePath(relativePath); | ||
| 285 | + backupMaterial.setFileType(materialUploadVo.getFileType()); | ||
| 286 | + backupMaterial.setCreatedTime(LocalDateTime.now()); | ||
| 287 | + backupMaterial.setCreatedBy("admin"); | ||
| 288 | + backupMaterialMapper.insert(backupMaterial); | ||
| 289 | + | ||
| 290 | + return ResultBean.ok("新增素材成功"); | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + @Override | ||
| 294 | + public ResultBean batchDelete(Long[] ids) { | ||
| 295 | + LambdaQueryWrapper<BackupMaterial> wrapper = new LambdaQueryWrapper<>(); | ||
| 296 | + wrapper.in(BackupMaterial::getId,ids); | ||
| 297 | + int i = backupMaterialMapper.delete(wrapper); | ||
| 298 | + log.info("删除素材库记录条数:{}", i); | ||
| 299 | + return i > 0 ? ResultBean.ok() : ResultBean.error(); | ||
| 300 | + } | ||
| 301 | + | ||
| 260 | } | 302 | } |
-
Please register or login to post a comment