from __future__ import annotations from enum import StrEnum class CreditLevel(StrEnum): PROMOTIONAL = "promotional" GENERAL = "general" CREDIT_LEVEL_SORT = { CreditLevel.PROMOTIONAL.value: 10, CreditLevel.GENERAL.value: 20, } CREDIT_LEVEL_LABELS = { CreditLevel.PROMOTIONAL.value: "活动积分", CreditLevel.GENERAL.value: "普通积分", } class CreditBalanceSourceType(StrEnum): REGISTER_GIFT = "register_gift" DAILY_LOGIN = "daily_login" SIGN_IN = "sign_in" ACTIVITY = "activity" ADMIN_GRANT = "admin_grant" SUBSCRIPTION_GRANT = "subscription_grant" CREDIT_ADDON = "credit_addon" LEGACY_MIGRATION = "legacy_migration" BUSINESS_REFUND = "business_refund" CREDIT_BALANCE_SOURCE_TYPE_LABELS = { CreditBalanceSourceType.REGISTER_GIFT.value: "注册赠送", CreditBalanceSourceType.DAILY_LOGIN.value: "每日登录赠送", CreditBalanceSourceType.SIGN_IN.value: "签到赠送", CreditBalanceSourceType.ACTIVITY.value: "活动赠送", CreditBalanceSourceType.ADMIN_GRANT.value: "管理员赠送", CreditBalanceSourceType.SUBSCRIPTION_GRANT.value: "订阅积分发放", CreditBalanceSourceType.CREDIT_ADDON.value: "积分增值包", CreditBalanceSourceType.LEGACY_MIGRATION.value: "历史积分迁移", CreditBalanceSourceType.BUSINESS_REFUND.value: "业务退款", } class CreditBalanceStatus(StrEnum): SCHEDULED = "scheduled" ACTIVE = "active" CONSUMED = "consumed" EXPIRED = "expired" REVOKED = "revoked" CANCELLED = "cancelled" CREDIT_BALANCE_STATUS_LABELS = { CreditBalanceStatus.SCHEDULED.value: "待生效", CreditBalanceStatus.ACTIVE.value: "有效", CreditBalanceStatus.CONSUMED.value: "已用完", CreditBalanceStatus.EXPIRED.value: "已过期", CreditBalanceStatus.REVOKED.value: "已撤销", CreditBalanceStatus.CANCELLED.value: "已取消", } class CreditAllocationAction(StrEnum): GRANT = "grant" CONSUME = "consume" REFUND_AVAILABLE = "refund_available" REFUND_EXPIRED = "refund_expired" EXPIRE = "expire" REVOKE = "revoke" UPGRADE_SOURCE_TRANSFER_OUT = "upgrade_source_transfer_out" UPGRADE_SOURCE_TRANSFER_IN = "upgrade_source_transfer_in" CREDIT_ALLOCATION_ACTION_LABELS = { CreditAllocationAction.GRANT.value: "发放", CreditAllocationAction.CONSUME.value: "消费", CreditAllocationAction.REFUND_AVAILABLE.value: "有效积分退款", CreditAllocationAction.REFUND_EXPIRED.value: "过期积分退款", CreditAllocationAction.EXPIRE.value: "积分过期", CreditAllocationAction.REVOKE.value: "积分撤销", CreditAllocationAction.UPGRADE_SOURCE_TRANSFER_OUT.value: "升级积分转出", CreditAllocationAction.UPGRADE_SOURCE_TRANSFER_IN.value: "升级积分转入", }