UploadFileLogController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package com.jiayue.ipfcst.fileupload.controller;
  2. import com.jiayue.ipfcst.common.core.web.vo.ResponseVO;
  3. import com.jiayue.ipfcst.common.data.constant.enums.FileStatusEnum;
  4. import com.jiayue.ipfcst.common.data.constant.enums.FileTypeEnum;
  5. import com.jiayue.ipfcst.common.data.constant.enums.UploadProtocolEnum;
  6. import com.jiayue.ipfcst.common.data.entity.UploadFileLog;
  7. import com.jiayue.ipfcst.fileupload.service.UploadFileLogService;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.*;
  11. import org.springframework.web.multipart.MultipartFile;
  12. import java.util.ArrayList;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. @RestController
  17. @RequestMapping("uploadFileLog")
  18. @Slf4j
  19. public class UploadFileLogController {
  20. private final UploadFileLogService uploadFileLogService;
  21. static String MESSAGE = "message";
  22. @Autowired
  23. public UploadFileLogController(UploadFileLogService uploadFileLogService) {
  24. this.uploadFileLogService = uploadFileLogService;
  25. }
  26. /**
  27. * 根据上报对象,时间,文件类型,文件状态
  28. *
  29. * @param uploadObjectId 上报对象
  30. * @param createTime 时间
  31. * @param fileType 文件类型
  32. * @param fileStatus 文件状态
  33. * @return
  34. */
  35. @GetMapping("getFileLog/{uploadObjectId}/{createTime}/{fileType}/{fileStatus}/{stationCode}")
  36. public ResponseVO get(@PathVariable("uploadObjectId") Integer uploadObjectId, @PathVariable("createTime") String createTime,
  37. @PathVariable("fileType") String fileType, @PathVariable("fileStatus") String fileStatus, @PathVariable("stationCode") String stationCode) {
  38. List<UploadFileLog> list = uploadFileLogService.queryFileLog(uploadObjectId, createTime, fileType, fileStatus, stationCode);
  39. return ResponseVO.success(list);
  40. }
  41. @GetMapping("/getFileStatusEnum")
  42. public ResponseVO getFileStatusEnum() {
  43. List<Map> list = new ArrayList<>();
  44. for (FileStatusEnum fileStatusEnum : FileStatusEnum.values()) {
  45. Map<String, String> map = new HashMap<>();
  46. map.put("name", fileStatusEnum.name());
  47. map.put(MESSAGE, fileStatusEnum.getMessage());
  48. list.add(map);
  49. }
  50. return ResponseVO.success(list);
  51. }
  52. @GetMapping("/getUploadProtocolEnum")
  53. public ResponseVO getUploadProtocolEnum() {
  54. List<Map> list = new ArrayList<>();
  55. for (UploadProtocolEnum uploadProtocolEnum : UploadProtocolEnum.values()) {
  56. Map<String, String> map = new HashMap<>();
  57. map.put("name", uploadProtocolEnum.name());
  58. map.put(MESSAGE, uploadProtocolEnum.getMessage());
  59. list.add(map);
  60. }
  61. return ResponseVO.success(list);
  62. }
  63. @GetMapping("/getFileTypeEnum")
  64. public ResponseVO getFileTypeEnum() {
  65. List<Map> list = new ArrayList<>();
  66. for (FileTypeEnum fileTypeEnum : FileTypeEnum.values()) {
  67. Map<String, String> map = new HashMap<>();
  68. map.put("name", fileTypeEnum.name());
  69. map.put(MESSAGE, fileTypeEnum.getMessage());
  70. list.add(map);
  71. }
  72. return ResponseVO.success(list);
  73. }
  74. @PostMapping("/uploadFile")
  75. public ResponseVO uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("uploadObject") String id, @RequestParam("FileTypeEnum") String fileType) {
  76. Integer objectId = Integer.parseInt(id);
  77. boolean b = uploadFileLogService.uploadFile(objectId, fileType, file);
  78. if (b) {
  79. return ResponseVO.success("上传成功!");
  80. } else {
  81. return ResponseVO.fail("上传失败!");
  82. }
  83. }
  84. @DeleteMapping("/{id}/{fileCreateDate}")
  85. public ResponseVO deleteById(@PathVariable("id") Integer id, @PathVariable("fileCreateDate") String fileCreateDate) {
  86. uploadFileLogService.deleteById(id, fileCreateDate);
  87. return ResponseVO.success(1);
  88. }
  89. @PostMapping("/cleanCache")
  90. public ResponseVO cleanCache(@RequestBody UploadFileLog uploadFileLog) {
  91. uploadFileLogService.cleanCache(uploadFileLog);
  92. return ResponseVO.success(1);
  93. }
  94. /**
  95. * 文件补报
  96. *
  97. * @param uploadFileLog
  98. * @return
  99. */
  100. @PostMapping("/report")
  101. public ResponseVO report(@RequestBody UploadFileLog uploadFileLog) {
  102. uploadFileLogService.report(uploadFileLog);
  103. return ResponseVO.success(1);
  104. }
  105. }