知识库历史文件

This commit is contained in:
2025-12-20 17:12:42 +08:00
parent dfd9bb8b95
commit 62850717eb
59 changed files with 2351 additions and 276 deletions

View File

@@ -33,6 +33,7 @@
<result column="file_url" property="fileUrl" jdbcType="VARCHAR"/>
<result column="file_extension" property="fileExtension" jdbcType="VARCHAR"/>
<result column="file_md5_hash" property="fileMd5Hash" jdbcType="VARCHAR"/>
<result column="uploader_name" property="uploaderName" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
@@ -83,9 +84,17 @@
f.mime_type as file_mime_type,
f.url as file_url,
f.extension as file_extension,
f.md5_hash as file_md5_hash
f.md5_hash as file_md5_hash,
ui.username as uploader_name
FROM ai.tb_knowledge_file kf
INNER JOIN (
SELECT file_root_id, MAX(version) as max_version
FROM ai.tb_knowledge_file
WHERE knowledge_id = #{knowledgeId} AND deleted = false
GROUP BY file_root_id
) latest ON kf.file_root_id = latest.file_root_id AND kf.version = latest.max_version
LEFT JOIN file.tb_sys_file f ON kf.file_id = f.file_id AND f.deleted = false
LEFT JOIN sys.tb_sys_user_info ui ON f.uploader = ui.user_id AND ui.deleted = false
WHERE kf.knowledge_id = #{knowledgeId} AND kf.deleted = false
ORDER BY kf.create_time DESC
</select>
@@ -107,16 +116,24 @@
f.mime_type as file_mime_type,
f.url as file_url,
f.extension as file_extension,
f.md5_hash as file_md5_hash
f.md5_hash as file_md5_hash,
ui.username as uploader_name
FROM ai.tb_knowledge_file kf
INNER JOIN (
SELECT file_root_id, MAX(version) as max_version
FROM ai.tb_knowledge_file
WHERE knowledge_id = #{knowledgeId} AND deleted = false
GROUP BY file_root_id
) latest ON kf.file_root_id = latest.file_root_id AND kf.version = latest.max_version
LEFT JOIN file.tb_sys_file f ON kf.file_id = f.file_id AND f.deleted = false
LEFT JOIN sys.tb_sys_user_info ui ON f.uploader = ui.user_id AND ui.deleted = false
WHERE kf.knowledge_id = #{knowledgeId} AND kf.deleted = false
ORDER BY kf.create_time DESC
LIMIT #{pageParam.pageSize} OFFSET #{pageParam.offset}
</select>
<select id="countFiles" resultType="long">
SELECT COUNT(*)
SELECT COUNT(DISTINCT file_root_id)
FROM ai.tb_knowledge_file
WHERE knowledge_id = #{knowledgeId} AND deleted = false
</select>
@@ -133,4 +150,31 @@
FROM ai.tb_knowledge_file
WHERE knowledge_id = #{knowledgeId} AND file_root_id = #{fileRootId}
</select>
<select id="selectLatestVersionFile" resultMap="BaseResultMap">
SELECT <include refid="Base_Column_List"/>
FROM ai.tb_knowledge_file
WHERE file_root_id = #{fileRootId} AND deleted = false
ORDER BY version DESC
LIMIT 1
</select>
<select id="selectFileVersionsWithDetail" resultMap="KnowledgeFileVOResultMap">
SELECT
kf.optsn, kf.knowledge_id, kf.file_root_id, kf.file_id, kf.dify_file_id, kf.version,
kf.create_time, kf.update_time, kf.delete_time, kf.deleted,
f.name as file_name,
f.path as file_path,
f.size as file_size,
f.mime_type as file_mime_type,
f.url as file_url,
f.extension as file_extension,
f.md5_hash as file_md5_hash,
ui.username as uploader_name
FROM ai.tb_knowledge_file kf
LEFT JOIN file.tb_sys_file f ON kf.file_id = f.file_id AND f.deleted = false
LEFT JOIN sys.tb_sys_user_info ui ON f.uploader = ui.user_id AND ui.deleted = false
WHERE kf.file_root_id = #{fileRootId} AND kf.deleted = false
ORDER BY kf.version DESC
</select>
</mapper>