package com.sandu.ximon.admin.controller;
|
|
import com.alibaba.fastjson.JSON;
|
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<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("缺少对应用户权限");
|
}
|
|
List<LedSFile> listfile = ledProgramFileService.listfile(baseConditionVO, keyword);
|
return ResponseUtil.success(listfile);
|
}
|
|
@PostMapping("/uploading/{dateType}")
|
public ResponseVO<Object> uploadingFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "dateType", required = false) 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);
|
}
|
|
}
|