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.security.annotation.AnonymousAccess;
|
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.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;
|
|
/**
|
* @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<Object> 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<Object> 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<Object> listfile(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
|
if (!permissionConfig.check(MenuEnum.LED_FILE_S_LIST.getCode())) {
|
return ResponseUtil.fail("缺少对应用户权限");
|
}
|
LambdaQueryWrapper<LedSFile> wrapper = ledProgramFileService.listFile();
|
if (keyword != null && !keyword.isEmpty()) {
|
wrapper.like(LedSFile::getOriginName, keyword);
|
}
|
|
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
|
return ResponseUtil.success(ledProgramFileService.list(wrapper));
|
}
|
|
@PostMapping("/uploading/{dateType}")
|
public ResponseVO<Object> 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);
|
return ResponseUtil.success(fileUploadDto);
|
}
|
|
}
|