package com.lxzn.nc.controller;
|
|
import com.lxzn.api.nc.DocInfoControllerApi;
|
import com.lxzn.framework.domain.nc.DocFile;
|
import com.lxzn.framework.domain.nc.DocInfo;
|
import com.lxzn.framework.domain.nc.request.DocInfoQueryRequest;
|
import com.lxzn.framework.domain.nc.request.DocInfoUploadRequest;
|
import com.lxzn.framework.model.response.CommonCode;
|
import com.lxzn.framework.model.response.QueryListResponseResult;
|
import com.lxzn.framework.model.response.QueryPageResponseResult;
|
import com.lxzn.framework.model.response.ResponseResult;
|
import com.lxzn.framework.utils.ValidateUtil;
|
import com.lxzn.framework.utils.file.FileUtil;
|
import com.lxzn.nc.service.IDocInfoService;
|
import javafx.scene.shape.VLineTo;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
@RestController
|
@RequestMapping("/nc/doc")
|
public class DocInfoController implements DocInfoControllerApi {
|
@Autowired
|
private IDocInfoService docInfoService;
|
@Override
|
@PostMapping("/add")
|
public ResponseResult addDocInfo(@RequestParam("file") MultipartFile file, DocInfoUploadRequest docInfo) {
|
boolean b = docInfoService.addDocInfo(file, docInfo);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@PutMapping("/edit/{id}")
|
public ResponseResult editDocInfo(@PathVariable("id") String id, @RequestBody DocInfo docInfo) {
|
boolean b = docInfoService.editDocInfo(id, docInfo);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@DeleteMapping("/delete")
|
public ResponseResult deleteDocInfo(@RequestParam("id") String id) {
|
boolean b = docInfoService.deleteDocInfo(id);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@PostMapping("/push/{id}")
|
public ResponseResult pushDocFile(@PathVariable("id") String id, @RequestParam("file") MultipartFile file) {
|
boolean b = docInfoService.pushDocFile(id, file);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@GetMapping("/pull/{id}")
|
public ResponseResult pullDocFile(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") String id) {
|
return docInfoService.pullDocFile(request, response, id);
|
}
|
|
@Override
|
@PutMapping("/cancel/pull/{id}")
|
public ResponseResult cancelPullDocInfo(@PathVariable("id") String id) {
|
boolean b = docInfoService.cancelPullDocInfo(id);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@PutMapping("/publish/{id}")
|
public ResponseResult publishDocInfo(@PathVariable("id") String id) {
|
boolean b = docInfoService.publishDocInfo(id);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@PutMapping("/republish/{id}")
|
public ResponseResult republishDocInfo(@PathVariable("id") String id) {
|
boolean b = docInfoService.republishDocInfo(id);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@PutMapping("/pigeonhole/{id}")
|
public ResponseResult pigeonholeDocInfo(@PathVariable("id") String id) {
|
boolean b = docInfoService.pigeonholeDocInfo(id);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@GetMapping("/find/page/{page}/{size}")
|
public QueryPageResponseResult<DocInfo> findPageList(@PathVariable("page") int page, @PathVariable("size") int size, DocInfoQueryRequest docQuery) {
|
return docInfoService.findPageList(page, size, docQuery);
|
}
|
|
@Override
|
@GetMapping("/find/page/device/{page}/{size}")
|
public QueryPageResponseResult<DocInfo> findPageListByDevice(@PathVariable("page") int page, @PathVariable("size") int size, DocInfoQueryRequest docQuery) {
|
return docInfoService.findPageListByDevice(page, size, docQuery);
|
}
|
|
@Override
|
@GetMapping("/preview/{id}")
|
public QueryListResponseResult previewDocFile(@PathVariable("id") String id) {
|
DocFile docFile = docInfoService.previewDocFile(id);
|
if(!ValidateUtil.validateString(docFile.getFilePath()) || !ValidateUtil.validateString(docFile.getFileName())
|
// || !ValidateUtil.validateString(docFile.getFileSuffix())
|
|| !ValidateUtil.validateString(docFile.getFileEncodeName()))
|
return new QueryListResponseResult(CommonCode.FAIL, null);
|
String filePath = docFile.getFilePath();
|
String fileEncodeName = docFile.getFileEncodeName();
|
List<String> list = FileUtil.readFile(fileEncodeName, filePath);
|
if(list == null || list.isEmpty())
|
return new QueryListResponseResult(CommonCode.FAIL, null);
|
return new QueryListResponseResult(CommonCode.SUCCESS, list);
|
}
|
|
@Override
|
@GetMapping("/preview/pdf/{id}")
|
public ResponseResult previewPdfDocFile(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") String id) {
|
DocFile docFile = docInfoService.previewDocFile(id);
|
if(!ValidateUtil.validateString(docFile.getFilePath()) || !ValidateUtil.validateString(docFile.getFileName()) ||
|
/*!ValidateUtil.validateString(docFile.getFileSuffix()) ||*/ !ValidateUtil.validateString(docFile.getFileEncodeName()))
|
return new ResponseResult(CommonCode.FAIL);
|
String fileName;
|
if(ValidateUtil.validateString(docFile.getFileSuffix())) {
|
fileName = docFile.getFileName() + "." + docFile.getFileSuffix();
|
}else {
|
fileName = docFile.getFileName();
|
}
|
String filePath = docFile.getFilePath();
|
String fileEncodeName = docFile.getFileEncodeName();
|
FileUtil.downLoadFile(response, fileEncodeName, filePath, fileName);
|
return null;
|
}
|
|
@Override
|
@GetMapping("/find/list")
|
public QueryListResponseResult<DocInfo> findList(DocInfoQueryRequest docQuery) {
|
return docInfoService.findList(docQuery);
|
}
|
|
@Override
|
@PostMapping("/batch/remove")
|
public ResponseResult batchRemoveDocInfo(@RequestBody String[] docIds) {
|
boolean b = docInfoService.batchRemoveDocInfo(docIds);
|
if(!b)
|
return new ResponseResult(CommonCode.FAIL);
|
return new ResponseResult(CommonCode.SUCCESS);
|
}
|
|
@Override
|
@GetMapping("/download/{id}")
|
public ResponseResult downloadDocFile(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") String id) {
|
return docInfoService.downloadDocFile(request, response, id);
|
}
|
}
|