package commands // CreateSubscriptionCommand 创建订阅命令 type CreateSubscriptionCommand struct { UserID string `json:"-" comment:"用户ID"` ProductID string `json:"-" uri:"id" binding:"required,uuid" comment:"产品ID"` } // UpdateSubscriptionPriceCommand 更新订阅价格命令 type UpdateSubscriptionPriceCommand struct { ID string `json:"-" uri:"id" binding:"required,uuid" comment:"订阅ID"` Price float64 `json:"price" binding:"price,min=0" comment:"订阅价格"` } // BatchUpdateSubscriptionPricesCommand 批量更新订阅价格命令 type BatchUpdateSubscriptionPricesCommand struct { UserID string `json:"user_id" binding:"required,uuid" comment:"用户ID"` AdjustmentType string `json:"adjustment_type" binding:"required,oneof=discount cost_multiple" comment:"调整方式(discount:按售价折扣,cost_multiple:按成本价倍数)"` Discount float64 `json:"discount,omitempty" binding:"omitempty,min=0.1,max=10" comment:"折扣比例(0.1-10折)"` CostMultiple float64 `json:"cost_multiple,omitempty" binding:"omitempty,min=0.1" comment:"成本价倍数"` Scope string `json:"scope" binding:"required,oneof=undiscounted all" comment:"改价范围(undiscounted:仅未打折,all:所有)"` }