게시판 게시물 작성 테스트
This commit is contained in:
@@ -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();
|
||||
|
||||
+2
-1
@@ -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;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user