/**
 * 统一状态枚举定义
 * 集中管理所有服务的状态枚举，确保一致性
 */

// 套利机会状态
export enum ArbitrageOpportunityStatus {
  PENDING = 'PENDING',
  APPROVED = 'APPROVED',
  REJECTED = 'REJECTED',
  EXECUTING = 'EXECUTING',
  EXECUTED = 'EXECUTED',
  FAILED = 'FAILED'
}

// 套利执行状态
export enum ArbitrageExecutionStatus {
  STARTED = 'STARTED',
  PURCHASED = 'PURCHASED',
  LISTED = 'LISTED',
  SOLD = 'SOLD',
  COMPLETED = 'COMPLETED',
  FAILED = 'FAILED'
}

// 价格比较状态
export enum PriceComparisonStatus {
  ACTIVE = 'ACTIVE',
  EXPIRED = 'EXPIRED',
  EXECUTED = 'EXECUTED'
}

// 风险等级
export enum RiskLevel {
  LOW = 'LOW',
  MEDIUM = 'MEDIUM',
  HIGH = 'HIGH',
  BLOCK = 'BLOCK'
}

// 定价策略
export enum PricingStrategy {
  GAME_THEORY = 'GAME_THEORY',
  COMPETITION = 'COMPETITION',
  DEMAND_BASED = 'DEMAND_BASED',
  COST_PLUS = 'COST_PLUS',
  DYNAMIC = 'DYNAMIC'
}

// 定价决策状态
export enum PricingDecisionStatus {
  PENDING = 'PENDING',
  EXECUTED = 'EXECUTED',
  REJECTED = 'REJECTED',
  EXPIRED = 'EXPIRED'
}

// 价格调整方向
export enum PriceAdjustmentDirection {
  INCREASE = 'INCREASE',
  DECREASE = 'DECREASE',
  MAINTAIN = 'MAINTAIN'
}

// 定价调整频率
export enum PriceAdjustFrequency {
  HOURLY = 'HOURLY',
  DAILY = 'DAILY',
  WEEKLY = 'WEEKLY'
}

// A/B测试状态
export enum ABTestStatus {
  PENDING = 'PENDING',
  RUNNING = 'RUNNING',
  COMPLETED = 'COMPLETED',
  STOPPED = 'STOPPED',
  PAUSED = 'PAUSED'
}

// 竞争对手监控状态
export enum CompetitorMonitorStatus {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE',
  ERROR = 'ERROR'
}

// 价格预警状态
export enum PriceAlertStatus {
  ACTIVE = 'ACTIVE',
  RESOLVED = 'RESOLVED',
  IGNORED = 'IGNORED'
}

// 自动执行配置状态
export enum AutoExecutionStatus {
  ACTIVE = 'ACTIVE',
  PAUSED = 'PAUSED',
  DISABLED = 'DISABLED'
}

// 自动化级别
export enum AutomationLevel {
  LEVEL_1 = 'LEVEL_1',
  LEVEL_2 = 'LEVEL_2',
  LEVEL_3 = 'LEVEL_3',
  LEVEL_4 = 'LEVEL_4',
  LEVEL_5 = 'LEVEL_5'
}

// 自动执行模式
export enum ExecutionMode {
  AUTO = 'AUTO',
  MANUAL = 'MANUAL'
}

// 店铺状态
export enum ShopStatus {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE',
  SYNCING = 'SYNCING',
  ERROR = 'ERROR'
}

// 租户状态
export enum TenantStatus {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE',
  SUSPENDED = 'SUSPENDED'
}

// 用户状态
export enum UserStatus {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE',
  LOCKED = 'LOCKED'
}

// 订单状态
export enum OrderStatus {
  PENDING = 'PENDING',
  PAID = 'PAID',
  SHIPPED = 'SHIPPED',
  DELIVERED = 'DELIVERED',
  CANCELLED = 'CANCELLED',
  REFUNDED = 'REFUNDED'
}

// 产品状态
export enum ProductStatus {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE',
  OUT_OF_STOCK = 'OUT_OF_STOCK',
  DELETED = 'DELETED'
}

// 广告状态
export enum AdStatus {
  ACTIVE = 'ACTIVE',
  PAUSED = 'PAUSED',
  DELETED = 'DELETED'
}

// 证书状态
export enum CertificateStatus {
  VALID = 'VALID',
  EXPIRED = 'EXPIRED',
  PENDING = 'PENDING',
  REVOKED = 'REVOKED'
}

// 策略状态
export enum StrategyStatus {
  ACTIVE = 'ACTIVE',
  PAUSED = 'PAUSED',
  COMPLETED = 'COMPLETED',
  FAILED = 'FAILED'
}

// 自动托管会话状态
export enum AutopilotSessionStatus {
  IDLE = 'IDLE',
  RUNNING = 'RUNNING',
  PAUSED = 'PAUSED',
  STOPPED = 'STOPPED',
  ERROR = 'ERROR'
}

