123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package com.jiayue.ipfcst.fileupload.controller;
- import com.jiayue.ipfcst.common.core.web.vo.ResponseVO;
- import com.jiayue.ipfcst.common.data.constant.enums.FileStatusEnum;
- import com.jiayue.ipfcst.common.data.constant.enums.FileTypeEnum;
- import com.jiayue.ipfcst.common.data.constant.enums.UploadProtocolEnum;
- import com.jiayue.ipfcst.common.data.entity.UploadFileLog;
- import com.jiayue.ipfcst.fileupload.service.UploadFileLogService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping("uploadFileLog")
- @Slf4j
- public class UploadFileLogController {
- private final UploadFileLogService uploadFileLogService;
- static String MESSAGE = "message";
- @Autowired
- public UploadFileLogController(UploadFileLogService uploadFileLogService) {
- this.uploadFileLogService = uploadFileLogService;
- }
- /**
- * 根据上报对象,时间,文件类型,文件状态
- *
- * @param uploadObjectId 上报对象
- * @param createTime 时间
- * @param fileType 文件类型
- * @param fileStatus 文件状态
- * @return
- */
- @GetMapping("getFileLog/{uploadObjectId}/{createTime}/{fileType}/{fileStatus}/{stationCode}")
- public ResponseVO get(@PathVariable("uploadObjectId") Integer uploadObjectId, @PathVariable("createTime") String createTime,
- @PathVariable("fileType") String fileType, @PathVariable("fileStatus") String fileStatus, @PathVariable("stationCode") String stationCode) {
- List<UploadFileLog> list = uploadFileLogService.queryFileLog(uploadObjectId, createTime, fileType, fileStatus, stationCode);
- return ResponseVO.success(list);
- }
- @GetMapping("/getFileStatusEnum")
- public ResponseVO getFileStatusEnum() {
- List<Map> list = new ArrayList<>();
- for (FileStatusEnum fileStatusEnum : FileStatusEnum.values()) {
- Map<String, String> map = new HashMap<>();
- map.put("name", fileStatusEnum.name());
- map.put(MESSAGE, fileStatusEnum.getMessage());
- list.add(map);
- }
- return ResponseVO.success(list);
- }
- @GetMapping("/getUploadProtocolEnum")
- public ResponseVO getUploadProtocolEnum() {
- List<Map> list = new ArrayList<>();
- for (UploadProtocolEnum uploadProtocolEnum : UploadProtocolEnum.values()) {
- Map<String, String> map = new HashMap<>();
- map.put("name", uploadProtocolEnum.name());
- map.put(MESSAGE, uploadProtocolEnum.getMessage());
- list.add(map);
- }
- return ResponseVO.success(list);
- }
- @GetMapping("/getFileTypeEnum")
- public ResponseVO getFileTypeEnum() {
- List<Map> list = new ArrayList<>();
- for (FileTypeEnum fileTypeEnum : FileTypeEnum.values()) {
- Map<String, String> map = new HashMap<>();
- map.put("name", fileTypeEnum.name());
- map.put(MESSAGE, fileTypeEnum.getMessage());
- list.add(map);
- }
- return ResponseVO.success(list);
- }
- @PostMapping("/uploadFile")
- public ResponseVO uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("uploadObject") String id, @RequestParam("FileTypeEnum") String fileType) {
- Integer objectId = Integer.parseInt(id);
- boolean b = uploadFileLogService.uploadFile(objectId, fileType, file);
- if (b) {
- return ResponseVO.success("上传成功!");
- } else {
- return ResponseVO.fail("上传失败!");
- }
- }
- @DeleteMapping("/{id}/{fileCreateDate}")
- public ResponseVO deleteById(@PathVariable("id") Integer id, @PathVariable("fileCreateDate") String fileCreateDate) {
- uploadFileLogService.deleteById(id, fileCreateDate);
- return ResponseVO.success(1);
- }
- @PostMapping("/cleanCache")
- public ResponseVO cleanCache(@RequestBody UploadFileLog uploadFileLog) {
- uploadFileLogService.cleanCache(uploadFileLog);
- return ResponseVO.success(1);
- }
- /**
- * 文件补报
- *
- * @param uploadFileLog
- * @return
- */
- @PostMapping("/report")
- public ResponseVO report(@RequestBody UploadFileLog uploadFileLog) {
- uploadFileLogService.report(uploadFileLog);
- return ResponseVO.success(1);
- }
- }
|