1fa332b8 by 荆蔚杰

文件上传和排序接口整合

1 parent 73219f9c
......@@ -4,10 +4,12 @@ import java.util.Date;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
/**
* <p>
......@@ -41,6 +43,8 @@ public class AddDgFileRequest implements Serializable {
* 上传日期
*/
@ApiModelProperty(name = "scrq", value = "上传日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date scrq;
/**
......
......@@ -74,4 +74,10 @@ public class DgFileListVO implements Serializable {
*/
@ApiModelProperty(name = "xh", value = "序号")
private Integer xh;
/**
* 存储url
*/
@ApiModelProperty(name = "saveUrl", value = "存储url")
private String saveUrl;
}
......
package com.pashanhoo.file.service.impl;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pashanhoo.common.util.fileupload.MinioConfig;
......@@ -11,6 +12,7 @@ import com.pashanhoo.file.mapper.DgFileMapper;
import com.pashanhoo.file.service.DgFileService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
......@@ -84,6 +86,7 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
@Override
public List<DgCatalogWithFileVO> getFileList(String bsmArchive) {
List<DgCatalogWithFileVO> fileList = dgfileMapper.getFileList(bsmArchive);
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;
}
......@@ -126,12 +129,31 @@ public class DgFileServiceImpl extends ServiceImpl<DgFileMapper, DgFileDO> imple
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean upload(MultipartFile file, AddDgFileRequest fileRequest) throws IOException {
//文件上传
FileAttribute fileAttribute = minioUtil.upload(file);
//文件
return true;
Integer firstXh = fileRequest.getXh();
String firstBsmCatalog = fileRequest.getBsmCatalog();
//文件信息入库
QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
DgFileDO fileDO = new DgFileDO();
fileDO.setBsmCatalog(fileRequest.getBsmCatalog());
fileDO.setFjurl(fileAttribute.getSaveUrl());
fileDO.setFjsize(fileAttribute.getFileSize());
fileDO.setKzm(fileAttribute.getExpandName());
fileDO.setScrq(DateTime.now());
fileDO.setScr(null);
fileDO.setXh(firstXh + 1);
this.save(fileDO);
//重新排序
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));
return this.saveBatch(list);
}
......