// 自动托管模式
export enum AutopilotMode {
  FULL_AUTO = 'FULL_AUTO',
  SEMI_AUTO = 'SEMI_AUTO',
  MANUAL = 'MANUAL'
}

// 日志类型
export enum LogType {
  TASK = 'TASK',
  DECISION = 'DECISION',
  ERROR = 'ERROR',
  WARNING = 'WARNING',
  INFO = 'INFO'
}

// 任务状态
export enum TaskStatus {
  PENDING = 'PENDING',
  RUNNING = 'RUNNING',
  COMPLETED = 'COMPLETED',
  FAILED = 'FAILED'
}

// 业务类型
export enum BusinessType {
  TOC = 'TOC',
  TOB = 'TOB'
}

// 排行榜类型
export enum LeaderboardType {
  REVENUE = 'REVENUE',
  ROI = 'ROI',
  GROWTH = 'GROWTH'
}

// 排行榜周期
export enum LeaderboardPeriod {
  DAILY = 'DAILY',
  WEEKLY = 'WEEKLY',
  MONTHLY = 'MONTHLY',
  ALL_TIME = 'ALL_TIME'
}

// 商户等级
export enum MerchantTier {
  BRONZE = 'BRONZE',
  SILVER = 'SILVER',
  GOLD = 'GOLD',
  PLATINUM = 'PLATINUM',
  DIAMOND = 'DIAMOND'
}

// 策略类别
export enum StrategyCategory {
  PRICING = 'PRICING',
  ADVERTISING = 'ADVERTISING',
  PRODUCT_SELECTION = 'PRODUCT_SELECTION',
  INVENTORY = 'INVENTORY',
  LOGISTICS = 'LOGISTICS',
  MARKETING = 'MARKETING'
}

// 风险等级
export enum StrategyRiskLevel {
  LOW = 'LOW',
  MEDIUM = 'MEDIUM',
  HIGH = 'HIGH'
}

// 计费类型
export enum BillingType {
  FREE = 'FREE',
  ONE_TIME = 'ONE_TIME',
  SUBSCRIPTION = 'SUBSCRIPTION',
  USAGE_BASED = 'USAGE_BASED'
}

// 权限动作
export enum PermissionAction {
  READ = 'READ',
  WRITE = 'WRITE',
  DELETE = 'DELETE',
  EXECUTE = 'EXECUTE'
}

// 角色类型
export enum RoleType {
  SYSTEM = 'SYSTEM',
  CUSTOM = 'CUSTOM'
}

// 支付方式
export enum PaymentMethod {
  CREDIT_CARD = 'CREDIT_CARD',
  PAYPAL = 'PAYPAL',
  BANK_TRANSFER = 'BANK_TRANSFER',
  CASH = 'CASH'
}

// 广告类型
export enum AdType {
  SEARCH = 'SEARCH',
  DISPLAY = 'DISPLAY',
  SOCIAL = 'SOCIAL',
  VIDEO = 'VIDEO'
}

// 证书类型
export enum CertificateType {
  CE = 'CE',
  FCC = 'FCC',
  ROHS = 'ROHS',
  ISO9001 = 'ISO9001',
  ISO14001 = 'ISO14001',
  FDA = 'FDA',
  UL = 'UL',
  CCC = 'CCC',
  EXPORT_LICENSE = 'EXPORT_LICENSE',
  ORIGIN = 'ORIGIN',
  OTHER = 'OTHER'
}

// 安全测试结果
export enum SecurityTestResult {
  PASS = 'PASS',
  FAIL = 'FAIL',
  WARNING = 'WARNING'
}

// 回归测试结果
export enum RegressionTestResult {
  PASS = 'PASS',
  FAIL = 'FAIL',
  SKIPPED = 'SKIPPED'
}

export default {
  ArbitrageOpportunityStatus,
  ArbitrageExecutionStatus,
  PriceComparisonStatus,
  RiskLevel,
  PricingStrategy,
  PricingDecisionStatus,
  PriceAdjustmentDirection,
  PriceAdjustFrequency,
  ABTestStatus,
  CompetitorMonitorStatus,
  PriceAlertStatus,
  AutoExecutionStatus,
  AutomationLevel,
  ExecutionMode,
  ShopStatus,
  TenantStatus,
  UserStatus,
  OrderStatus,
  ProductStatus,
  AdStatus,
  CertificateStatus,
  StrategyStatus,
  AutopilotSessionStatus,
  AutopilotMode,
  LogType,
  TaskStatus,
  BusinessType,
  LeaderboardType,
  LeaderboardPeriod,
  MerchantTier,
  StrategyCategory,
  StrategyRiskLevel,
  BillingType,
  PermissionAction,
  RoleType,
  PaymentMethod,
  AdType,
  CertificateType,
  SecurityTestResult,
  RegressionTestResult
}
