Skip to main content

tdm_server_rust/entity/
enums.rs

1//! 枚举常量定义 (Enum Constants)
2//!
3//! 以常量结构体的形式定义 Java 风格的枚举值:
4//! - [`MemberInternEnum`]: 组员职阶(正式/实习/退休/已退组等)
5//! - [`PostEnum`]: 岗位 ID 常量(图源/翻译/校对/嵌字/审稿/时轴/发布等)
6
7/// 组员职阶常量 (Member Intern Status)
8///
9/// 对应 Java `MemberInternEnum`,定义组员的五种工作状态。
10///
11/// ## 取值
12///
13/// | 常量 | 值 | 含义 |
14/// |------|-----|------|
15/// | `REGULAR` | 0 | 正式组员 |
16/// | `INTERN` | 1 | 实习组员 |
17/// | `NOT_ACCEPTING` | 2 | 暂不接稿 |
18/// | `RETIRED` | 3 | 已退休 |
19/// | `LEFT` | 4 | 已退组 |
20pub struct MemberInternEnum;
21
22impl MemberInternEnum {
23    /// 正式组员
24    pub const REGULAR: i16 = 0;
25    /// 实习组员
26    pub const INTERN: i16 = 1;
27    /// 暂不接稿
28    pub const NOT_ACCEPTING: i16 = 2;
29    /// 退休
30    pub const RETIRED: i16 = 3;
31    /// 已退组
32    pub const LEFT: i16 = 4;
33
34    /// 是否已退组
35    pub fn is_left(intern: i16) -> bool {
36        intern == Self::LEFT
37    }
38
39    /// 是否为工作成员(正式或实习)
40    pub fn is_working_member(intern: i16) -> bool {
41        intern == Self::REGULAR || intern == Self::INTERN
42    }
43}
44
45/// 岗位 ID 常量 (Post Enum)
46///
47/// 对应 Java `PostEnum`,定义各岗位的整数标识。
48///
49/// ## 取值
50///
51/// | 常量 | 值 | 岗位 |
52/// |------|-----|------|
53/// | `PROVIDER` | 0 | 图源 |
54/// | `TRANSLATOR` | 1 | 翻译 |
55/// | `PROOFREADER` | 2 | 校对 |
56/// | `LETTERER` | 3 | 嵌字 |
57/// | `REVIEWER` | 4 | 审稿 |
58/// | `OTHER` | 5 | 其他 |
59/// | `TIMER` | 6 | 时轴 |
60/// | `PUBLISHER` | 7 | 发布 |
61pub struct PostEnum;
62
63impl PostEnum {
64    /// 图源
65    pub const PROVIDER: i32 = 0;
66    /// 翻译
67    pub const TRANSLATOR: i32 = 1;
68    /// 校对
69    pub const PROOFREADER: i32 = 2;
70    /// 嵌字
71    pub const LETTERER: i32 = 3;
72    /// 审稿
73    pub const REVIEWER: i32 = 4;
74    /// 其他
75    pub const OTHER: i32 = 5;
76    /// 时轴
77    pub const TIMER: i32 = 6;
78    /// 发布
79    pub const PUBLISHER: i32 = 7;
80}