71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 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"`
 | |
| } |