1fa332b8 by 荆蔚杰

文件上传和排序接口整合

1 parent 73219f9c
...@@ -4,10 +4,12 @@ import java.util.Date; ...@@ -4,10 +4,12 @@ import java.util.Date;
4 import java.io.Serializable; 4 import java.io.Serializable;
5 5
6 import com.baomidou.mybatisplus.annotation.TableField; 6 import com.baomidou.mybatisplus.annotation.TableField;
7 import com.fasterxml.jackson.annotation.JsonFormat;
7 import io.swagger.annotations.ApiModel; 8 import io.swagger.annotations.ApiModel;
8 import io.swagger.annotations.ApiModelProperty; 9 import io.swagger.annotations.ApiModelProperty;
9 import lombok.Data; 10 import lombok.Data;
10 import lombok.EqualsAndHashCode; 11 import lombok.EqualsAndHashCode;
12 import org.springframework.format.annotation.DateTimeFormat;
11 13
12 /** 14 /**
13 * <p> 15 * <p>
...@@ -41,6 +43,8 @@ public class AddDgFileRequest implements Serializable { ...@@ -41,6 +43,8 @@ public class AddDgFileRequest implements Serializable {
41 * 上传日期 43 * 上传日期
42 */ 44 */
43 @ApiModelProperty(name = "scrq", value = "上传日期") 45 @ApiModelProperty(name = "scrq", value = "上传日期")
46 @DateTimeFormat(pattern = "yyyy-MM-dd")
47 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
44 private Date scrq; 48 private Date scrq;
45 49
46 /** 50 /**
......
...@@ -74,4 +74,10 @@ public class DgFileListVO implements Serializable { ...@@ -74,4 +74,10 @@ public class DgFileListVO implements Serializable {
74 */ 74 */
75 @ApiModelProperty(name = "xh", value = "序号") 75 @ApiModelProperty(name = "xh", value = "序号")
76 private Integer xh; 76 private Integer xh;
77
78 /**
79 * 存储url
80 */
81 @ApiModelProperty(name = "saveUrl", value = "存储url")
82 private String saveUrl;
77 } 83 }
......
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 5 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5 import com.pashanhoo.common.util.fileupload.MinioConfig; 6 import com.pashanhoo.common.util.fileupload.MinioConfig;
...@@ -11,6 +12,7 @@ import com.pashanhoo.file.mapper.DgFileMapper; ...@@ -11,6 +12,7 @@ import com.pashanhoo.file.mapper.DgFileMapper;
11 import com.pashanhoo.file.service.DgFileService; 12 import com.pashanhoo.file.service.DgFileService;
12 import org.springframework.beans.factory.annotation.Autowired; 13 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Service; 14 import org.springframework.stereotype.Service;
15 import org.springframework.transaction.annotation.Transactional;
14 import org.springframework.web.multipart.MultipartFile; 16 import org.springframework.web.multipart.MultipartFile;
15 17
16 18
...@@ -84,6 +86,7 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple ...@@ -84,6 +86,7 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
84 @Override 86 @Override
85 public List<DgCatalogWithFileVO> getFileList(String bsmArchive) { 87 public List<DgCatalogWithFileVO> getFileList(String bsmArchive) {
86 List<DgCatalogWithFileVO> fileList = dgfileMapper.getFileList(bsmArchive); 88 List<DgCatalogWithFileVO> fileList = dgfileMapper.getFileList(bsmArchive);
89 fileList.forEach(item->item.getFileLists().forEach(file->file.setSaveUrl(file.getFjurl())));
87 fileList.forEach(catalogWithFiles->catalogWithFiles.getFileLists().forEach(file->file.setFjurl(minioUtil.getPreviewUrl(file.getFjurl())))); 90 fileList.forEach(catalogWithFiles->catalogWithFiles.getFileLists().forEach(file->file.setFjurl(minioUtil.getPreviewUrl(file.getFjurl()))));
88 return fileList; 91 return fileList;
89 } 92 }
...@@ -126,12 +129,31 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple ...@@ -126,12 +129,31 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
126 * @return 129 * @return
127 */ 130 */
128 @Override 131 @Override
132 @Transactional(rollbackFor = Exception.class)
129 public boolean upload(MultipartFile file, AddDgFileRequest fileRequest) throws IOException { 133 public boolean upload(MultipartFile file, AddDgFileRequest fileRequest) throws IOException {
130 //文件上传 134 //文件上传
131 FileAttribute fileAttribute = minioUtil.upload(file); 135 FileAttribute fileAttribute = minioUtil.upload(file);
132 136
133 //文件 137 Integer firstXh = fileRequest.getXh();
134 return true; 138 String firstBsmCatalog = fileRequest.getBsmCatalog();
139
140 //文件信息入库
141 QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
142 DgFileDO fileDO = new DgFileDO();
143 fileDO.setBsmCatalog(fileRequest.getBsmCatalog());
144 fileDO.setFjurl(fileAttribute.getSaveUrl());
145 fileDO.setFjsize(fileAttribute.getFileSize());
146 fileDO.setKzm(fileAttribute.getExpandName());
147 fileDO.setScrq(DateTime.now());
148 fileDO.setScr(null);
149 fileDO.setXh(firstXh + 1);
150 this.save(fileDO);
151
152 //重新排序
153 fileWrapper.lambda().eq(DgFileDO::getBsmCatalog, firstBsmCatalog).ge(DgFileDO::getXh, firstXh + 1);
154 List<DgFileDO> list = this.list(fileWrapper);
155 list.forEach(item -> item.setXh(item.getXh() + 1));
156 return this.saveBatch(list);
135 } 157 }
136 158
137 159
......