From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsMapper/DmsFileObjectMapper.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsMapper/DmsFileObjectMapper.java b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsMapper/DmsFileObjectMapper.java
new file mode 100644
index 0000000..e27e1b7
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsMapper/DmsFileObjectMapper.java
@@ -0,0 +1,37 @@
+package jnpf.dmsMapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import jnpf.dmsEntity.storage.entity.DmsFileObjectEntity;
+import jnpf.dmsEntity.storage.vo.DmsFileUploadVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface DmsFileObjectMapper extends BaseMapper<DmsFileObjectEntity> {
+
+ @Select("SELECT 1 FROM (SELECT pg_advisory_xact_lock(hashtextextended(#{tenantId} || ':' "
+ + "|| #{serviceId} || ':' || #{sourceId}, 0))) advisory_lock")
+ Integer lockSource(@Param("tenantId") String tenantId,
+ @Param("serviceId") String serviceId,
+ @Param("sourceId") String sourceId);
+
+ @Select("SELECT d.id AS document_id, CASE WHEN s.approval_source_id LIKE 'revision:%' "
+ + "THEN split_part(s.approval_source_id, ':', 2)::UUID END AS base_file_version_id, "
+ + "v.id AS file_version_id, o.id AS file_object_id, "
+ + "d.folder_id, d.document_no, d.name AS document_name, d.document_type, "
+ + "d.responsible_dept_id, v.version_no, v.version_label, v.file_name, v.mime_type, "
+ + "v.size_bytes, v.checksum_sha256, v.prepared_by, v.prepared_on, "
+ + "o.storage_platform, o.bucket_name, o.base_path, o.object_path, "
+ + "o.object_name, o.source_id, s.status_reason AS revision_reason, o.created_at "
+ + "FROM public.dms_file_objects o "
+ + "JOIN public.dms_file_versions v ON v.tenant_id = o.tenant_id AND v.id = o.file_version_id "
+ + "JOIN public.dms_documents d ON d.tenant_id = v.tenant_id AND d.id = v.document_id "
+ + "LEFT JOIN public.dms_version_states s ON s.tenant_id = v.tenant_id "
+ + "AND s.document_id = v.document_id AND s.file_version_id = v.id "
+ + "WHERE o.tenant_id = #{tenantId} AND o.source_service_id = #{serviceId} "
+ + "AND o.source_id = #{sourceId}")
+ DmsFileUploadVO selectUploadBySource(@Param("tenantId") String tenantId,
+ @Param("serviceId") String serviceId,
+ @Param("sourceId") String sourceId);
+}
--
Gitblit v1.8.0