yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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));
    }
}