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
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:/";
|
|
}
|
|
}
|