2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-04 e55c8b0a92eb9715edd90c31dfd4de51a47b588b
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LedSFileController.java
@@ -1,21 +1,25 @@
package com.sandu.ximon.admin.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
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
@@ -31,35 +35,58 @@
    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) {
        return ResponseUtil.success(ledProgramFileService.deleteFile(fileId));
    @PostMapping("/delete")
    public ResponseVO<Object> deleteLEDProgram(@RequestBody List<Long> fileIds) {
        if (!permissionConfig.check(MenuEnum.LED_FILE_S_DELETE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ledProgramFileService.deleteFile(fileIds));
    }
    @GetMapping("/list")
    public ResponseVO<Object> listfile(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        LambdaQueryWrapper<LedSFile> wrapper = ledProgramFileService.listFile();
        if (null != keyword) {
            wrapper.like(LedSFile::getOriginName, keyword);
        if (!permissionConfig.check(MenuEnum.LED_FILE_S_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        return ResponseUtil.success(ledProgramFileService.list(wrapper));
        List<LedSFile> listfile = ledProgramFileService.listfile(baseConditionVO, keyword);
        return ResponseUtil.success(listfile);
    }
    @PostMapping("/uploading")
    public ResponseVO<Object> uploadingFile(@RequestParam("file") MultipartFile file) {
    @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);
        return ResponseUtil.success(fileOperationRecordService.save(fileOperationRecord));
        fileOperationRecord.setDataType(dateType);
        fileOperationRecordService.save(fileOperationRecord);
        /**
         * 文件上传 日志记录开始
         */
        String content = "文件内容:" + JSON.toJSONString(fileUploadDto);
        StoreOperationRecordsUtils.storeOperationData(null, null, "文件上传", content);
        /**
         * 文件上传 日志记录结束
         */
        return ResponseUtil.success(fileUploadDto);
    }
}