feat(ai_agent): 完善AI适配器和服务功能 - 添加OpenClaw和Hermes健康检查接口 - 实现OpenClaw工具调用功能 - 重构AI适配器使用常量定义 - 增加AI技能系统支持 - 更新配置文件中的默认模型提供者设置 refactor(scheduler): 使用常量替换硬编码值 - 将硬编码的actor值替换为ActorValue常量 - 将receive_id_type替换为FeishuReceiveIdType枚举 refactor(audit): 统一审计日志常量使用 - 将硬编码的actor、source、risk_level等值替换为对应常量 - 更新审核服务中的状态和操作常量引用 refactor(approvals): 标准化审批模块常量使用 - 将applicant默认值替换为ActorValue.API常量 - 使用ApprovalStatus常量替代硬编码状态值 - 更新审核操作常量引用 ```
118 lines
2.5 KiB
Python
118 lines
2.5 KiB
Python
from enum import StrEnum
|
|
|
|
|
|
class StatusValue(StrEnum):
|
|
INITIATED = "立项"
|
|
TODO = "待办"
|
|
DRAFT = "草稿"
|
|
POLICY_DRAFT = "草案"
|
|
VALID = "有效"
|
|
APPROVING = "审批中"
|
|
PENDING_APPROVAL = "待审批"
|
|
PENDING = "pending"
|
|
ACCEPTED = "验收"
|
|
COMPLETED_CN = "已完成"
|
|
DONE_CN = "完成"
|
|
REVIEWED = "复盘"
|
|
ARCHIVED = "归档"
|
|
CLOSED_CN = "关闭"
|
|
CLOSED = "closed"
|
|
RESOLVED = "resolved"
|
|
DONE = "done"
|
|
COMPLETED = "completed"
|
|
GENERATED = "已生成"
|
|
UNKNOWN = "未知"
|
|
PAID = "已付款"
|
|
UNPAID = "未付款"
|
|
UNDELIVERED = "未到货"
|
|
INVOICE_NOT_RECEIVED = "未收票"
|
|
NORMAL = "normal"
|
|
NORMAL_CN = "正常"
|
|
LATE = "迟到"
|
|
LEAVE_EARLY = "早退"
|
|
MISSING_PUNCH = "缺卡"
|
|
ABSENT = "旷工"
|
|
ABNORMAL = "异常"
|
|
OPEN = "open"
|
|
RUNNING = "running"
|
|
DRY_RUN = "dry_run"
|
|
|
|
|
|
class RiskLevel(StrEnum):
|
|
LOW = "low"
|
|
MEDIUM = "medium"
|
|
HIGH = "high"
|
|
|
|
|
|
class PriorityValue(StrEnum):
|
|
P2 = "P2"
|
|
|
|
|
|
class SourceSystem(StrEnum):
|
|
INTERNAL = "internal"
|
|
LEGACY_MYSQL = "legacy_mysql"
|
|
|
|
|
|
class AccountType(StrEnum):
|
|
BANK = "bank"
|
|
|
|
|
|
class VersionValue(StrEnum):
|
|
V1_0 = "v1.0"
|
|
|
|
|
|
class BusinessDomain(StrEnum):
|
|
TASKS = "tasks"
|
|
PROJECTS = "projects"
|
|
FUND_ACCOUNTS = "fund-accounts"
|
|
SUPPLIERS = "suppliers"
|
|
|
|
|
|
class RiskEventType(StrEnum):
|
|
OVERDUE_TASK = "overdue_task"
|
|
DELAYED_PROJECT = "delayed_project"
|
|
OVER_BUDGET_PROJECT = "over_budget_project"
|
|
FUND_SAFETY_LINE = "fund_safety_line"
|
|
SUPPLIER_RISK = "supplier_risk"
|
|
|
|
|
|
DONE_STATUSES = frozenset(
|
|
{
|
|
StatusValue.DONE_CN,
|
|
StatusValue.COMPLETED_CN,
|
|
StatusValue.CLOSED_CN,
|
|
StatusValue.DONE,
|
|
StatusValue.COMPLETED,
|
|
StatusValue.CLOSED,
|
|
}
|
|
)
|
|
PENDING_APPROVAL_STATUSES = frozenset(
|
|
{
|
|
StatusValue.DRAFT,
|
|
StatusValue.APPROVING,
|
|
StatusValue.PENDING_APPROVAL,
|
|
StatusValue.PENDING,
|
|
}
|
|
)
|
|
PROJECT_CLOSED_STATUSES = frozenset(
|
|
{
|
|
StatusValue.ACCEPTED,
|
|
StatusValue.COMPLETED_CN,
|
|
StatusValue.REVIEWED,
|
|
StatusValue.ARCHIVED,
|
|
StatusValue.CLOSED_CN,
|
|
StatusValue.CLOSED,
|
|
}
|
|
)
|
|
ATTENDANCE_ABNORMAL_STATUSES = frozenset(
|
|
{
|
|
StatusValue.LATE,
|
|
StatusValue.LEAVE_EARLY,
|
|
StatusValue.MISSING_PUNCH,
|
|
StatusValue.ABSENT,
|
|
StatusValue.ABNORMAL,
|
|
}
|
|
)
|
|
SUPPLIER_RISK_LEVELS = frozenset({RiskLevel.MEDIUM, RiskLevel.HIGH})
|
|
CLOSED_RISK_STATUSES = frozenset({StatusValue.CLOSED, StatusValue.RESOLVED})
|