Search in sources :

Example 1 with Copier

use of com.qiwenshare.ufop.operation.copy.Copier in project qiwen-file by qiwenshare.

the class OfficeController method createOfficeFile.

@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();
        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.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.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());
    }
}
Also used : RestResult(com.qiwenshare.common.result.RestResult) FileInputStream(java.io.FileInputStream) IOException(java.io.IOException) NotLoginException(com.qiwenshare.common.exception.NotLoginException) UserFile(com.qiwenshare.file.domain.UserFile) FileBean(com.qiwenshare.file.domain.FileBean) Copier(com.qiwenshare.ufop.operation.copy.Copier) JSONObject(com.alibaba.fastjson.JSONObject) JwtUser(com.qiwenshare.common.util.security.JwtUser) CopyFile(com.qiwenshare.ufop.operation.copy.domain.CopyFile) Operation(io.swagger.v3.oas.annotations.Operation)

Aggregations

JSONObject (com.alibaba.fastjson.JSONObject)1 NotLoginException (com.qiwenshare.common.exception.NotLoginException)1 RestResult (com.qiwenshare.common.result.RestResult)1 JwtUser (com.qiwenshare.common.util.security.JwtUser)1 FileBean (com.qiwenshare.file.domain.FileBean)1 UserFile (com.qiwenshare.file.domain.UserFile)1 Copier (com.qiwenshare.ufop.operation.copy.Copier)1 CopyFile (com.qiwenshare.ufop.operation.copy.domain.CopyFile)1 Operation (io.swagger.v3.oas.annotations.Operation)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1