yanghb
2024-12-17 1287337fd0b0c156ec79712f9a600ebeffefe3a6
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
package com.zzg.system.service.system.impl;
 
import com.zzg.common.utils.DateUtils;
import com.zzg.common.utils.SecurityUtils;
import com.zzg.common.utils.uuid.IdUtils;
import com.zzg.system.domain.SysFiles;
 
import com.zzg.system.mapper.system.SysFilesMapper;
import com.zzg.system.service.system.ISysFilesService;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.List;
 
/**
 * 文件Service业务层处理
 *
 * @author yepanpan
 * @date 2020-11-20
 */
@Service
public class SysFilesServiceImpl implements ISysFilesService {
    @Resource
    private SysFilesMapper sysFilesMapper;
 
    /**
     * 查询文件
     *
     * @param id 文件ID
     * @return 文件
     */
    @Override
    public SysFiles selectSysFilesById(Long id) {
        return sysFilesMapper.selectSysFilesById(id);
    }
 
    /**
     * 查询文件列表
     *
     * @param sysFiles 文件
     * @return 文件
     */
    @Override
    public List<SysFiles> selectSysFilesList(SysFiles sysFiles) {
        return sysFilesMapper.selectSysFilesList(sysFiles);
    }
 
    /**
     * 查询文件列表
     *
     * @param fileIds 文件唯一性虚拟ID
     * @return 文件集合
     */
    @Override
    public List<SysFiles> selectSysFilesListByFileIds(String[] fileIds) {
        return sysFilesMapper.selectSysFilesListByFileIds(fileIds);
    }
 
    /**
     * 查询文件
     *
     * @param sysFiles 文件
     * @return 文件
     */
    @Override
    public SysFiles selectSysFiles(SysFiles sysFiles) {
        return sysFilesMapper.selectSysFiles(sysFiles);
    }
 
    /**
     * 查询文件
     *
     * @param fileId 虚拟自生成文件ID
     * @return 文件
     */
    @Override
    public SysFiles selectSysFilesByFileId(String fileId) {
        return sysFilesMapper.selectSysFilesByFileId(fileId);
    }
 
    /**
     * 新增文件
     *
     * @param sysFiles 文件
     * @return 结果
     */
    @Override
    public int insertSysFiles(SysFiles sysFiles) {
        sysFiles.setCreateBy(SecurityUtils.getUsername());
        sysFiles.setCreateTime(DateUtils.getNowDate());
        sysFiles.setId(IdUtils.fastSimpleUUID());
        return sysFilesMapper.insertSysFiles(sysFiles);
    }
 
//    /**
//     * 上传文件并保存到数据库
//     *
//     * @param file 文件
//     * @return 数据库中生成的FileId
//     */
//    @Override
//    @Transactional(rollbackFor = Throwable.class)
//    public String UploadAndSave(File file) throws IOException {
//        String filePath = RuoYiConfig.getUploadPath();
//        if(!file.exists()){
//            throw new CustomException("文件不存在");
//        }
//        // 先上传
//        MultipartFile multipartFile = MultipartFileUtils.getMultipartFile(file);
//        UpLoadFileVo upload = FileUploadUtils.upload(filePath, multipartFile);
//
//        SysFiles files = new SysFiles();
//
//        String md5 = DigestUtils.md5Hex(multipartFile.getInputStream());
//        files.setMd5(md5);
//        SysFiles old = sysFilesMapper.selectSysFiles(files);
//
//        if(old == null) {
//            files.setTitle(multipartFile.getOriginalFilename());
//            // 上传并返回新文件名称
//            files.setPath(upload.getPath());
////            files.setRealPath(upload.getRealPath().replaceAll("\\\\","/"));
//            files.setCreateTime(DateUtils.getNowDate());
//            files.setCreateBy(SecurityUtils.getUsername());
//            files.setFileId(new SnowFlake(0L,0L).generateNextId());
//
//            int i = sysFilesMapper.insertSysFiles(files);
//            if(i < 1){
//                throw new CustomException("文件保存出错了");
//            }
//        }else {
//            files = old;
//        }
//        return files.getFileId();
//    }
 
 
//    /**
//     * 预览文件
//     * @param path 文件相对路径
//     * @return
//     */
//    @Override
//    public String preview(String path){
//        String realPath = "";
//        if(path.contains(Constants.RESOURCE_PREFIX+"/tempUpload")){
//            realPath = path.replace(Constants.RESOURCE_PREFIX+"/tempUpload", RuoYiConfig.getTempUploadPath());
//        }
//        if(path.contains(Constants.RESOURCE_PREFIX+"/upload")){
//            realPath = path.replace(Constants.RESOURCE_PREFIX+"/upload", RuoYiConfig.getUploadPath());
//        }
//
//        String pdfPath = "";
//        try {
//            File file = new File(realPath);
//            String extension = FileUploadUtils.getExtension(file);
//            File pdfFile = new File(realPath.replaceAll(extension, "pdf"));
//            if(pdfFile.exists()){
//                String originalFileName = path.substring(path.lastIndexOf("/") + 1);
//                String pdfFileName = pdfFile.getName();
//                return path.replace(originalFileName, pdfFileName);
//            }
//            String pdfUrl = PdfUtils.convertToPdf(realPath, null);
//            if(StringUtils.isEmpty(pdfUrl)) throw new CustomException(CustomExceptionEnums.PREVIEW_FAILED);
//
//            String baseDir = "";
//            String pdfFileName = FileUploadUtils.extractFilename(pdfFile);
//            if(realPath.contains(RuoYiConfig.getTempProfile())){
//                baseDir = RuoYiConfig.getTempUploadPath();
//                pdfPath = FileUploadUtils.getTempPathFileName(baseDir, pdfFileName);
//                return StringUtils.isEmpty(pdfPath) ? pdfPath : pdfPath.replaceAll("\\\\", "/");
//            }
//            if(realPath.contains(RuoYiConfig.getProfile())){
//                baseDir = RuoYiConfig.getUploadPath();
//                pdfPath = FileUploadUtils.getPathFileName(baseDir, pdfFileName);
//                return StringUtils.isEmpty(pdfPath) ? pdfPath : pdfPath.replaceAll("\\\\", "/");
//            }
//        }catch (IOException e) {
//            e.printStackTrace();
//            throw new CustomException(CustomExceptionEnums.PREVIEW_FAILED);
//        }
//        return null;
//    }
 
    /**
     * 修改文件
     *
     * @param sysFiles 文件
     * @return 结果
     */
    @Override
    public int updateSysFiles(SysFiles sysFiles) {
        return sysFilesMapper.updateSysFiles(sysFiles);
    }
 
    /**
     * 批量删除文件
     *
     * @param ids 需要删除的文件ID
     * @return 结果
     */
    @Override
    public int deleteSysFilesByIds(Long[] ids) {
        return sysFilesMapper.deleteSysFilesByIds(ids);
    }
 
    /**
     * 批量删除文件
     *
     * @param ids 需要删除的文件ID
     * @return 结果
     */
    @Override
    public int deleteSysFilesByFileIds(List<String> ids) {
        return sysFilesMapper.deleteSysFilesByFileIds(ids);
    }
 
    /**
     * 删除文件信息
     *
     * @param id 文件ID
     * @return 结果
     */
    @Override
    public int deleteSysFilesById(Long id) {
        return sysFilesMapper.deleteSysFilesById(id);
    }
}