package com.kaidi.oa.domain; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Column; import jakarta.persistence.Table; import java.time.Instant; /** * 信息部·IT 知识库文章(需求 §3 知识库)。积累常见问题解决方案(如「如何重置密码」「打印机卡纸处理」), * 支持用户自助搜索;IT 人员处理工单时可引用知识库快速回复({@link ItServiceTicket#getKnowledgeId()})。 * *
useCount 记录被引用次数,越高代表越常用;状态草稿/已发布控制是否对外可检索。
* 表名 it_knowledge_article,零撞名。 */ @Entity @Table(name = "it_knowledge_article") public class ItKnowledgeArticle { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; /** 标题(问题)。 */ private String title; /** 分类:账号权限 / 网络 / 软件 / 硬件外设 / 邮件 / 安全 / 其他。 */ private String category; /** 关键词(逗号分隔,便于自助搜索)。 */ private String keywords; /** 解决方案正文(步骤)。 */ @Column(columnDefinition = "TEXT") private String content; /** 作者 / 维护人。 */ private String author; /** 状态:草稿 / 已发布 / 已归档。 */ private String status; /** 被工单引用次数(引用一次自增)。 */ private Integer useCount = 0; private Instant createdAt; private Instant updatedAt; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getCategory() { return category; } public void setCategory(String category) { this.category = category; } public String getKeywords() { return keywords; } public void setKeywords(String keywords) { this.keywords = keywords; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public Integer getUseCount() { return useCount; } public void setUseCount(Integer useCount) { this.useCount = useCount; } public Instant getCreatedAt() { return createdAt; } public void setCreatedAt(Instant createdAt) { this.createdAt = createdAt; } public Instant getUpdatedAt() { return updatedAt; } public void setUpdatedAt(Instant updatedAt) { this.updatedAt = updatedAt; } }