You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
3.6 KiB
Java

package com.xit.biz.cmm.controller;
import com.xit.biz.cmm.entity.CmmFileMst;
import com.xit.biz.cmm.dto.CmmFileDto;
import com.xit.biz.cmm.service.ICmmFileService;
import com.xit.core.api.IRestResponse;
import com.xit.core.api.RestResponse;
import com.xit.core.util.AssertUtils;
import com.xit.core.util.Checks;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.lang.NonNull;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Nonnull;
@Tag(name = "CmmFileMgtController", description = "파일 관리")
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/biz/cmm/file")
public class CmmFileMgtController {
private final ICmmFileService cmmFileService;
@Operation(summary = "파일 조회" , description = "등록된 파일 조회")
@GetMapping("/{id}")
public ResponseEntity<? extends IRestResponse> findFiles(@PathVariable("id") @NonNull final String fileMstId) {
AssertUtils.isTrue(!Checks.isEmpty(fileMstId), "대상 파일[fileMstId]을 선택해 주세요.");
return RestResponse.of(cmmFileService.findFiles(fileMstId));
}
//@Operation(summary = "파일 저장" , description = "파일 저장")
//@PostMapping()
public ResponseEntity<? extends IRestResponse> saveFiles2(CmmFileMst cmmFileMst, @RequestParam("files") MultipartFile[] files) {
AssertUtils.isTrue(!Checks.isEmpty(cmmFileMst), "파일 정보가 존재하지 않습니다.");
AssertUtils.isTrue(!Checks.isEmpty(cmmFileMst.getFileCtgCd()), "파일 구분 코드[fileCtgCd] 정보가 존재하지 않습니다.");
AssertUtils.isTrue(!Checks.isEmpty(cmmFileMst.getFileBizId()), "파일 업무 ID[fileBizId] 정보가 존재하지 않습니다.");
AssertUtils.isTrue(!Checks.isEmpty(files), "대상 파일이 존재하지 않습니다.");
return RestResponse.of(cmmFileService.saveFiles(cmmFileMst, files));
// RedirectAttributes redirectAttributes
// redirectAttributes.addFlashAttribute("message",
// "You successfully uploaded " + file.getOriginalFilename() + "!");
//
// return "redirect:/";
}
@Operation(summary = "파일 저장" , description = "파일 저장")
@PostMapping(consumes = "multipart/form-data")
public ResponseEntity<? extends IRestResponse> saveFiles(@ModelAttribute @Nonnull CmmFileDto cmmFileDto) {
AssertUtils.isTrue(!Checks.isEmpty(cmmFileDto), "파일 정보가 존재하지 않습니다.");
AssertUtils.isTrue(!Checks.isEmpty(cmmFileDto.getFileCtgCd()), "파일 구분 코드[fileCtgCd] 정보가 존재하지 않습니다.");
AssertUtils.isTrue(!Checks.isEmpty(cmmFileDto.getFileBizId()), "파일 업무 ID[fileBizId] 정보가 존재하지 않습니다.");
AssertUtils.isTrue(!Checks.isEmpty(cmmFileDto.getFiles()), "대상 파일이 존재하지 않습니다.");
CmmFileMst cmmFileMst = CmmFileMst.builder()
.fileMstId(cmmFileDto.getFileMstId())
.fileCtgCd(cmmFileDto.getFileCtgCd())
.fileBizId(cmmFileDto.getFileBizId())
.build();
return RestResponse.of(cmmFileService.saveFiles(cmmFileMst, cmmFileDto.getFiles()));
// RedirectAttributes redirectAttributes
// redirectAttributes.addFlashAttribute("message",
// "You successfully uploaded " + file.getOriginalFilename() + "!");
//
// return "redirect:/";
}
}