diff --git a/src/main/java/cokr/xit/base/file/FileInfo.java b/src/main/java/cokr/xit/base/file/FileInfo.java index 257a1ea..f3b4279 100644 --- a/src/main/java/cokr/xit/base/file/FileInfo.java +++ b/src/main/java/cokr/xit/base/file/FileInfo.java @@ -11,7 +11,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; import java.util.Collections; -import java.util.Date; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -19,12 +18,13 @@ import java.util.stream.Stream; import org.springframework.util.FileCopyUtils; import cokr.xit.foundation.AbstractComponent; +import cokr.xit.foundation.AbstractEntity; import cokr.xit.foundation.Assert; /**파일 정보 * @author mjkhan */ -public class FileInfo { +public class FileInfo extends AbstractEntity { /**파일의 관계 정보 * @author mjkhan */ @@ -284,13 +284,10 @@ public class FileInfo { path, url, mimeType, - extension, - createdBy, - inUse; + extension; private long size; private int downloadCount; private int sortOrder; - private Date createdAt; private InputStream input; /**주어진 경로에서 파일 이름을 추출한다. @@ -499,64 +496,6 @@ public class FileInfo { this.sortOrder = sortOrder; } - /**등록자 ID를 반환한다. - * @return 등록자 ID - */ - public String getCreatedBy() { - return createdBy; - } - - /**등록자 ID를 설정한다. - * @param createdBy 등록자 ID - */ - public void setCreatedBy(String createdBy) { - this.createdBy = createdBy; - } - - /**등록 일시를 반환한다. - * @return 등록 일시 - */ - public Date getCreatedAt() { - return createdAt; - } - - /**등록 일시를 설정한다. - * @param createdAt 등록 일시 - */ - public void setCreatedAt(Date createdAt) { - this.createdAt = createdAt; - } - - /**사용여부를 반환한다. - * @return 삭제여부 - *
파일 저장 경로는 다음 SQL문으로 설정한다. *
{@code* 위 문장은 - ** SELECT INF_TYPE - * , CONCAT('D://workspace/xit/base/files/', DIR, TO_CHAR(CURRENT_DATE, 'YYYY/MM/DD/')) DIR + * , CONCAT('C://workspace/xit/base/files/', DIR, DATE_FORMAT(CURRENT_DATE, '%Y/%m/%d/')) DIR * FROM ( * SELECT '00' INF_TYPE, 'attachment/' DIR UNION * SELECT '10' INF_TYPE, 'document/' DIR UNION @@ -27,7 +27,7 @@ import cokr.xit.foundation.data.DataObject; * ) FILE_DIRS * }
파일 URL의 설정 *
파일 URL은 다음 SQL문으로 추출한다. *
{@code* 위 문장은 - *- * SELECT A.*, REPLACE(FILE_PATH, 'D://workspace/xit/base', '') URL + * SELECT A.*, REPLACE(FILE_PATH, 'C://workspace/xit/base', '') URL * FROM TB_FILE A * ... * }
애플리케이션의 파일 정보는 관계 정보의 infoType, infoKey + 파일 자체의 메타 정보로 이루어지며
- * 데이타베이스의 TB_FILE 테이블에 저장하여 관리한다.
+ * 데이타베이스의 TB_FILE 테이블에 저장하여 관리한다.
*
파일 저장 디렉토리의 설정은 {@link cokr.xit.base.file.dao.FileMapper FileMapper} 문서를 참고한다. *
파일 저장 경로는 다음 SQL문으로 설정한다. *
{@code* 위 문장은 - ** SELECT INF_TYPE - * , CONCAT('D://workspace/xit/base/files/', DIR, TO_CHAR(CURRENT_DATE, 'YYYY/MM/DD/')) DIR + * , CONCAT('C://workspace/xit/base/files/', DIR, DATE_FORMAT(CURRENT_DATE, '%Y/%m/%d/')) DIR * FROM ( * SELECT '00' INF_TYPE, 'attachment/' DIR UNION * SELECT '10' INF_TYPE, 'document/' DIR UNION @@ -28,7 +28,7 @@ import cokr.xit.foundation.data.DataObject; * ) FILE_DIRS * }
파일 URL의 설정 *
파일 URL은 다음 SQL문으로 추출한다. *
{@code* 위 문장은 - *- * SELECT A.*, REPLACE(FILE_PATH, 'D://workspace/xit/base', '') URL + * SELECT A.*, REPLACE(FILE_PATH, 'C://workspace/xit/base', '') URL * FROM TB_FILE A * ... * }