package com.sandu.ximon.admin.newnova.file; 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.config.NovaFileConfig; import com.sandu.common.object.BaseConditionVO; import com.sandu.common.util.ResponseUtil; import com.sandu.ximon.admin.newnova.param.NewNovaFileParam; import com.sandu.ximon.admin.security.PermissionConfig; import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; import com.sandu.ximon.dao.domain.NewNovaFile; import com.sandu.ximon.dao.enums.MenuEnum; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * @author LiuHaoNan * @date 2022/11/8 */ @RestController @AllArgsConstructor @RequestMapping("/v1/nova/file") public class NewNovaFileController { private NovaFileConfig fileConfig; private PermissionConfig permissionConfig; private final NewNovaFileService newNovaFileService; @PostMapping("/add") public ResponseVO addLEDProgram(@RequestBody @Validated NewNovaFileParam param) { if (!permissionConfig.check(MenuEnum.LED_NEW_FILE_ADD.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.success(newNovaFileService.addProgramFile(param)); } @PostMapping("/delete") public ResponseVO deleteLEDProgram(@RequestBody List fileIds) { if (!permissionConfig.check(MenuEnum.LED_NEW_FILE_DEL.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } return ResponseUtil.success(newNovaFileService.deleteFile(fileIds)); } @GetMapping("/list") public ResponseVO listfile(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { if (!permissionConfig.check(MenuEnum.LED_NEW_FILE_LIST.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } LambdaQueryWrapper wrapper = newNovaFileService.listFile(); if (keyword != null && !keyword.isEmpty()) { wrapper.like(NewNovaFile::getName, keyword); } PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); List list = newNovaFileService.list(wrapper); list.forEach(file -> { file.setFileUrl(fileConfig.getFileUrl() + file.getFileUrl()); if (file.getScreenShot() != null) { file.setScreenShot(fileConfig.getFileUrl() + file.getScreenShot()); } }); return ResponseUtil.success(list); } @PostMapping("/uploading") public ResponseVO uploadingFile(@RequestParam("file") MultipartFile file) { if (!permissionConfig.check(MenuEnum.LED_NEW_FILE_UPLOAD.getCode())) { return ResponseUtil.fail("缺少对应用户权限"); } NewNovaFile fileUploadDto = newNovaFileService.uploadFile(file); /** * 文件上传 日志记录开始 */ String content = "文件内容:" + JSON.toJSONString(fileUploadDto); StoreOperationRecordsUtils.storeOperationData(null, null, "文件上传", content); /** * 文件上传 日志记录结束 */ return ResponseUtil.success(fileUploadDto); } }