package commands type ApiCallCommand struct { ClientIP string `json:"-"` AccessId string `json:"-"` ApiName string `json:"-"` Data string `json:"data" binding:"required"` Options ApiCallOptions `json:"options,omitempty"` } type ApiCallOptions struct { Json bool `json:"json,omitempty"` // 是否返回JSON格式 IsDebug bool `json:"is_debug,omitempty"` // 是否为调试调用 } // EncryptCommand 加密命令 type EncryptCommand struct { Data map[string]interface{} `json:"data" binding:"required"` SecretKey string `json:"secret_key" binding:"required"` } // DecryptCommand 解密命令 type DecryptCommand struct { EncryptedData string `json:"encrypted_data" binding:"required"` SecretKey string `json:"secret_key" binding:"required"` } // SaveApiCallCommand 保存API调用命令 type SaveApiCallCommand struct { ApiCallID string `json:"api_call_id"` UserID string `json:"user_id"` ProductID string `json:"product_id"` TransactionID string `json:"transaction_id"` Status string `json:"status"` Cost float64 `json:"cost"` ErrorType string `json:"error_type"` ErrorMsg string `json:"error_msg"` ClientIP string `json:"client_ip"` } // ProcessDeductionCommand 处理扣款命令 type ProcessDeductionCommand struct { UserID string `json:"user_id"` Amount string `json:"amount"` ApiCallID string `json:"api_call_id"` TransactionID string `json:"transaction_id"` ProductID string `json:"product_id"` } // UpdateUsageStatsCommand 更新使用统计命令 type UpdateUsageStatsCommand struct { SubscriptionID string `json:"subscription_id"` UserID string `json:"user_id"` ProductID string `json:"product_id"` Increment int `json:"increment"` } // RecordApiLogCommand 记录API日志命令 type RecordApiLogCommand struct { TransactionID string `json:"transaction_id"` UserID string `json:"user_id"` ApiName string `json:"api_name"` ClientIP string `json:"client_ip"` ResponseSize int64 `json:"response_size"` } // ProcessCompensationCommand 处理补偿命令 type ProcessCompensationCommand struct { TransactionID string `json:"transaction_id"` Type string `json:"type"` }