Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
荆蔚杰
/
java.archive
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
c52d3e84
authored
2021-11-25 10:52:17 +0800
by
荆蔚杰
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
文件上传逻辑优化
1 parent
6ce8d530
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
14 deletions
src/main/java/com/pashanhoo/file/service/DgFileService.java
src/main/java/com/pashanhoo/file/service/impl/DgFileServiceImpl.java
src/main/java/com/pashanhoo/file/service/DgFileService.java
View file @
c52d3e8
...
...
@@ -65,5 +65,5 @@ public interface DgFileService extends IService<DgFileDO> {
* @param fileRequest
* @return
*/
List
<
DgCatalogWithFileVO
>
upload
(
MultipartFile
file
,
AddDgFileRequest
fileRequest
)
throws
IO
Exception
;
List
<
DgCatalogWithFileVO
>
upload
(
MultipartFile
file
,
AddDgFileRequest
fileRequest
)
throws
Exception
;
}
...
...
src/main/java/com/pashanhoo/file/service/impl/DgFileServiceImpl.java
View file @
c52d3e8
package
com
.
pashanhoo
.
file
.
service
.
impl
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.pashanhoo.common.util.fileupload.MinioConfig
;
...
...
@@ -10,6 +11,7 @@ import com.pashanhoo.file.entity.DgFileDO;
import
com.pashanhoo.file.entity.vo.*
;
import
com.pashanhoo.file.mapper.DgFileMapper
;
import
com.pashanhoo.file.service.DgFileService
;
import
freemarker.template.utility.StringUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -130,20 +132,22 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
List
<
DgCatalogWithFileVO
>
upload
(
MultipartFile
uploadFile
,
AddDgFileRequest
fileRequest
)
throws
IO
Exception
{
public
List
<
DgCatalogWithFileVO
>
upload
(
MultipartFile
uploadFile
,
AddDgFileRequest
fileRequest
)
throws
Exception
{
//文件上传
FileAttribute
fileAttribute
=
minioUtil
.
upload
(
uploadFile
);
//如果序号不为空
Integer
firstXh
=
fileRequest
.
getXh
();
String
firstBsmCatalog
=
fileRequest
.
getBsmCatalog
();
QueryWrapper
<
DgFileDO
>
fileWrapper
=
new
QueryWrapper
<>();
//重新排序
fileWrapper
.
lambda
().
eq
(
DgFileDO:
:
getBsmCatalog
,
firstBsmCatalog
).
ge
(
DgFileDO:
:
getXh
,
firstXh
+
1
);
List
<
DgFileDO
>
list
=
this
.
list
(
fileWrapper
);
list
.
forEach
(
item
->
item
.
setXh
(
item
.
getXh
()
+
1
));
this
.
updateBatchById
(
list
);
if
(!
StrUtil
.
isEmptyIfStr
(
firstXh
))
{
String
firstBsmCatalog
=
fileRequest
.
getBsmCatalog
();
QueryWrapper
<
DgFileDO
>
fileWrapper
=
new
QueryWrapper
<>();
//重新排序
fileWrapper
.
lambda
().
eq
(
DgFileDO:
:
getBsmCatalog
,
firstBsmCatalog
).
ge
(
DgFileDO:
:
getXh
,
firstXh
+
1
);
List
<
DgFileDO
>
list
=
this
.
list
(
fileWrapper
);
list
.
forEach
(
item
->
item
.
setXh
(
item
.
getXh
()
+
1
));
this
.
updateBatchById
(
list
);
}
//文件信息入库
DgFileDO
fileDO
=
new
DgFileDO
();
...
...
@@ -153,12 +157,18 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
fileDO
.
setKzm
(
fileAttribute
.
getExpandName
());
fileDO
.
setScrq
(
DateTime
.
now
());
fileDO
.
setScr
(
null
);
fileDO
.
setXh
(
firstXh
+
1
);
if
(
StrUtil
.
isEmptyIfStr
(
firstXh
))
{
fileDO
.
setXh
(
1
);
}
else
{
fileDO
.
setXh
(
firstXh
+
1
);
}
this
.
save
(
fileDO
);
List
<
DgCatalogWithFileVO
>
fileList
=
dgfileMapper
.
getFileList
(
fileRequest
.
getBsmArchive
());
fileList
.
forEach
(
item
->
item
.
getFileLists
().
forEach
(
file
->
file
.
setSaveUrl
(
file
.
getFjurl
())));
fileList
.
forEach
(
catalogWithFiles
->
catalogWithFiles
.
getFileLists
().
forEach
(
file
->
file
.
setFjurl
(
minioUtil
.
getPreviewUrl
(
file
.
getFjurl
()))));
if
(
fileList
.
size
()
>
0
)
{
fileList
.
forEach
(
item
->
item
.
getFileLists
().
forEach
(
file
->
file
.
setSaveUrl
(
file
.
getFjurl
())));
fileList
.
forEach
(
catalogWithFiles
->
catalogWithFiles
.
getFileLists
().
forEach
(
file
->
file
.
setFjurl
(
minioUtil
.
getPreviewUrl
(
file
.
getFjurl
()))));
}
return
fileList
;
}
...
...
Please
register
or
sign in
to post a comment