169 lines
7.3 KiB
XML
169 lines
7.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
<mapper namespace="com.ruoyi.file.mapper.UserFileMapper">
|
|
|
|
<resultMap id="UserFileMap" type="com.ruoyi.file.domain.UserFile">
|
|
<id property="userFileId" column="userFileId"/>
|
|
<result property="createTime" column="createTime"/>
|
|
<result property="createUserId" column="createUserId"/>
|
|
<result property="deleteBatchNum" column="deleteBatchNum"/>
|
|
<result property="deleteFlag" column="deleteFlag"/>
|
|
<result property="deleteTime" column="deleteTime"/>
|
|
<result property="extendName" column="extendName"/>
|
|
<result property="fileId" column="fileId"/>
|
|
<result property="fileName" column="fileName"/>
|
|
<result property="filePath" column="filePath"/>
|
|
<result property="isDir" column="isDir"/>
|
|
<result property="modifyTime" column="modifyTime"/>
|
|
<result property="modifyUserId" column="modifyUserId"/>
|
|
<result property="uploadTime" column="uploadTime"/>
|
|
<result property="fileSize" column="fileSize"/>
|
|
<result property="userId" column="userId"/>
|
|
<result property="isPublic" column="isPublic"/>
|
|
<result property="accessScope" column="accessScope"/>
|
|
<result property="downloadCnt" column="downloadCnt"/>
|
|
</resultMap>
|
|
|
|
<resultMap id="UserFileDtoMap" type="com.ruoyi.file.dto.file.UserFileDTO">
|
|
<id property="userFileId" column="userFileId"/>
|
|
<result property="createTime" column="createTime"/>
|
|
<result property="createUserId" column="createUserId"/>
|
|
<result property="deleteBatchNum" column="deleteBatchNum"/>
|
|
<result property="deleteFlag" column="deleteFlag"/>
|
|
<result property="deleteTime" column="deleteTime"/>
|
|
<result property="extendName" column="extendName"/>
|
|
<result property="fileId" column="fileId"/>
|
|
<result property="fileName" column="fileName"/>
|
|
<result property="filePath" column="filePath"/>
|
|
<result property="isDir" column="isDir"/>
|
|
<result property="modifyTime" column="modifyTime"/>
|
|
<result property="modifyUserId" column="modifyUserId"/>
|
|
<result property="uploadTime" column="uploadTime"/>
|
|
<result property="fileSize" column="fileSize"/>
|
|
<result property="userId" column="userId"/>
|
|
<result property="isPublic" column="isPublic"/>
|
|
<result property="accessScope" column="accessScope"/>
|
|
<result property="downloadCnt" column="downloadCnt"/>
|
|
</resultMap>
|
|
|
|
<select id="selectPageVo" resultType="com.ruoyi.file.vo.file.FileListVO">
|
|
select * from userfile a
|
|
left join image on a.fileId = image.fileId
|
|
left join file on file.fileId = a.fileId
|
|
<where>
|
|
<if test="fileTypeId != null">
|
|
<choose>
|
|
<when test="fileTypeId != 5">
|
|
extendName in (select fileExtendName from fileclassification where fileTypeId = #{fileTypeId})
|
|
</when>
|
|
<otherwise>
|
|
extendName not in (select fileExtendName from fileclassification where fileTypeId in (1, 2, 3, 4))
|
|
</otherwise>
|
|
</choose>
|
|
and a.isDir = 0
|
|
</if>
|
|
<if test="userFile.userId != null">
|
|
and a.userId = #{userFile.userId}
|
|
</if>
|
|
<if test="userFile.filePath != null">
|
|
and a.filePath = #{userFile.filePath}
|
|
</if>
|
|
<if test="userFile.extendName != null">
|
|
and a.extendName = #{userFile.extendName}
|
|
</if>
|
|
<if test="userFile.userFileId != null">
|
|
and a.userFileId = #{userFile.userFileId}
|
|
</if>
|
|
<if test="userFile.fileName != null">
|
|
and a.fileName = #{userFile.fileName}
|
|
</if>
|
|
and a.deleteFlag = 0
|
|
</where>
|
|
ORDER BY isDir desc
|
|
</select>
|
|
|
|
<select id="selectPageVoByRole" resultType="com.ruoyi.file.vo.file.FileListVO">
|
|
select * from userfile a
|
|
left join image on a.fileId = image.fileId
|
|
left join file on file.fileId = a.fileId
|
|
<where>
|
|
<if test="fileTypeId != null">
|
|
<choose>
|
|
<when test="fileTypeId != 5">
|
|
extendName in (select fileExtendName from fileclassification where fileTypeId = #{fileTypeId})
|
|
</when>
|
|
<otherwise>
|
|
extendName not in (select fileExtendName from fileclassification where fileTypeId in (1, 2, 3, 4))
|
|
</otherwise>
|
|
</choose>
|
|
and a.isDir = 0
|
|
</if>
|
|
<!--<if test="userFile.userId != null">
|
|
and a.userId = #{userFile.userId}
|
|
</if>-->
|
|
<if test="userFile.filePath != null">
|
|
and a.filePath = #{userFile.filePath}
|
|
</if>
|
|
<if test="userFile.extendName != null">
|
|
and a.extendName = #{userFile.extendName}
|
|
</if>
|
|
<if test="userFile.userFileId != null">
|
|
and a.userFileId = #{userFile.userFileId}
|
|
</if>
|
|
<if test="userFile.fileName != null">
|
|
and a.fileName = #{userFile.fileName}
|
|
</if>
|
|
and a.deleteFlag = 0 and a.isDir = 0
|
|
<!-- 查询范围过滤 -->
|
|
${scopeParamSql}
|
|
</where>
|
|
ORDER BY a.createTime desc
|
|
</select>
|
|
|
|
<select id="selectUserFileByLikeRightFilePath" resultType="com.ruoyi.file.domain.UserFile">
|
|
select * from userfile
|
|
where (filePath = #{filePath} or filePath like concat(#{filePath},'/%')) and userId = #{userId} and deleteFlag = 0
|
|
</select>
|
|
|
|
<select id="selectStorageSizeByUserId" resultType="java.lang.Long" parameterType="java.lang.Long">
|
|
SELECT SUM(fileSize) FROM userfile
|
|
LEFT JOIN file ON file.fileId = userfile.fileId
|
|
WHERE userfile.userId = #{userId}
|
|
</select>
|
|
|
|
<select id="selectByUserFileId" resultMap="UserFileMap" parameterType="java.lang.String">
|
|
SELECT userfile.*, file.fileSize as fileSize FROM userfile
|
|
LEFT JOIN file ON file.fileId = userfile.fileId
|
|
WHERE userfile.userFileId = #{userFileId}
|
|
</select>
|
|
|
|
<select id="selectFileTreeByUserId" resultMap="UserFileDtoMap" parameterType="java.lang.Long">
|
|
SELECT userfile.*, file.fileSize as fileSize FROM userfile
|
|
LEFT JOIN file ON file.fileId = userfile.fileId
|
|
WHERE userfile.userId = #{userId} and deleteFlag = 0
|
|
</select>
|
|
|
|
<update id="incrementDownloadCount">
|
|
UPDATE userfile
|
|
SET downloadCnt = downloadCnt + 1
|
|
WHERE userFileId IN
|
|
<foreach collection="userFileIds" item="userFileId" open="(" separator="," close=")">
|
|
#{userFileId}
|
|
</foreach>
|
|
</update>
|
|
|
|
<select id="selectByUserFileIds" resultMap="UserFileMap">
|
|
SELECT userfile.*, file.fileSize as fileSize FROM userfile
|
|
LEFT JOIN file ON file.fileId = userfile.fileId
|
|
WHERE userfile.userFileId IN
|
|
<foreach collection="userFileIds" item="userFileId" open="(" separator="," close=")">
|
|
#{userFileId}
|
|
</foreach>
|
|
</select>
|
|
|
|
</mapper>
|