c52d3e84 by 荆蔚杰

文件上传逻辑优化

1 parent 6ce8d530
...@@ -65,5 +65,5 @@ public interface DgFileService extends IService<DgFileDO> { ...@@ -65,5 +65,5 @@ public interface DgFileService extends IService<DgFileDO> {
65 * @param fileRequest 65 * @param fileRequest
66 * @return 66 * @return
67 */ 67 */
68 List<DgCatalogWithFileVO> upload(MultipartFile file, AddDgFileRequest fileRequest) throws IOException; 68 List<DgCatalogWithFileVO> upload(MultipartFile file, AddDgFileRequest fileRequest) throws Exception;
69 } 69 }
......
1 package com.pashanhoo.file.service.impl; 1 package com.pashanhoo.file.service.impl;
2 2
3 import cn.hutool.core.date.DateTime; 3 import cn.hutool.core.date.DateTime;
4 import cn.hutool.core.util.StrUtil;
4 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 5 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 6 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6 import com.pashanhoo.common.util.fileupload.MinioConfig; 7 import com.pashanhoo.common.util.fileupload.MinioConfig;
...@@ -10,6 +11,7 @@ import com.pashanhoo.file.entity.DgFileDO; ...@@ -10,6 +11,7 @@ import com.pashanhoo.file.entity.DgFileDO;
10 import com.pashanhoo.file.entity.vo.*; 11 import com.pashanhoo.file.entity.vo.*;
11 import com.pashanhoo.file.mapper.DgFileMapper; 12 import com.pashanhoo.file.mapper.DgFileMapper;
12 import com.pashanhoo.file.service.DgFileService; 13 import com.pashanhoo.file.service.DgFileService;
14 import freemarker.template.utility.StringUtil;
13 import org.springframework.beans.factory.annotation.Autowired; 15 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.stereotype.Service; 16 import org.springframework.stereotype.Service;
15 import org.springframework.transaction.annotation.Transactional; 17 import org.springframework.transaction.annotation.Transactional;
...@@ -130,13 +132,14 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple ...@@ -130,13 +132,14 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
130 */ 132 */
131 @Override 133 @Override
132 @Transactional(rollbackFor = Exception.class) 134 @Transactional(rollbackFor = Exception.class)
133 public List<DgCatalogWithFileVO> upload(MultipartFile uploadFile, AddDgFileRequest fileRequest) throws IOException { 135 public List<DgCatalogWithFileVO> upload(MultipartFile uploadFile, AddDgFileRequest fileRequest) throws Exception {
134 //文件上传 136 //文件上传
135 FileAttribute fileAttribute = minioUtil.upload(uploadFile); 137 FileAttribute fileAttribute = minioUtil.upload(uploadFile);
136 138
139 //如果序号不为空
137 Integer firstXh = fileRequest.getXh(); 140 Integer firstXh = fileRequest.getXh();
141 if (!StrUtil.isEmptyIfStr(firstXh)) {
138 String firstBsmCatalog = fileRequest.getBsmCatalog(); 142 String firstBsmCatalog = fileRequest.getBsmCatalog();
139
140 QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>(); 143 QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
141 144
142 //重新排序 145 //重新排序
...@@ -144,6 +147,7 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple ...@@ -144,6 +147,7 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
144 List<DgFileDO> list = this.list(fileWrapper); 147 List<DgFileDO> list = this.list(fileWrapper);
145 list.forEach(item -> item.setXh(item.getXh() + 1)); 148 list.forEach(item -> item.setXh(item.getXh() + 1));
146 this.updateBatchById(list); 149 this.updateBatchById(list);
150 }
147 151
148 //文件信息入库 152 //文件信息入库
149 DgFileDO fileDO = new DgFileDO(); 153 DgFileDO fileDO = new DgFileDO();
...@@ -153,12 +157,18 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple ...@@ -153,12 +157,18 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
153 fileDO.setKzm(fileAttribute.getExpandName()); 157 fileDO.setKzm(fileAttribute.getExpandName());
154 fileDO.setScrq(DateTime.now()); 158 fileDO.setScrq(DateTime.now());
155 fileDO.setScr(null); 159 fileDO.setScr(null);
160 if (StrUtil.isEmptyIfStr(firstXh)) {
161 fileDO.setXh(1);
162 }else {
156 fileDO.setXh(firstXh + 1); 163 fileDO.setXh(firstXh + 1);
164 }
157 this.save(fileDO); 165 this.save(fileDO);
158 166
159 List<DgCatalogWithFileVO> fileList = dgfileMapper.getFileList(fileRequest.getBsmArchive()); 167 List<DgCatalogWithFileVO> fileList = dgfileMapper.getFileList(fileRequest.getBsmArchive());
168 if (fileList.size() > 0) {
160 fileList.forEach(item->item.getFileLists().forEach(file->file.setSaveUrl(file.getFjurl()))); 169 fileList.forEach(item->item.getFileLists().forEach(file->file.setSaveUrl(file.getFjurl())));
161 fileList.forEach(catalogWithFiles->catalogWithFiles.getFileLists().forEach(file->file.setFjurl(minioUtil.getPreviewUrl(file.getFjurl())))); 170 fileList.forEach(catalogWithFiles->catalogWithFiles.getFileLists().forEach(file->file.setFjurl(minioUtil.getPreviewUrl(file.getFjurl()))));
171 }
162 172
163 return fileList; 173 return fileList;
164 } 174 }
......