Compare commits

..

No commits in common. '5eaa3dd2f6f6f8f99d0fcce5fcab5f9f482234e2' and 'ae1c6e4f37e7b4a182c18a0579385b187fba3c4e' have entirely different histories.

@ -15,7 +15,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathPathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -35,45 +35,35 @@ import com.tamguo.modules.book.service.IFileEntityService;
import com.tamguo.modules.book.service.IFileUploadService; import com.tamguo.modules.book.service.IFileUploadService;
import com.tamguo.utils.FileMd5Utils; import com.tamguo.utils.FileMd5Utils;
/**
* DocumentController
*/
@Controller @Controller
@RequestMapping(value = "document") @RequestMapping(value="document")
public class DocumentController { public class DocumentController {
private Logger logger = LoggerFactory.getLogger(getClass()); // 创建日志记录器对象 private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
IDocumentService iDocumentService; // 自动注入文档服务 IDocumentService iDocumentService;
@Autowired @Autowired
IFileEntityService iFileEntityService; // 自动注入文件实体服务 IFileEntityService iFileEntityService;
@Autowired @Autowired
IFileUploadService iFileUploadService; // 自动注入文件上传服务 IFileUploadService iFileUploadService;
@Value("${file.storage.path}") @Value("${file.storage.path}")
private String fileStoragePath; // 文件存储路径配置 private String fileStoragePath;
@Value("${tamguo.domain.name}") @Value("${tamguo.domain.name}")
private String domainName; // 域名配置 private String domainName;
/** @SuppressWarnings("unchecked")
* @RequestMapping(value = "{id}" , method = RequestMethod.GET)
* @param id ID
* @return
*/
@RequestMapping(value = "{id}", method = RequestMethod.GET)
@ResponseBody @ResponseBody
public Result getDocument(@PathVariable String id) { public Result getDocument(@PathVariable String id) {
DocumentEntity document = null; // 定义文档对象 DocumentEntity document = null;
try { try {
document = iDocumentService.selectById(id); // 根据 ID 获取文档信息 document = iDocumentService.selectById(id);
// 查询附件 // 查询附件
List<FileUploadEntity> fileUploads = iFileUploadService.selectList(Condition.create().eq("biz_key", document.getId()).eq("biz_type", BizTypeEnum.DOCUMENT.getValue())); List<FileUploadEntity> fileUploads = iFileUploadService.selectList(Condition.create().eq("biz_key", document.getId()).eq("biz_type", BizTypeEnum.DOCUMENT.getValue()));
if (!CollectionUtils.isEmpty(fileUploads)) { if(!CollectionUtils.isEmpty(fileUploads)) {
for (int i = 0; i < fileUploads.size(); i++) { for(int i=0 ; i<fileUploads.size() ; i++) {
FileUploadEntity fileUpload = fileUploads.get(i); FileUploadEntity fileUpload = fileUploads.get(i);
FileEntity fileEntity = iFileEntityService.selectOne(Condition.create().eq("file_id", fileUpload.getFileId())); FileEntity fileEntity = iFileEntityService.selectOne(Condition.create().eq("file_id", fileUpload.getFileId()));
fileUpload.setFilePath(domainName + "files/" + fileEntity.getFilePath()); fileUpload.setFilePath(domainName + "files/" + fileEntity.getFilePath());
@ -82,172 +72,152 @@ public class DocumentController {
document.setFileUploads(fileUploads); document.setFileUploads(fileUploads);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); // 记录错误日志 logger.error(e.getMessage() , e );
return Result.failResult("查询失败"); // 返回查询失败结果 return Result.failResult("查询失败");
} }
return Result.successResult(document); // 返回查询成功结果 return Result.successResult(document);
} }
/** /**
* *
* @param document
* @return
*/ */
@RequestMapping(value = "modify", method = RequestMethod.POST) @RequestMapping(value = "modify" , method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Result modify(DocumentEntity document) { public Result modify(DocumentEntity document) {
try { try {
iDocumentService.modify(document); // 修改文档内容 iDocumentService.modify(document);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); // 记录错误日志 logger.error(e.getMessage() , e );
return Result.failResult("保存失败"); // 返回保存失败结果 return Result.failResult("保存失败");
} }
return Result.successResult("保存成功"); // 返回保存成功结果 return Result.successResult("保存成功");
} }
/** /**
* *
* @param document
* @return
*/ */
@RequestMapping(value = "create", method = RequestMethod.POST) @RequestMapping(value = "create" , method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Result create(DocumentEntity document) { public Result create(DocumentEntity document) {
try { try {
iDocumentService.create(document); // 创建文档 iDocumentService.create(document);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage(), e); // 记录错误日志 logger.error(e.getMessage() , e );
return Result.failResult("保存失败"); // 返回保存失败结果 return Result.failResult("保存失败");
} }
return Result.successResult(document); // 返回保存成功结果 return Result.successResult(document);
} }
/** @SuppressWarnings("unchecked")
* @RequestMapping(value = "uploadImage" , method = RequestMethod.POST)
* @param file
* @param bookId ID
* @param request HTTP
* @return
*/
@RequestMapping(value = "uploadImage", method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Result uploadImage(@RequestParam("editormd-image-file") MultipartFile file, String bookId, HttpServletRequest request) { public Result uploadImage(@RequestParam("editormd-image-file") MultipartFile file, String bookId , HttpServletRequest request) {
try { try {
String fileMd5 = FileMd5Utils.getMD5((FileInputStream) file.getInputStream()); // 获取文件的 MD5 值 String fileMd5 = FileMd5Utils.getMD5((FileInputStream)file.getInputStream());
FileEntity sysFile = iFileEntityService.selectOne(Condition.create().eq("file_md5", fileMd5)); // 根据 MD5 值查询系统文件 FileEntity sysFile = iFileEntityService.selectOne(Condition.create().eq("file_md5", fileMd5));
if (sysFile!= null) { if(sysFile != null) {
sysFile.setFilePath(domainName + "files/" + sysFile.getFilePath()); sysFile.setFilePath(domainName + "files/" + sysFile.getFilePath());
return Result.successResult(sysFile); // 如果文件已存在,直接返回文件信息 return Result.successResult(sysFile);
} }
String filePath = fileStoragePath + "book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId; // 生成文件存储路径 String filePath = fileStoragePath + "book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId;
File dest = new File(filePath); File dest = new File(filePath);
if (!dest.exists()) { if(!dest.exists()) {
dest.mkdirs(); // 创建存储目录 dest.mkdirs();
} }
// save 文件 // save 文件
FileUtils.writeByteArrayToFile(new File(filePath + "/" + file.getOriginalFilename()), file.getBytes()); // 保存文件 FileUtils.writeByteArrayToFile(new File(filePath + "/" + file.getOriginalFilename()) , file.getBytes());
FileEntity fileEntity = new FileEntity(); // 创建文件实体对象
fileEntity.setFileContentType(file.getContentType()); // 设置文件类型 FileEntity fileEntity = new FileEntity();
fileEntity.setFileExtension(file.getOriginalFilename()); // 设置文件扩展名 fileEntity.setFileContentType(file.getContentType());
fileEntity.setFileMd5(FileMd5Utils.getMD5((FileInputStream) file.getInputStream())); // 设置文件 MD5 值 fileEntity.setFileExtension(file.getOriginalFilename());
fileEntity.setFileSize(file.getSize()); // 设置文件大小 fileEntity.setFileMd5(FileMd5Utils.getMD5((FileInputStream)file.getInputStream()));
fileEntity.setFilePath("book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId + "/" + file.getOriginalFilename()); // 设置文件路径 fileEntity.setFileSize(file.getSize());
iFileEntityService.insert(fileEntity); // 插入文件实体到数据库 fileEntity.setFilePath("book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId + "/" + file.getOriginalFilename());
iFileEntityService.insert(fileEntity);
fileEntity.setFilePath(domainName + "files/" + fileEntity.getFilePath()); // 设置文件路径
fileEntity.setFilePath(domainName + "files/" + fileEntity.getFilePath());
return Result.successResult(fileEntity); // 返回文件信息
return Result.successResult(fileEntity);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
return Result.failResult("上传失败"); // 如果上传失败,返回失败结果 return Result.failResult("上传失败");
} }
} }
/** /**
* *
* @param file
* @param documentId ID
* @param bookId ID
* @param request HTTP
* @return
*/ */
@RequestMapping(value = "uploadFile", method = RequestMethod.POST) @SuppressWarnings("unchecked")
@RequestMapping(value = "uploadFile" , method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Result uploadFile(@RequestParam("editormd-file-file") MultipartFile file, String documentId, String bookId, HttpServletRequest request) { public Result uploadFile(@RequestParam("editormd-file-file") MultipartFile file , String documentId , String bookId , HttpServletRequest request) {
try { try {
String fileMd5 = FileMd5Utils.getMD5((FileInputStream) file.getInputStream()); // 获取文件的 MD5 值 String fileMd5 = FileMd5Utils.getMD5((FileInputStream)file.getInputStream());
FileEntity sysFile = iFileEntityService.selectOne(Condition.create().eq("file_md5", fileMd5)); // 根据 MD5 值查询系统文件 FileEntity sysFile = iFileEntityService.selectOne(Condition.create().eq("file_md5", fileMd5));
// 文件不存在 // 文件不存在
if (sysFile == null) { if(sysFile == null) {
String filePath = fileStoragePath + "book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId; // 生成文件存储路径 String filePath = fileStoragePath + "book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId;
File dest = new File(filePath); File dest = new File(filePath);
if (!dest.exists()) { if(!dest.exists()) {
dest.mkdirs(); // 创建存储目录 dest.mkdirs();
} }
// save 文件 // save 文件
FileUtils.writeByteArrayToFile(new File(filePath + "/" + file.getOriginalFilename()), file.getBytes()); // 保存文件 FileUtils.writeByteArrayToFile(new File(filePath + "/" + file.getOriginalFilename()) , file.getBytes());
sysFile = new FileEntity(); // 创建文件实体对象 sysFile = new FileEntity();
sysFile.setFileContentType(file.getContentType()); // 设置文件类型 sysFile.setFileContentType(file.getContentType());
sysFile.setFileExtension(file.getOriginalFilename()); // 设置文件扩展名 sysFile.setFileExtension(file.getOriginalFilename());
sysFile.setFileMd5(FileMd5Utils.getMD5((FileInputStream) file.getInputStream())); // 设置文件 MD5 值 sysFile.setFileMd5(FileMd5Utils.getMD5((FileInputStream)file.getInputStream()));
sysFile.setFileSize(file.getSize()); // 设置文件大小 sysFile.setFileSize(file.getSize());
sysFile.setFilePath("book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId + "/" + file.getOriginalFilename()); // 设置文件路径 sysFile.setFilePath("book/" + DateUtil.fomatDate(new Date(), "yyyyMM") + "/" + bookId + "/" + file.getOriginalFilename());
iFileEntityService.insert(sysFile); // 插入文件实体到数据库 iFileEntityService.insert(sysFile);
} }
// 创建上传记录 // 创建上传记录
FileUploadEntity fileUpload = new FileUploadEntity(); // 创建文件上传记录对象 FileUploadEntity fileUpload = new FileUploadEntity();
fileUpload.setBizKey(documentId); // 设置业务键 fileUpload.setBizKey(documentId);
fileUpload.setBizType(BizTypeEnum.DOCUMENT); // 设置业务类型 fileUpload.setBizType(BizTypeEnum.DOCUMENT);
fileUpload.setCreateBy("system"); // 设置创建者 fileUpload.setCreateBy("system");
fileUpload.setCreateDate(new Date()); // 设置创建日期 fileUpload.setCreateDate(new Date());
fileUpload.setFileId(sysFile.getFileId()); // 设置文件 ID fileUpload.setFileId(sysFile.getFileId());
fileUpload.setFileName(sysFile.getFileExtension()); // 设置文件名称 fileUpload.setFileName(sysFile.getFileExtension());
fileUpload.setFileType(file.getContentType()); // 设置文件类型 fileUpload.setFileType(file.getContentType());
fileUpload.setUpdateBy("system"); // 设置更新者 fileUpload.setUpdateBy("system");
fileUpload.setUpdateDate(new Date()); // 设置更新日期 fileUpload.setUpdateDate(new Date());
fileUpload.setStatus(FileUploadStatusEnum.NORMAL); // 设置状态为正常 fileUpload.setStatus(FileUploadStatusEnum.NORMAL);
iFileUploadService.insert(fileUpload); // 插入文件上传记录到数据库 iFileUploadService.insert(fileUpload);
fileUpload.setFilePath(domainName + "files/" + sysFile.getFilePath()); // 设置文件路径 fileUpload.setFilePath(domainName + "files/" + sysFile.getFilePath());
fileUpload.setFileSize(sysFile.getFileSize()); // 设置文件大小 fileUpload.setFileSize(sysFile.getFileSize());
return Result.successResult(fileUpload);
return Result.successResult(fileUpload); // 返回文件上传记录信息
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
return Result.failResult("上传失败"); // 如果上传失败,返回失败结果 return Result.failResult("上传失败");
} }
} }
/** /**
* *
* @param id ID
* @return
*/ */
@RequestMapping(value = "removeFile", method = RequestMethod.POST) @RequestMapping(value = "removeFile" , method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Result removeFile(String id) { public Result removeFile(String id) {
try { try {
iFileUploadService.deleteById(id); // 根据 ID 删除文件上传记录 iFileUploadService.deleteById(id);
} catch (Exception e) { } catch (Exception e) {
return Result.result(1, null, "删除失败"); // 如果删除失败,返回失败结果 return Result.result(1, null, "删除失败");
} }
return Result.result(0, null, "删除成功"); // 如果删除成功,返回成功结果 return Result.result(0, null, "删除成功");
} }
/** @SuppressWarnings("unchecked")
* @RequestMapping(value="delete" , method = RequestMethod.POST)
* @param id ID
* @return
*/
@RequestMapping(value = "delete", method = RequestMethod.POST)
@ResponseBody @ResponseBody
public Result delete(String id) { public Result delete(String id) {
try { try {
DocumentEntity document = iDocumentService.selectById(id); // 根据 ID 获取文档信息 DocumentEntity document = iDocumentService.selectById(id);
iDocumentService.delete(Condition.create().eq("batch_no", document.getBatchNo())); // 根据批次号删除文档 iDocumentService.delete(Condition.create().eq("batch_no", document.getBatchNo()));
} catch (Exception e) { } catch (Exception e) {
return Result.result(1, null, "删除失败"); // 如果删除失败,返回失败结果 return Result.result(1, null, "删除失败");
} }
return Result.result(0, null, "删除成功"); // 如果删除成功,返回成功结果 return Result.result(0, null, "删除成功");
} }
} }
Loading…
Cancel
Save