24 lines
1.4 KiB
Go
24 lines
1.4 KiB
Go
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:"订阅价格"`
|
||
UIComponentPrice float64 `json:"ui_component_price" binding:"omitempty,min=0" comment:"UI组件价格(组合包使用)"`
|
||
}
|
||
|
||
// 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:所有)"`
|
||
}
|