package com.sandu.ximon.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.sandu.common.domain.ResponseVO; import com.sandu.common.file.FileUploadDto; import com.sandu.common.file.impl.AliOssFileServiceImpl; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.service.FileOperationRecordService; import com.sandu.ximon.admin.service.LedSFileService; import com.sandu.ximon.dao.domain.FileOperationRecord; import com.sandu.ximon.dao.domain.LedSFile; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** * @Author liuhaonan * @Date 2022/1/13 17:02 * @Version 1.0 */ @Slf4j @RestController @AllArgsConstructor @RequestMapping("/v1/xixun/file") public class LedSFileController { private final LedSFileService ledProgramFileService; private final AliOssFileServiceImpl aliOssFileService; private final FileOperationRecordService fileOperationRecordService; @PostMapping("/add") public ResponseVO addLEDProgram(@RequestParam("file") MultipartFile file) { return ResponseUtil.success(ledProgramFileService.addProgramFile(file)); // return ResponseUtil.success(aliOssFileService.uploadFile(file)); } @PostMapping("/delete/{fileId}") public ResponseVO deleteLEDProgram(@PathVariable Long fileId) { return ResponseUtil.success(ledProgramFileService.deleteFile(fileId)); } @GetMapping("/list") public ResponseVO listfile(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); LambdaQueryWrapper wrapper = ledProgramFileService.listFile(); if (null != keyword) { wrapper.like(LedSFile::getOriginName, keyword); } return ResponseUtil.success(ledProgramFileService.list(wrapper)); } @PostMapping("/uploading/{dateType}") public ResponseVO uploadingFile(@RequestParam("file") MultipartFile file,@PathVariable Integer dateType) { FileUploadDto fileUploadDto = aliOssFileService.uploadFile(file); if("mp4".equals(fileUploadDto.getFileType())){ fileUploadDto.setScreenShot(fileUploadDto.getFileUrl()+"?x-oss-process=video/snapshot,t_10000,m_fast"); } FileOperationRecord fileOperationRecord = new FileOperationRecord(); BeanUtils.copyProperties(fileUploadDto, fileOperationRecord); fileOperationRecord.setDataType(dateType); fileOperationRecordService.save(fileOperationRecord); return ResponseUtil.success(fileUploadDto); } }