[파일 업로드] 파일업로드 뷰 & 다운로드

- 파일 뷰 & 다운로드 작업 커밋
This commit is contained in:
2026-03-10 14:00:33 +09:00
parent 7395ebfc79
commit 290c25aa21
16 changed files with 403 additions and 171 deletions
@@ -51,6 +51,9 @@ file:
interrupt-seconds: 30
auth-cache:
ttl-seconds: 20
download:
mode: redirect
redirect-prefix: /public-test-files
springdoc:
api-docs:
+3
View File
@@ -53,6 +53,9 @@ file:
interrupt-seconds: 30
auth-cache:
ttl-seconds: 20
download:
mode: accel
redirect-prefix: /protected-files
springdoc:
api-docs:
@@ -21,15 +21,6 @@
)
</insert>
<insert id="insertFileMasterUpload">
/*FileMapper.insertFileMasterUpload*/
INSERT INTO ALISTLMS.FILE_MASTER2 (
FILE_MASTER_KEY, USER_IDX, FILE_CATEGORY, FOLDER_PATH, STATUS, CREATE_MEMBER, UPDATE_MEMBER
) values (
#{fileMasterKey}, #{userIdx}, #{fileCategory}, #{folderPath}, #{status}, #{userIdx}, #{userIdx}
)
</insert>
<insert id="insertFileUploadEventLog">
/*FileMapper.insertFileUploadEventLog*/
INSERT INTO ALISTLMS.FILE_UPLOAD_EVENT_LOG (
@@ -47,6 +38,34 @@
WHERE LFD.FILE_UUID = #{fileUuid}
LIMIT 1
</insert>
<insert id="insertFileDownloadEventLog">
/*FileMapper.insertFileDownloadEventLog*/
INSERT INTO ALISTLMS.FILE_DOWNLOAD_EVENT_LOG (
FILE_MASTER_IDX
, FILE_DETAIL_IDX
, FILE_UUID
, EVENT_TYPE
, USER_IDX
, USER_TOKEN_IDX
, CLIENT_IP
, USER_AGENT
, REFERER
, DEL_YN
, CREATE_MEMBER
) VALUES (
#{fileMasterIdx}
, #{fileDetailIdx}
, #{fileUuid}
, #{eventType}
, #{userIdx}
, #{userTokenIdx}
, #{clientIp}
, #{userAgent}
, #{referer}
, 'N'
, #{userIdx}
)
</insert>
<update id="updateFileDetailStatus">
/*FileMapper.updateFileDetailStatus*/
@@ -127,18 +146,6 @@
AND LFD.STATUS IN (0,1,2)
</update>
<select id="selectFileMasterCountByFileMasterKeyAndDelYnAndStatus" resultType="int">
/*FileMapper.selectFileMasterCountByFileMasterKeyAndDelYnAndStatus*/
SELECT COUNT(*)
FROM ALISTLMS.FILE_MASTER2 LFM
INNER JOIN ALISTLMS.test_user_token LTUT
ON LTUT.user_idx = LFM.USER_IDX
WHERE LFM.DEL_YN = 'N'
AND LFM.FILE_MASTER_KEY = #{fileMasterKey}
AND LFM.STATUS = 1
AND LTUT.user_token_idx = #{userTokenIdx}
</select>
<select id="selectFileDetailCountByFileUuidUserToKenIdx" resultType="java.lang.Integer">
/*FileMapper.selectFileDetailCountByFileUuidUserToKenIdx*/
SELECT COUNT(*)
@@ -219,6 +226,52 @@
LIMIT 1
</select>
<select id="selectFileDownloadListByFileMasterIdx" resultType="com.alist.api.common.modules.file.dto.FileDownloadItemDto">
/*FileMapper.selectFileDownloadListByFileMasterIdx*/
SELECT LFD.FILE_DETAIL_IDX
, LFD.FILE_MASTER_IDX
, LFD.FILE_UUID
, LFD.ORIGIN_NAME
, LFD.CONTENT_TYPE
, LFD.SIZE_BYTES
FROM ALISTLMS.FILE_DETAIL LFD
INNER JOIN ALISTLMS.FILE_MASTER LFM
ON LFM.FILE_MASTER_IDX = LFD.FILE_MASTER_IDX
AND LFM.DEL_YN = 'N'
INNER JOIN ALISTLMS.test_user_token LTUT
ON LTUT.user_idx = LFM.USER_IDX
WHERE LFD.FILE_MASTER_IDX = #{fileMasterIdx}
AND LTUT.user_token_idx = #{userTokenIdx}
AND LFD.DEL_YN = 'N'
AND LFD.STATUS = 3
AND LFD.MOVE_YN = 'Y'
ORDER BY LFD.FILE_SEQ ASC, LFD.FILE_DETAIL_IDX ASC
</select>
<select id="selectFileDetailByFileUuid" resultType="com.alist.api.common.modules.file.dto.FileDownloadDto">
/*FileMapper.selectFileDetailByFileUuid*/
SELECT LFD.FILE_DETAIL_IDX
, LFD.FILE_MASTER_IDX
, LFD.FILE_UUID
, LFD.ORIGIN_NAME
, LFD.CONTENT_TYPE
, LFD.SIZE_BYTES
, LFD.SAVE_PATH
, LTUT.user_idx
FROM ALISTLMS.FILE_DETAIL LFD
INNER JOIN ALISTLMS.FILE_MASTER LFM
ON LFM.FILE_MASTER_IDX = LFD.FILE_MASTER_IDX
AND LFM.DEL_YN = 'N'
INNER JOIN ALISTLMS.test_user_token LTUT
ON LTUT.user_idx = LFM.USER_IDX
WHERE LFD.FILE_UUID = #{fileUuid}
AND LTUT.user_token_idx = #{userTokenIdx}
AND LFD.DEL_YN = 'N'
AND LFD.STATUS = 3
AND LFD.MOVE_YN = 'Y'
LIMIT 1
</select>
<update id="updateFileMoveSuccess" parameterType="com.alist.api.common.modules.file.dto.FileMoveTaskDto">
/*FileMapper.updateFileMoveSuccess*/
UPDATE ALISTLMS.FILE_DETAIL