优化文件搜索

This commit is contained in:
2025-12-03 15:30:32 +08:00
parent 1070591a7c
commit b19d203c63
9 changed files with 93 additions and 75 deletions

View File

@@ -105,26 +105,42 @@
left join file_metadata_info on file_storage.fileId = file_metadata_info.id
<where>
file_metadata_info.id is not null
and file_metadata_info.isLatest = #{queryBigFileReq.isLatest}
<if test="queryBigFileReq.approveTypeList != null and queryBigFileReq.approveTypeList.size()>0">
AND file_metadata_info.approveType IN
<foreach collection="queryBigFileReq.approveTypeList" item="approveType" open="(" separator="," close=")">
#{approveType}
</foreach>
</if>
<if test="queryBigFileReq.dirId != null">
AND dirId = #{queryBigFileReq.dirId}
AND file_storage.dirId = #{queryBigFileReq.dirId}
</if>
<if test="queryBigFileReq.fileSuffix != null and queryBigFileReq.fileSuffix != ''">
AND fileSuffix = #{queryBigFileReq.fileSuffix}
AND file_storage.fileSuffix = #{queryBigFileReq.fileSuffix}
</if>
<if test="queryBigFileReq.fileBizType != null">
AND fileBizType = #{queryBigFileReq.fileBizType}
<if test="queryBigFileReq.fileBizType != null and queryBigFileReq.fileBizType.size()>0">
AND file_storage.fileBizType IN
<foreach collection="queryBigFileReq.fileBizType" item="type" open="(" separator="," close=")">
#{type}
</foreach>
</if>
<if test="queryBigFileReq.fileName != null and queryBigFileReq.fileName != ''">
AND fileName LIKE CONCAT('%', #{queryBigFileReq.fileName}, '%')
AND file_storage.fileName LIKE CONCAT('%', #{queryBigFileReq.fileName}, '%')
</if>
<if test="queryBigFileReq.startTime != null">
AND createTime &gt;= #{queryBigFileReq.startTime}
AND file_storage.createTime &gt;= #{queryBigFileReq.startTime}
</if>
<if test="queryBigFileReq.endTime != null">
AND createTime &lt;= #{queryBigFileReq.endTime}
AND file_storage.createTime &lt;= #{queryBigFileReq.endTime}
</if>
<if test="fileSizeInBytes != null">
AND fileSize &gt; #{fileSizeInBytes}
AND file_storage.fileSize &gt; #{fileSizeInBytes}
</if>
<if test="queryBigFileReq.uploadUserId != null and queryBigFileReq.uploadUserId.size()>0">
AND file_storage.userId IN
<foreach collection="queryBigFileReq.uploadUserId" item="userId" open="(" separator="," close=")">
#{userId}
</foreach>
</if>
</where>
</select>