package com.dms.model; import java.time.LocalDateTime; import lombok.Data; /** doc_document 表实体(对齐 backend/dms/models/document.py)。 */ @Data public class DocumentEntity { private Long id; private Long createdBy; private Long updatedBy; private LocalDateTime createdAt; private LocalDateTime updatedAt; private LocalDateTime deletedAt; private Boolean isDeleted; private Integer rowVersion; private String documentName; private String summary; private String description; private String documentType; private String documentStatus; private String securityLevel; private String visibilityType; private String attachmentType; private Long categoryId; private String categoryName; private String categoryPath; private Long organizationId; private String organizationName; private Long parentDocumentId; private Long rootDocumentId; /** JSON 数组字符串(tags),序列化由服务层处理。 */ private String tags; private String originalFileName; private String fileRelativePath; private String fileExtension; private String mimeType; private Long fileSize; private String fileHash; private Integer sortNo; private Integer childCount; private Integer attachmentCount; private Long viewCount; private Long downloadCount; private String searchText; private String contentText; private String contentExtractStatus; /** 正文提取失败的脱敏原因(异常类型+首行信息),供管理员排障。 */ private String contentExtractError; private LocalDateTime contentExtractedAt; private String createdByName; private String updatedByName; /** 方案密码锁:Argon2id 哈希(NULL=未设密)。 */ private String passwordHash; private Boolean protectView; private Boolean protectDownload; private Boolean protectEdit; private Boolean protectDelete; private Boolean protectConfigPermission; private Boolean protectBindAttachment; private Boolean protectUnbindAttachment; }