文件上传逻辑优化
Showing
2 changed files
with
13 additions
and
3 deletions
... | @@ -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 | } | ... | ... |
-
Please register or sign in to post a comment