feat: 添加汇率服务和缓存服务,优化数据源和日志服务
refactor: 重构数据源工厂和类型定义,提升代码可维护性 fix: 修复类型转换和状态机文档中的错误 docs: 更新服务架构文档,添加新的服务闭环流程 test: 添加汇率服务单元测试 chore: 清理无用代码和注释,优化代码结构
This commit is contained in:
368
server/src/types/enums.ts
Normal file
368
server/src/types/enums.ts
Normal file
@@ -0,0 +1,368 @@
|
||||
/**
|
||||
* 统一状态枚举定义
|
||||
* 集中管理所有服务的状态枚举,确保一致性
|
||||
*/
|
||||
|
||||
// 套利机会状态
|
||||
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
|
||||
}
|
||||
28
server/src/types/express.d.ts
vendored
Normal file
28
server/src/types/express.d.ts
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Express Request 接口扩展
|
||||
* 添加用户相关属性和追踪上下文
|
||||
*/
|
||||
|
||||
declare global {
|
||||
namespace Express {
|
||||
interface User {
|
||||
id: string;
|
||||
tenantId: string;
|
||||
role: string;
|
||||
email: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
interface Request {
|
||||
user?: User;
|
||||
traceContext?: {
|
||||
tenantId: string;
|
||||
shopId: string;
|
||||
traceId: string;
|
||||
businessType: 'TOC' | 'TOB';
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export {};
|
||||
Reference in New Issue
Block a user