package com.ghsc.partybuild.controller; import com.fasterxml.jackson.databind.JsonNode; import com.github.pagehelper.PageInfo; import com.ghsc.partybuild.AppConfig; import com.ghsc.partybuild.controller.jsonmodel.RequsetData; import com.ghsc.partybuild.model.DsjFilemrg; import com.ghsc.partybuild.service.FileMgrService; import com.ghsc.partybuild.util.Word2PdfUtil; import com.ghsc.partybuild.vo.DsjTreeFiletype; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Base64; import java.util.List; import java.util.Map; @Slf4j @RestController @RequestMapping(value = "/appApi/fileMgr") public class AppFileMgrController { @Autowired private FileMgrService fileMgrService; @Autowired private Word2PdfUtil word2PdfUtil; @Autowired private AppConfig appConfig; @GetMapping("/GetFileTypeRoot") @ResponseBody public RequsetData> GetFileTypeRoot() { RequsetData> res = new RequsetData<>(); //res.setItem(fileMgrService.getFileTypeRoot()); res.setItem(fileMgrService.getFileTreeByParent("")); return res; } @PostMapping("/GetFileTypesByParent") @ResponseBody public RequsetData> GetFileTypesByParent(@RequestBody JsonNode reqMap) { String parentId=reqMap.get("parentid").asText(); RequsetData> res = new RequsetData<>(); //@RequestParam("parentid") String parentId List parents = fileMgrService.getFileTreeByParent(parentId); res.setItem(parents); return res; } @PostMapping("/GetFilesByKey") @ResponseBody public RequsetData> GetFilesByKey(@RequestBody JsonNode reqMap) { RequsetData> res = new RequsetData<>(); String fileName=reqMap.get("fileName").asText(); int pageIndex=reqMap.get("pageIndex").asInt(); int pageSize=reqMap.get("pageSize").asInt(); res.setItem(fileMgrService.getFilesByKey(fileName, pageIndex, pageSize)); return res; } /** * @Description //TODO 查询cf_file表附件 * @Date 17:32 2019/7/31 * @Param [fileRefID, fileTypeId, pageIndex, pageSize] **/ @PostMapping("/getFileList") @ResponseBody public RequsetData>> GetFileList(@RequestBody JsonNode reqMap) { RequsetData>> res = new RequsetData<>(); String fileName=reqMap.get("fileName")!=null?reqMap.get("fileName").asText():""; String fileTypeId=reqMap.get("fileTypeId")!=null?reqMap.get("fileTypeId").asText():""; int pageIndex=reqMap.get("pageIndex").asInt(); int pageSize=reqMap.get("pageSize").asInt(); res.setItem(fileMgrService.FindFilesApp(fileName,fileTypeId,pageIndex, pageSize)); return res; } @PostMapping({"/getFilePDF"}) @ResponseBody public RequsetData getFilePDF(@RequestBody JsonNode reqMap){ RequsetData res=new RequsetData<>(); String fileId=reqMap.get("fileId").asText(); DsjFilemrg file = fileMgrService.getFileInfo(fileId); Path pFileName = Paths.get(appConfig.fileMgrUrl, file.getFileurl() + file.getExtendedname()); if (Files.exists(pFileName)) { ByteArrayOutputStream bout=new ByteArrayOutputStream(); try { Files.copy(pFileName, bout); String img= Base64.getEncoder().encodeToString(bout.toByteArray()); res.setItem(img); }catch (Exception ex){ log.error("getFilePDF:",ex); res.setSuccess(false); res.setMsg(ex.getMessage()); } } return res; } }