feat(代码优化): 返回结果优化及新建文件逻辑优化
This commit is contained in:
parent
0608f6a8bc
commit
fd071a63a9
@ -1,6 +1,7 @@
|
||||
package com.qiwenshare.file.controller;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import co.elastic.clients.elasticsearch.ElasticsearchClient;
|
||||
import co.elastic.clients.elasticsearch.core.SearchResponse;
|
||||
import co.elastic.clients.elasticsearch.core.search.HighlighterEncoder;
|
||||
@ -24,10 +25,14 @@ import com.qiwenshare.file.domain.UserFile;
|
||||
import com.qiwenshare.file.dto.file.*;
|
||||
import com.qiwenshare.file.io.QiwenFile;
|
||||
import com.qiwenshare.file.util.QiwenFileUtil;
|
||||
import com.qiwenshare.file.util.RestResult2;
|
||||
import com.qiwenshare.file.util.TreeNode;
|
||||
import com.qiwenshare.file.vo.file.FileDetailVO;
|
||||
import com.qiwenshare.file.vo.file.FileListVo;
|
||||
import com.qiwenshare.file.vo.file.SearchFileVO;
|
||||
import com.qiwenshare.ufop.factory.UFOPFactory;
|
||||
import com.qiwenshare.ufop.operation.copy.Copier;
|
||||
import com.qiwenshare.ufop.operation.copy.domain.CopyFile;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -35,12 +40,16 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.codec.digest.DigestUtils;
|
||||
import org.eclipse.jetty.util.StringUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URLDecoder;
|
||||
import java.util.*;
|
||||
|
||||
@Tag(name = "file", description = "该接口为文件接口,主要用来做一些文件的基本操作,如创建目录,删除,移动,复制等。")
|
||||
@ -53,33 +62,103 @@ public class FileController {
|
||||
IFileService fileService;
|
||||
@Resource
|
||||
IUserFileService userFileService;
|
||||
|
||||
@Resource
|
||||
UFOPFactory ufopFactory;
|
||||
@Resource
|
||||
FileDealComp fileDealComp;
|
||||
@Resource
|
||||
AsyncTaskComp asyncTaskComp;
|
||||
@Autowired
|
||||
private ElasticsearchClient elasticsearchClient;
|
||||
|
||||
@Value("${ufop.storage-type}")
|
||||
private Integer storageType;
|
||||
public static final String CURRENT_MODULE = "文件接口";
|
||||
|
||||
|
||||
@Operation(summary = "创建文件", description = "目录(文件夹)的创建", tags = {"file"})
|
||||
@RequestMapping(value = "/createfile", method = RequestMethod.POST)
|
||||
@MyLog(operation = "创建文件", module = CURRENT_MODULE)
|
||||
@Operation(summary = "创建文件", description = "创建文件", tags = {"file"})
|
||||
@ResponseBody
|
||||
public RestResult<String> createFile(@Valid @RequestBody CreateFileDTO createFileDto) {
|
||||
@RequestMapping(value = "/createFile", method = RequestMethod.POST)
|
||||
public RestResult<Object> createFile(@Valid @RequestBody CreateFileDTO createFileDTO) {
|
||||
|
||||
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||
try {
|
||||
|
||||
|
||||
boolean isDirExist = fileDealComp.isDirExist(createFileDto.getFileName(), createFileDto.getFilePath(), sessionUserBean.getUserId());
|
||||
|
||||
if (isDirExist) {
|
||||
Long userId = SessionUtil.getSession().getUserId();
|
||||
String filePath = createFileDTO.getFilePath();
|
||||
String fileName = createFileDTO.getFileName();
|
||||
String extendName = createFileDTO.getExtendName();
|
||||
List<UserFile> userFiles = userFileService.selectSameUserFile(fileName, filePath, extendName, userId);
|
||||
if (userFiles != null && !userFiles.isEmpty()) {
|
||||
return RestResult.fail().message("同名文件已存在");
|
||||
}
|
||||
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
|
||||
|
||||
UserFile userFile = QiwenFileUtil.getQiwenDir(sessionUserBean.getUserId(), createFileDto.getFilePath(), createFileDto.getFileName());
|
||||
String templateFilePath = "";
|
||||
if ("docx".equals(extendName)) {
|
||||
templateFilePath = "template/Word.docx";
|
||||
} else if ("xlsx".equals(extendName)) {
|
||||
templateFilePath = "template/Excel.xlsx";
|
||||
} else if ("pptx".equals(extendName)) {
|
||||
templateFilePath = "template/PowerPoint.pptx";
|
||||
} else if ("txt".equals(extendName)) {
|
||||
templateFilePath = "template/Text.txt";
|
||||
} else if ("drawio".equals(extendName)) {
|
||||
templateFilePath = "template/Drawio.drawio";
|
||||
}
|
||||
String url2 = ClassUtils.getDefaultClassLoader().getResource("static/" + templateFilePath).getPath();
|
||||
url2 = URLDecoder.decode(url2, "UTF-8");
|
||||
FileInputStream fileInputStream = new FileInputStream(url2);
|
||||
Copier copier = ufopFactory.getCopier();
|
||||
CopyFile copyFile = new CopyFile();
|
||||
copyFile.setExtendName(extendName);
|
||||
String fileUrl = copier.copy(fileInputStream, copyFile);
|
||||
|
||||
FileBean fileBean = new FileBean();
|
||||
fileBean.setFileId(IdUtil.getSnowflakeNextIdStr());
|
||||
fileBean.setFileSize(0L);
|
||||
fileBean.setFileUrl(fileUrl);
|
||||
fileBean.setStorageType(storageType);
|
||||
fileBean.setIdentifier(uuid);
|
||||
fileBean.setCreateTime(DateUtil.getCurrentTime());
|
||||
fileBean.setCreateUserId(SessionUtil.getSession().getUserId());
|
||||
fileBean.setFileStatus(1);
|
||||
boolean saveFlag = fileService.save(fileBean);
|
||||
UserFile userFile = new UserFile();
|
||||
if (saveFlag) {
|
||||
userFile.setUserFileId(IdUtil.getSnowflakeNextIdStr());
|
||||
userFile.setUserId(userId);
|
||||
userFile.setFileName(fileName);
|
||||
userFile.setFilePath(filePath);
|
||||
userFile.setDeleteFlag(0);
|
||||
userFile.setIsDir(0);
|
||||
userFile.setExtendName(extendName);
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setFileId(fileBean.getFileId());
|
||||
|
||||
userFileService.save(userFile);
|
||||
}
|
||||
return RestResult.success().message("文件创建成功");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return RestResult.fail().message(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "创建文件夹", description = "目录(文件夹)的创建", tags = {"file"})
|
||||
@RequestMapping(value = "/createFold", method = RequestMethod.POST)
|
||||
@MyLog(operation = "创建文件夹", module = CURRENT_MODULE)
|
||||
@ResponseBody
|
||||
public RestResult<String> createFold(@Valid @RequestBody CreateFoldDTO createFoldDto) {
|
||||
|
||||
Long userId = SessionUtil.getSession().getUserId();
|
||||
String filePath = createFoldDto.getFilePath();
|
||||
|
||||
|
||||
boolean isDirExist = fileDealComp.isDirExist(createFoldDto.getFileName(), createFoldDto.getFilePath(), userId);
|
||||
|
||||
if (isDirExist) {
|
||||
return RestResult.fail().message("同名文件夹已存在");
|
||||
}
|
||||
|
||||
UserFile userFile = QiwenFileUtil.getQiwenDir(userId, filePath, createFoldDto.getFileName());
|
||||
|
||||
userFileService.save(userFile);
|
||||
fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
|
||||
@ -90,7 +169,7 @@ public class FileController {
|
||||
@GetMapping(value = "/search")
|
||||
@MyLog(operation = "文件搜索", module = CURRENT_MODULE)
|
||||
@ResponseBody
|
||||
public RestResult<List<SearchFileVO>> searchFile(SearchFileDTO searchFileDTO) {
|
||||
public RestResult2<SearchFileVO> searchFile(SearchFileDTO searchFileDTO) {
|
||||
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||
|
||||
int currentPage = (int)searchFileDTO.getCurrentPage() - 1;
|
||||
@ -146,7 +225,7 @@ public class FileController {
|
||||
searchFileVOList.add(searchFileVO);
|
||||
asyncTaskComp.checkESUserFileId(searchFileVO.getUserFileId());
|
||||
}
|
||||
return RestResult.success().data(searchFileVOList);
|
||||
return RestResult2.success().dataList(searchFileVOList, searchFileVOList.size());
|
||||
}
|
||||
|
||||
|
||||
@ -185,7 +264,7 @@ public class FileController {
|
||||
@Operation(summary = "获取文件列表", description = "用来做前台列表展示", tags = {"file"})
|
||||
@RequestMapping(value = "/getfilelist", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public RestResult getFileList(
|
||||
public RestResult2 getFileList(
|
||||
@Parameter(description = "文件路径", required = true) String filePath,
|
||||
@Parameter(description = "当前页", required = true) long currentPage,
|
||||
@Parameter(description = "页面数量", required = true) long pageCount){
|
||||
@ -193,13 +272,7 @@ public class FileController {
|
||||
|
||||
IPage<FileListVo> fileList = userFileService.userFileList(null, filePath, currentPage, pageCount);
|
||||
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("total", fileList.getTotal());
|
||||
map.put("list", fileList.getRecords());
|
||||
|
||||
|
||||
return RestResult.success().data(map);
|
||||
return RestResult2.success().dataList(fileList.getRecords(), fileList.getTotal());
|
||||
|
||||
}
|
||||
|
||||
@ -336,7 +409,7 @@ public class FileController {
|
||||
@Operation(summary = "通过文件类型选择文件", description = "该接口可以实现文件格式分类查看", tags = {"file"})
|
||||
@RequestMapping(value = "/selectfilebyfiletype", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public RestResult<List<Map<String, Object>>> selectFileByFileType(@Parameter(description = "文件类型", required = true) int fileType,
|
||||
public RestResult2<FileListVo> selectFileByFileType(@Parameter(description = "文件类型", required = true) int fileType,
|
||||
@Parameter(description = "当前页", required = true) @RequestParam(defaultValue = "1") long currentPage,
|
||||
@Parameter(description = "页面数量", required = true) @RequestParam(defaultValue = "10") long pageCount) {
|
||||
|
||||
@ -345,10 +418,8 @@ public class FileController {
|
||||
long userId = sessionUserBean.getUserId();
|
||||
|
||||
IPage<FileListVo> result = userFileService.getFileByFileType(fileType, currentPage, pageCount, userId);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("list", result.getRecords());
|
||||
map.put("total", result.getTotal());
|
||||
return RestResult.success().data(map);
|
||||
|
||||
return RestResult2.success().dataList(result.getRecords(), result.getTotal());
|
||||
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import com.qiwenshare.common.result.RestResult;
|
||||
import com.qiwenshare.file.api.INoticeService;
|
||||
import com.qiwenshare.file.domain.Notice;
|
||||
import com.qiwenshare.file.dto.notice.NoticeListDTO;
|
||||
import com.qiwenshare.file.util.RestResult2;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -30,7 +31,7 @@ public class NoticeController {
|
||||
@Operation(summary = "得到所有的公告列表", tags = {"公告管理"})
|
||||
@RequestMapping(value = "/list", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public RestResult<Map> selectUserList(@Parameter(description = "当前页,从1开始") @RequestParam(defaultValue = "1") int page,
|
||||
public RestResult2<NoticeListDTO> selectUserList(@Parameter(description = "当前页,从1开始") @RequestParam(defaultValue = "1") int page,
|
||||
@Parameter(description = "页大小") @RequestParam(defaultValue = "10") int pageSize,
|
||||
@Parameter(description = "标题") @RequestParam(required = false) String title,
|
||||
@Parameter(description = "发布者") @RequestParam(required = false) Long publisher,
|
||||
@ -46,10 +47,7 @@ public class NoticeController {
|
||||
noticeListDTO.setEndTime(endTime);
|
||||
IPage<Notice> noticeIPage = noticeService.selectUserPage(noticeListDTO);
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("total", noticeIPage.getTotal());
|
||||
map.put("list", noticeIPage.getRecords());
|
||||
return RestResult.success().data(map);
|
||||
return RestResult2.success().dataList(noticeIPage.getRecords(), noticeIPage.getTotal());
|
||||
}
|
||||
|
||||
@Operation(summary = "查询公告详情", tags = {"公告管理"})
|
||||
|
@ -87,69 +87,6 @@ public class OfficeController {
|
||||
@Autowired
|
||||
private HistoryManager historyManager;
|
||||
|
||||
@Operation(summary = "创建office文件", description = "创建office文件", tags = {"office"})
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "/createofficefile", method = RequestMethod.POST)
|
||||
public RestResult<Object> createOfficeFile(@RequestBody CreateOfficeFileDTO createOfficeFileDTO) {
|
||||
RestResult<Object> result = new RestResult<>();
|
||||
try{
|
||||
|
||||
JwtUser loginUser = SessionUtil.getSession();
|
||||
String fileName = createOfficeFileDTO.getFileName();
|
||||
String filePath = createOfficeFileDTO.getFilePath();
|
||||
String extendName = createOfficeFileDTO.getExtendName();
|
||||
List<UserFile> userFiles = userFileService.selectSameUserFile(fileName, filePath, extendName, loginUser.getUserId());
|
||||
if (userFiles != null && !userFiles.isEmpty()) {
|
||||
return RestResult.fail().message("同名文件已存在");
|
||||
}
|
||||
String uuid = UUID.randomUUID().toString().replaceAll("-","");
|
||||
|
||||
String templateFilePath = "";
|
||||
if ("docx".equals(extendName)) {
|
||||
templateFilePath = "template/Word.docx";
|
||||
} else if ("xlsx".equals(extendName)) {
|
||||
templateFilePath = "template/Excel.xlsx";
|
||||
} else if ("pptx".equals(extendName)) {
|
||||
templateFilePath = "template/PowerPoint.pptx";
|
||||
}
|
||||
String url2 = ClassUtils.getDefaultClassLoader().getResource("static/" + templateFilePath).getPath();
|
||||
url2 = URLDecoder.decode(url2, "UTF-8");
|
||||
FileInputStream fileInputStream = new FileInputStream(url2);
|
||||
Copier copier = ufopFactory.getCopier();
|
||||
CopyFile copyFile = new CopyFile();
|
||||
copyFile.setExtendName(extendName);
|
||||
String fileUrl = copier.copy(fileInputStream, copyFile);
|
||||
|
||||
FileBean fileBean = new FileBean();
|
||||
fileBean.setFileId(IdUtil.getSnowflakeNextIdStr());
|
||||
fileBean.setFileSize(0L);
|
||||
fileBean.setFileUrl(fileUrl);
|
||||
fileBean.setStorageType(storageType);
|
||||
fileBean.setIdentifier(uuid);
|
||||
fileBean.setCreateTime(DateUtil.getCurrentTime());
|
||||
fileBean.setCreateUserId(loginUser.getUserId());
|
||||
fileBean.setFileStatus(1);
|
||||
boolean saveFlag = fileService.save(fileBean);
|
||||
UserFile userFile = new UserFile();
|
||||
if(saveFlag) {
|
||||
userFile.setUserFileId(IdUtil.getSnowflakeNextIdStr());
|
||||
userFile.setUserId(loginUser.getUserId());
|
||||
userFile.setFileName(fileName);
|
||||
userFile.setFilePath(filePath);
|
||||
userFile.setDeleteFlag(0);
|
||||
userFile.setIsDir(0);
|
||||
userFile.setExtendName(extendName);
|
||||
userFile.setUploadTime(DateUtil.getCurrentTime());
|
||||
userFile.setFileId(fileBean.getFileId());
|
||||
userFileService.save(userFile);
|
||||
}
|
||||
return RestResult.success().message("文件创建成功");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return RestResult.fail().message(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "预览office文件", description = "预览office文件", tags = {"office"})
|
||||
@RequestMapping(value = "/previewofficefile", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
|
@ -11,6 +11,7 @@ import com.qiwenshare.file.domain.RecoveryFile;
|
||||
import com.qiwenshare.file.dto.file.DeleteRecoveryFileDTO;
|
||||
import com.qiwenshare.file.dto.recoveryfile.BatchDeleteRecoveryFileDTO;
|
||||
import com.qiwenshare.file.dto.recoveryfile.RestoreFileDTO;
|
||||
import com.qiwenshare.file.util.RestResult2;
|
||||
import com.qiwenshare.file.vo.file.RecoveryFileListVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -78,14 +79,10 @@ public class RecoveryFileController {
|
||||
@Operation(summary = "回收文件列表", description = "回收文件列表", tags = {"recoveryfile"})
|
||||
@RequestMapping(value = "/list", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public RestResult<List<RecoveryFileListVo>> getRecoveryFileList() {
|
||||
public RestResult2<RecoveryFileListVo> getRecoveryFileList() {
|
||||
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||
RestResult<List<RecoveryFileListVo>> restResult = new RestResult<List<RecoveryFileListVo>>();
|
||||
List<RecoveryFileListVo> recoveryFileList = recoveryFileService.selectRecoveryFileList(sessionUserBean.getUserId());
|
||||
restResult.setData(recoveryFileList);
|
||||
restResult.setSuccess(true);
|
||||
|
||||
return restResult;
|
||||
return RestResult2.success().dataList(recoveryFileList, recoveryFileList.size());
|
||||
}
|
||||
|
||||
@Operation(summary = "还原文件", description = "还原文件", tags = {"recoveryfile"})
|
||||
|
@ -19,6 +19,7 @@ import com.qiwenshare.file.domain.ShareFile;
|
||||
import com.qiwenshare.file.domain.UserFile;
|
||||
import com.qiwenshare.file.dto.sharefile.*;
|
||||
import com.qiwenshare.file.io.QiwenFile;
|
||||
import com.qiwenshare.file.util.RestResult2;
|
||||
import com.qiwenshare.file.vo.share.ShareFileListVO;
|
||||
import com.qiwenshare.file.vo.share.ShareFileVO;
|
||||
import com.qiwenshare.file.vo.share.ShareListVO;
|
||||
@ -150,30 +151,27 @@ public class ShareController {
|
||||
@Operation(summary = "查看已分享列表", description = "查看已分享列表", tags = {"share"})
|
||||
@GetMapping(value = "/shareList")
|
||||
@ResponseBody
|
||||
public RestResult shareList(ShareListDTO shareListDTO) {
|
||||
public RestResult2<ShareListVO> shareList(ShareListDTO shareListDTO) {
|
||||
JwtUser sessionUserBean = SessionUtil.getSession();
|
||||
List<ShareListVO> shareList = shareService.selectShareList(shareListDTO, sessionUserBean.getUserId());
|
||||
|
||||
int total = shareService.selectShareListTotalCount(shareListDTO, sessionUserBean.getUserId());
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("total", total);
|
||||
map.put("list", shareList);
|
||||
return RestResult.success().data(map);
|
||||
return RestResult2.success().dataList(shareList, total);
|
||||
}
|
||||
|
||||
|
||||
@Operation(summary = "分享文件列表", description = "分享列表", tags = {"share"})
|
||||
@GetMapping(value = "/sharefileList")
|
||||
@ResponseBody
|
||||
public RestResult<List<ShareFileListVO>> shareFileList(ShareFileListDTO shareFileListBySecretDTO) {
|
||||
public RestResult2<ShareFileListVO> shareFileList(ShareFileListDTO shareFileListBySecretDTO) {
|
||||
String shareBatchNum = shareFileListBySecretDTO.getShareBatchNum();
|
||||
String shareFilePath = shareFileListBySecretDTO.getShareFilePath();
|
||||
List<ShareFileListVO> list = shareFileService.selectShareFileList(shareBatchNum, shareFilePath);
|
||||
for (ShareFileListVO shareFileListVO : list) {
|
||||
shareFileListVO.setShareFilePath(shareFilePath);
|
||||
}
|
||||
return RestResult.success().data(list);
|
||||
return RestResult2.success().dataList(list, list.size());
|
||||
}
|
||||
|
||||
@Operation(summary = "分享类型", description = "可用此接口判断是否需要提取码", tags = {"share"})
|
||||
|
@ -5,17 +5,20 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.Pattern;
|
||||
|
||||
@Data
|
||||
@Schema(name = "创建文件DTO",required = true)
|
||||
public class CreateFileDTO {
|
||||
@Schema(description="文件名", required=true)
|
||||
@NotBlank(message = "文件名不能为空")
|
||||
@Pattern(regexp = RegexConstant.FILE_NAME_REGEX, message = "文件名不合法!")
|
||||
private String fileName;
|
||||
|
||||
@Schema(description = "文件路径", required = true)
|
||||
private String filePath;
|
||||
|
||||
@Schema(description = "文件名", required = true)
|
||||
@NotBlank(message = "文件名不能为空")
|
||||
@Pattern(regexp = RegexConstant.FILE_NAME_REGEX, message = "文件名不合法!", flags = {Pattern.Flag.CASE_INSENSITIVE})
|
||||
private String fileName;
|
||||
|
||||
@Schema(description = "扩展名", required = true)
|
||||
private String extendName;
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,20 @@
|
||||
package com.qiwenshare.file.dto.file;
|
||||
|
||||
import com.qiwenshare.common.constant.RegexConstant;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Pattern;
|
||||
|
||||
@Data
|
||||
@Schema(name = "创建文件DTO",required = true)
|
||||
public class CreateFoldDTO {
|
||||
@Schema(description="文件名", required=true)
|
||||
@NotBlank(message = "文件名不能为空")
|
||||
@Pattern(regexp = RegexConstant.FILE_NAME_REGEX, message = "文件名不合法!")
|
||||
private String fileName;
|
||||
@Schema(description="文件路径", required=true)
|
||||
private String filePath;
|
||||
|
||||
}
|
84
src/main/java/com/qiwenshare/file/util/RestResult2.java
Normal file
84
src/main/java/com/qiwenshare/file/util/RestResult2.java
Normal file
@ -0,0 +1,84 @@
|
||||
package com.qiwenshare.file.util;
|
||||
|
||||
import com.qiwenshare.common.result.ResultCodeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class RestResult2<T> {
|
||||
@Schema(
|
||||
description = "请求是否成功",
|
||||
example = "true"
|
||||
)
|
||||
private Boolean success = true;
|
||||
@Schema(
|
||||
description = "返回码",
|
||||
example = "000000"
|
||||
)
|
||||
private Integer code = 0;
|
||||
@Schema(
|
||||
description = "返回信息",
|
||||
example = "成功"
|
||||
)
|
||||
private String message;
|
||||
@Schema(
|
||||
description = "返回数据"
|
||||
)
|
||||
private T data;
|
||||
@Schema(
|
||||
description = "返回数据列表"
|
||||
)
|
||||
private List<T> dataList;
|
||||
|
||||
private long total;
|
||||
public static RestResult2 success() {
|
||||
RestResult2 r = new RestResult2();
|
||||
r.setSuccess(ResultCodeEnum.SUCCESS.getSuccess());
|
||||
r.setCode(ResultCodeEnum.SUCCESS.getCode());
|
||||
r.setMessage(ResultCodeEnum.SUCCESS.getMessage());
|
||||
return r;
|
||||
}
|
||||
|
||||
public static RestResult2 fail() {
|
||||
RestResult2 r = new RestResult2();
|
||||
r.setSuccess(ResultCodeEnum.UNKNOWN_ERROR.getSuccess());
|
||||
r.setCode(ResultCodeEnum.UNKNOWN_ERROR.getCode());
|
||||
r.setMessage(ResultCodeEnum.UNKNOWN_ERROR.getMessage());
|
||||
return r;
|
||||
}
|
||||
|
||||
public static RestResult2 setResult(ResultCodeEnum result) {
|
||||
RestResult2 r = new RestResult2();
|
||||
r.setSuccess(result.getSuccess());
|
||||
r.setCode(result.getCode());
|
||||
r.setMessage(result.getMessage());
|
||||
return r;
|
||||
}
|
||||
|
||||
public RestResult2 data(T param) {
|
||||
this.setData(param);
|
||||
return this;
|
||||
}
|
||||
public RestResult2 dataList(List<T> param, long total) {
|
||||
this.setDataList(param);
|
||||
this.setTotal(total);
|
||||
return this;
|
||||
}
|
||||
public RestResult2 message(String message) {
|
||||
this.setMessage(message);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RestResult2 code(Integer code) {
|
||||
this.setCode(code);
|
||||
return this;
|
||||
}
|
||||
|
||||
public RestResult2 success(Boolean success) {
|
||||
this.setSuccess(success);
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
@ -132,3 +132,41 @@ qiwen.file.version=1.1.2
|
||||
deployment.host=192.168.1.6
|
||||
|
||||
|
||||
|
||||
filesize-max=5242880
|
||||
|
||||
files.storage=
|
||||
files.storage.folder=documents
|
||||
|
||||
files.docservice.fillforms-docs=.oform|.docx
|
||||
files.docservice.viewed-docs=.pdf|.djvu|.xps|.oxps
|
||||
files.docservice.edited-docs=.docx|.xlsx|.csv|.pptx|.txt|.docxf
|
||||
files.docservice.convert-docs=.docm|.dotx|.dotm|.dot|.doc|.odt|.fodt|.ott|.xlsm|.xlsb|.xltx|.xltm|.xlt|.xls|.ods|.fods|.ots|.pptm|.ppt|.ppsx|.ppsm|.pps|.potx|.potm|.pot|.odp|.fodp|.otp|.rtf|.mht|.html|.htm|.xml|.epub|.fb2
|
||||
files.docservice.timeout=120000
|
||||
files.docservice.history.postfix=-hist
|
||||
|
||||
files.docservice.url.site=https://officeview.qiwenshare.com/
|
||||
files.docservice.url.converter=ConvertService.ashx
|
||||
files.docservice.url.command=coauthoring/CommandService.ashx
|
||||
files.docservice.url.api=web-apps/apps/api/documents/api.js
|
||||
files.docservice.url.preloader=web-apps/apps/api/documents/cache-scripts.html
|
||||
files.docservice.url.example=
|
||||
|
||||
files.docservice.secret=secret
|
||||
files.docservice.header=Authorization
|
||||
|
||||
files.docservice.verify-peer-off=true
|
||||
|
||||
files.docservice.languages=en:English|hy:Armenian|az:Azerbaijani|eu:Basque|be:Belarusian|bg:Bulgarian|ca:Catalan|zh:Chinese (People's Republic of China)|zh-TW:Chinese (Traditional, Taiwan)|cs:Czech|da:Danish|nl:Dutch|fi:Finnish|fr:French|gl:Galego|de:German|el:Greek|hu:Hungarian|id:Indonesian|it:Italian|ja:Japanese|ko:Korean|lv:Latvian|lo:Lao|ms:Malay (Malaysia)|nb:Norwegian|pl:Polish|pt:Portuguese (Brazil)|pt-PT:Portuguese (Portugal)|ro:Romanian|ru:Russian|sk:Slovak|sl:Slovenian|es:Spanish|sv:Swedish|tr:Turkish|uk:Ukrainian|vi:Vietnamese
|
||||
|
||||
url.index=/
|
||||
url.converter=/converter
|
||||
url.editor=/editor
|
||||
url.track=/track
|
||||
url.download=/download
|
||||
|
||||
logo.image=
|
||||
logo.imageEmbedded=
|
||||
logo.url=https://www.onlyoffice.com
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user