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<List<UploadFileOssVO>> batchSave(@Valid @RequestBody List<UploadFileOssVO> list) {
|
BladeUser user = getUser();
|
List<UploadFileOssVO> 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<CreateFileVO> 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<Void> updateFile(@RequestBody UpdateFileVO updateFileVO) {
|
this.fileService.updateFile(updateFileVO);
|
return R.status(true);
|
}
|
|
@PreAuth
|
@DeleteResource
|
@ApiOperation(value = "删除文件", notes = "删除文件接口")
|
public R<Void> delete(@RequestBody DeleteFileVO deleteFileVO) {
|
this.fileService.delete(deleteFileVO);
|
return R.status(true);
|
}
|
|
@PreAuth
|
@PutResource({"/move"})
|
@ApiOperation(value = "移动文件", notes = "移动文件")
|
public R<Void> move(@Validated @RequestBody ChangeFileParentVO changeFileParentVO) {
|
this.fileService.move(changeFileParentVO);
|
return R.status(true);
|
}
|
|
@PreAuth
|
@PostResource({"/copy"})
|
@ApiOperation(value = "复制文件", notes = "复制文件")
|
public R<Void> copy(@Validated @RequestBody ChangeFileParentVO changeFileParentVO) {
|
this.fileService.copy(changeFileParentVO);
|
return R.status(true);
|
}
|
|
@PreAuth
|
@PutResource({"/{id}/rename"})
|
@ApiOperation(value = "重命名", notes = "重命名")
|
public R<Void> 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<List<String>> isDuplicateName(@RequestBody List<UploadFileOssVO> uploadFileOssVOList) {
|
return R.data(this.fileService.duplicateName(uploadFileOssVOList));
|
}
|
|
@PreAuth
|
@GetResource({"/history"})
|
@ApiOperation(value = "版本历史", notes = "版本历史")
|
public R<List<FileHistoryVO>> 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<Boolean> 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<Boolean> existsFile(@RequestBody DeleteFileVO deleteFileVO) {
|
return R.data(this.fileService.existsFile(deleteFileVO));
|
}
|
}
|