package com.qianwen.smartman.modules.dnc.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; import javax.validation.Valid; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.core.boot.ctrl.BladeController; import com.qianwen.core.scanner.modular.annotation.DeleteResource; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.annotation.PostResource; import com.qianwen.core.scanner.modular.annotation.PutResource; import com.qianwen.core.scanner.modular.stereotype.ApiResource; import com.qianwen.core.secure.BladeUser; import com.qianwen.core.secure.annotation.PreAuth; import com.qianwen.core.tool.api.R; import com.qianwen.smartman.modules.dnc.enums.DncEnums; import com.qianwen.smartman.modules.dnc.service.IFileService; import com.qianwen.smartman.modules.dnc.vo.ChangeFileParentVO; import com.qianwen.smartman.modules.dnc.vo.CreateFileVO; import com.qianwen.smartman.modules.dnc.vo.DeleteFileVO; import com.qianwen.smartman.modules.dnc.vo.FileHistoryVO; import com.qianwen.smartman.modules.dnc.vo.RenameVO; import com.qianwen.smartman.modules.dnc.vo.UpdateFileVO; import com.qianwen.smartman.modules.dnc.vo.UploadFileOssVO; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Api(value = "文件接口", tags = {"文件controller"}) @RestController @ApiResource({"blade-dnc/file"}) @Validated /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/dnc/controller/FileController.class */ public class FileController extends BladeController { private static final Logger log = LoggerFactory.getLogger(FileController.class); private final IFileService fileService; public FileController(final IFileService fileService) { this.fileService = fileService; } @PreAuth @PostResource({"/batch-save"}) @ApiOperation(value = "批量保存文件", notes = "批量保存文件") public R> batchSave(@Valid @RequestBody List list) { BladeUser user = getUser(); List result = this.fileService.batchSave(user, list, DncEnums.LogOperationType.UPLOAD.getCode(), DncEnums.LogFileSourceType.LOCAL_FILE.getCode()); return R.data(result); } @PostResource({"/create-file"}) @ApiOperation(value = "新建文件", notes = "新建文件(未上传)") public R createFile(@Validated @RequestBody CreateFileVO createFileVO) { BladeUser user = getUser(); long fileId = this.fileService.createFile(user.getUserId(), createFileVO).longValue(); createFileVO.setId(Long.valueOf(fileId)); return R.data(createFileVO); } @PutResource({"/update-file"}) @ApiOperation(value = "编辑文件内容", notes = "编辑文件内容") public R updateFile(@RequestBody UpdateFileVO updateFileVO) { this.fileService.updateFile(updateFileVO); return R.status(true); } @PreAuth @DeleteResource @ApiOperation(value = "删除文件", notes = "删除文件接口") public R delete(@RequestBody DeleteFileVO deleteFileVO) { this.fileService.delete(deleteFileVO); return R.status(true); } @PreAuth @PutResource({"/move"}) @ApiOperation(value = "移动文件", notes = "移动文件") public R move(@Validated @RequestBody ChangeFileParentVO changeFileParentVO) { this.fileService.move(changeFileParentVO); return R.status(true); } @PreAuth @PostResource({"/copy"}) @ApiOperation(value = "复制文件", notes = "复制文件") public R copy(@Validated @RequestBody ChangeFileParentVO changeFileParentVO) { this.fileService.copy(changeFileParentVO); return R.status(true); } @PreAuth @PutResource({"/{id}/rename"}) @ApiOperation(value = "重命名", notes = "重命名") public R rename(@PathVariable String id, @Validated @RequestBody RenameVO renameVO) { this.fileService.rename(Long.valueOf(id), renameVO); return R.status(true); } @PostResource({"/duplicateName"}) @ApiOperation(value = "是否名称重复", notes = "是否名称重复,null:不重复 非null: 文件名称") public R> isDuplicateName(@RequestBody List uploadFileOssVOList) { return R.data(this.fileService.duplicateName(uploadFileOssVOList)); } @PreAuth @GetResource({"/history"}) @ApiOperation(value = "版本历史", notes = "版本历史") public R> history(@RequestParam String pid, @RequestParam String name) { return R.data(this.fileService.history(Long.valueOf(pid), name)); } @PreAuth @PutResource({"/change-version"}) @ApiOperation(value = "切换版本", notes = "切换版本") public R changeVersion(@RequestParam String oldId, @RequestParam String newId) { return R.data(this.fileService.changeVersion(Long.valueOf(oldId), Long.valueOf(newId))); } @PreAuth @PostResource({"exists-file"}) @ApiOperation(value = "文件夹下是否存在文件", notes = "文件夹下是否存在文件") public R existsFile(@RequestBody DeleteFileVO deleteFileVO) { return R.data(this.fileService.existsFile(deleteFileVO)); } }