OR博客
设计模式——文章状态转换功能实现
苗锦洲
创建于:2022-11-18 16:20:28
江苏省
1
31
289
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)
评论