게시판 게시물 작성 테스트

This commit is contained in:
Rinjae
2025-11-07 13:14:53 +09:00
parent d85561aa91
commit 725db1fcf3
9 changed files with 68 additions and 27 deletions
@@ -41,19 +41,19 @@ public class ApiSpecInfo extends AbstractEntity<String> implements Serializable,
private String apiContentType;
@Lob
@Column(name = "api_request_spec", columnDefinition = "TEXT")
@Column(name = "api_request_spec")
private String apiRequestSpec;
@Lob
@Column(name = "api_response_spec", columnDefinition = "TEXT")
@Column(name = "api_response_spec")
private String apiResponseSpec;
@Lob
@Column(name = "sample_request", columnDefinition = "TEXT")
@Column(name = "sample_request")
private String sampleRequest; //요청 메시지 예제
@Lob
@Column(name = "sample_response", columnDefinition = "TEXT")
@Column(name = "sample_response")
private String sampleResponse; //응답 메시지 예제
@Column(name = "response_type")
@@ -66,11 +66,11 @@ public class ApiSpecInfo extends AbstractEntity<String> implements Serializable,
private String fileId;
@Lob
@Column(name = "description", columnDefinition = "TEXT")
@Column(name = "description")
private String description; //설명
@Lob
@Column(name = "testbed_spec", columnDefinition = "TEXT")
@Column(name = "testbed_spec")
private String testbedSpec;
@Column(name = "display_yn", length = 1)
@@ -62,7 +62,8 @@ public class Approval implements Serializable, com.eactive.eai.data.Data {
@Column(name = "approval_subject", nullable = false)
private String approvalSubject; //제목
@Column(name = "approval_detail", columnDefinition = "TEXT")
@Lob
@Column(name = "approval_detail")
private String approvalDetail; //승인 요청 내용
@Column(length = 17, name = "created_date")
@@ -168,20 +168,34 @@ public class FileService {
* @throws IOException 파일 처리 중 오류 발생 시
*/
public FileInfo createOrUpdateSingleFile(String existingFileId, MultipartFile file, String fileName) throws IOException {
return this.createOrUpdateSingleFile(existingFileId, file, fileName, true);
}
/**
* 단일 파일을 생성하거나 업데이트합니다.
*
* @param existingFileId 기존 파일 ID (존재할 경우)
* @param file 멀티파트 파일
* @param fileName 파일 이름
* @param isCheckMime 파일 형식 체크 여부
* @return 파일 정보
* @throws IOException 파일 처리 중 오류 발생 시
*/
public FileInfo createOrUpdateSingleFile(String existingFileId, MultipartFile file, String fileName, boolean isCheckMime) throws IOException {
// 신규 등록 또는 기존 파일 정보 조회
FileInfo fileInfo = Optional.ofNullable(existingFileId)
.filter(StringUtils::isNotBlank)
.map(this::findById)
.orElseGet(() -> {
FileInfo newFile = new FileInfo();
newFile.setFileId(UUID.randomUUID().toString());
newFile.setUseYn("Y");
return newFile;
});
.filter(StringUtils::isNotBlank)
.map(this::findById)
.orElseGet(() -> {
FileInfo newFile = new FileInfo();
newFile.setFileId(UUID.randomUUID().toString());
newFile.setUseYn("Y");
return newFile;
});
// 파일 상세 정보 생성 또는 업데이트
FileDetail fileDetail = createFileDetail(fileInfo.getFileId(), 1, file, fileName);
FileDetail fileDetail = createFileDetail(fileInfo.getFileId(), 1, file, fileName, isCheckMime);
// 기존 파일 상세 정보 제거 후 새로운 정보 추가
fileInfo.getFileDetails().clear();
@@ -201,11 +215,29 @@ public class FileService {
* @throws IOException 파일 처리 중 오류 발생 시
*/
private FileDetail createFileDetail(String fileId, int fileSn, MultipartFile file, String fileName) throws IOException {
return this.createFileDetail(fileId, fileSn, file, fileName, true);
}
/**
*
* @param fileId
* @param fileSn
* @param file
* @param fileName
* @param isCheckMime 파일 형식 체크 여부
* @return
* @throws IOException
*/
private FileDetail createFileDetail(String fileId, int fileSn, MultipartFile file, String fileName, boolean isCheckMime) throws IOException {
String type = fileTypeDetector.detectFileType(file.getBytes());
log.debug("upload file type:{}", type);
if(type.equalsIgnoreCase("unknown")) {
throw new InvalidFileException("허용된 파일 형식이 아닙니다. <br>문서파일과 이미지 파일만 등록 가능합니다. <br>(pdf, doc, docx, xls, xlsx, ppt, pptx, hwp, gif, jpg, png)");
if (isCheckMime) {
if(type.equalsIgnoreCase("unknown")) {
throw new InvalidFileException("허용된 파일 형식이 아닙니다. <br>문서파일과 이미지 파일만 등록 가능합니다. <br>(pdf, doc, docx, xls, xlsx, ppt, pptx, hwp, gif, jpg, png)");
}
} else {
log.debug("파일 체크 옵션 해제 - FileType : {}", type);
}
FileDetail fileDetail = new FileDetail();
@@ -26,7 +26,8 @@ public class PartnershipApplication extends Auditable {
@Comment("비즈니스제목")
private String bizSubject;
@Column(name = "biz_detail", columnDefinition = "TEXT", nullable = false)
@Lob
@Column(name = "biz_detail", nullable = false)
@Comment("비즈니스내용")
private String bizDetail;
@@ -25,7 +25,8 @@ public class PortalNotice extends Auditable {
@Comment("공지제목")
private String noticeSubject;
@Column(name = "notice_detail", columnDefinition = "TEXT", nullable = false)
@Lob
@Column(name = "notice_detail", nullable = false)
@Comment("공지내용")
private String noticeDetail;
@@ -27,7 +27,8 @@ public class PortalFaq extends Auditable {
@Comment("FAQ질문")
private String faqQuestion;
@Column(name = "faq_answer", columnDefinition = "TEXT", nullable = false)
@Lob
@Column(name = "faq_answer", nullable = false)
@Comment("FAQ답변")
private String faqAnswer;
@@ -41,7 +41,8 @@ public class Inquiry extends Auditable {
/**
* 문의 상세 내용
*/
@Column(name = "INQUIRY_DETAIL", columnDefinition = "TEXT")
@Lob
@Column(name = "INQUIRY_DETAIL")
private String inquiryDetail;
/**
@@ -60,7 +61,8 @@ public class Inquiry extends Auditable {
/**
* 응답 상세 내용
*/
@Column(name = "RESPONSE_DETAIL", columnDefinition = "TEXT")
@Lob
@Column(name = "RESPONSE_DETAIL")
private String responseDetail;
/**
@@ -38,7 +38,7 @@ public class MessageRequest implements Serializable {
private String messageType; //EMAIL, SMS
@Lob
@Column(name = "message", columnDefinition = "TEXT")
@Column(name = "message")
private String message;
@Column(name = "request_date")
@@ -35,21 +35,24 @@ public class MessageTemplate extends Auditable implements Serializable, com.eact
@Comment("활성SMS")
private String enableSms;
@Column(name = "sms_template", columnDefinition = "TEXT")
@Lob
@Column(name = "sms_template")
private String smsTemplate;
@Column(name = "enable_email", columnDefinition = "varchar(1)")
@Comment("활성이메일")
private String enableEmail;
@Column(name = "email_template", columnDefinition = "TEXT")
@Lob
@Column(name = "email_template")
private String emailTemplate;
@Column(name = "enable_messenger", columnDefinition = "varchar(1)")
@Comment("활성메신저")
private String enableMessenger;
@Column(name = "messenger_template", columnDefinition = "TEXT")
@Lob
@Column(name = "messenger_template")
private String messengerTemplate;