OR博客
设计模式——文章状态转换功能实现
OrdinaryRoad
创建于:2022-11-18 16:20:28
江苏省
1
19
100
0
### 文章状态设计 #### 所有状态一览表 | 类型 | 含义 | 来源 | 去向 | 自身 | | --------------- | ------------------ | ---------------------------------- | ---------------------------------------------------- | ------------ | | DRAFT | 手动保存的草稿 | 恢复文章 审核失败 | 发布文章 删除文章 | 手动保存草稿 | | DRAFT_AUTO | 自动保存的草稿 | 自动保存草稿 | 发布文章 删除文章 | 自动保存草稿 | | INHERIT | 手动保存的历史版本 | 手动保存草稿 发布文章 | 无 | 无 | | INHERIT_AUTO | 自动保存的历史版本 | 手动保存草稿 自动保存草稿 发布文章 | 无 | 无 | | INHERIT_PUBLISH | 已发布的历史版本 | 发布文章 | 无 | 无 | | PUBLISH | 已发布 | 审核通过 | 手动保存草稿 自动保存草稿 发布文章 删除文章 文章违规 | 无 | | PENDING | 审核中 | 发布文章 | 审核通过 审核失败 | 无 | | TRASH | 已删除 | 删除文章 | 恢复文章 | 无 | | OFFEND | 违规文章 | 文章违规 | 文章申诉 | 无 | | COMPLAINT | 申诉中 | 文章申诉 | 审核通过 | 无 | #### 所有行为 > 符号说明 > C CREATE 插入一条新状态的文章 > U UPDATE 更新当前文章的状态 ##### 手动保存草稿 - NULL->DRAFT(C) - DRAFT->INHERIT(U), DRAFT(C) - DRAFT_AUTO->INHERIT_AUTO(U), DRAFT(C) - PUBLISH->DRAFT(C) ##### 自动保存草稿 - NULL->DRAFT_AUTO(C) - DRAFT->INHERIT(U), DRAFT_AUTO(C) - DRAFT_AUTO->INHERIT_AUTO(U), DRAFT_AUTO(C) - PUBLISH->DRAFT_AUTO(C) ##### 发布文章 - NULL->PENDING(C) - DRAFT->INHERIT(U), PENDING(C) - DRAFT_AUTO->INHERIT_AUTO(U), PENDING(C) - PUBLISH->INHERIT_PUBLISH(U), PENDING(C) ##### 删除文章 - DRAFT->TRASH(U) - AUTO_DRAFT->TRASH(U) - PUBLISH->TRASH(U) ##### 恢复文章 - TRASH->DRAFT(U) ##### 审核通过 - PENDING->PUBLISH(U) - PENDING->PRIVATE(U) - COMPLAINT->PUBLISH(U) - COMPLAINT->PRIVATE(U) ##### 审核失败 - PENDING->DRAFT(U) ##### 文章违规 - PUBLISH->OFFENDING(U) ##### 文章申诉 - OFFENDING->COMPLAINT(U)
评论