20 lines
		
	
	
		
			938 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			938 B
		
	
	
	
		
			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:"订阅价格"`
 | |
| }
 | |
| 
 | |
| // BatchUpdateSubscriptionPricesCommand 批量更新订阅价格命令
 | |
| type BatchUpdateSubscriptionPricesCommand struct {
 | |
| 	UserID  string  `json:"user_id" binding:"required,uuid" comment:"用户ID"`
 | |
| 	Discount float64 `json:"discount" binding:"required,min=0.1,max=10" comment:"折扣比例(0.1-10折)"`
 | |
| 	Scope   string  `json:"scope" binding:"required,oneof=undiscounted all" comment:"改价范围(undiscounted:仅未打折,all:所有)"`
 | |
| }  |