package com.sandu.ximon.admin.controller; import com.alibaba.fastjson.JSON; 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.security.PermissionConfig; import com.sandu.ximon.admin.service.FileOperationRecordService; import com.sandu.ximon.admin.service.LedSFileService; import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; import com.sandu.ximon.dao.domain.FileOperationRecord; import com.sandu.ximon.dao.domain.LedSFile; import com.sandu.ximon.dao.enums.MenuEnum; 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; import java.util.List; /** * @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; private PermissionConfig permissionConfig; @PostMapping("/add") public ResponseVO addLEDProgram(@RequestParam("file") MultipartFile file) { if (!permissionConfig.check(MenuEnum.LED_FILE_S_ADD.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.success(ledProgramFileService.addProgramFile(file)); // return ResponseUtil.success(aliOssFileService.uploadFile(file)); } @PostMapping("/delete/{fileId}") public ResponseVO deleteLEDProgram(@PathVariable Long fileId) { if (!permissionConfig.check(MenuEnum.LED_FILE_S_DELETE.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.success(ledProgramFileService.deleteFile(fileId)); } @GetMapping("/list") public ResponseVO listfile(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { if (!permissionConfig.check(MenuEnum.LED_FILE_S_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } List listfile = ledProgramFileService.listfile(baseConditionVO, keyword); return ResponseUtil.success(listfile); } @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(); // if("mp4".equals(fileUploadDto.getFileType())){ // fileUploadDto.setScreenShot(fileUploadDto.getFileUrl()+"?x-oss-process=video/snapshot,t_10000,m_fast"); // } BeanUtils.copyProperties(fileUploadDto, fileOperationRecord); fileOperationRecord.setDataType(dateType); fileOperationRecordService.save(fileOperationRecord); /** * 文件上传 日志记录开始 */ String content = "文件内容:" + JSON.toJSONString(fileUploadDto); StoreOperationRecordsUtils.storeOperationData(null, null, "文件上传", content); /** * 文件上传 日志记录结束 */ return ResponseUtil.success(fileUploadDto); } }