package price import ( "cls/internal/domain/price" "errors" ) type PriceDto struct { ID uint64 `json:"id" omitempty` TargetID uint64 `json:"targetID" omitempty` Type price.PriceType `json:"type" omitempty` Amount int64 `json:"amount" omitempty` OneMonthPrice int64 `json:"oneMonthPrice" omitempty` ThreeMonthsPrice int64 `json:"threeMonthsPrice" omitempty` SixMonthsPrice int64 `json:"sixMonthsPrice" omitempty` OneYearPrice int64 `json:"oneYearPrice" omitempty` Discount float32 `json:"discount" omitempty` AdminID uint64 `json:"adminID" omitempty` } func (p *PriceDto) ToPrice() *price.Price { return &price.Price{ ID: p.ID, TargetID: p.TargetID, Type: p.Type, Amount: p.Amount, OneMonthPrice: p.OneMonthPrice, ThreeMonthsPrice: p.ThreeMonthsPrice, SixMonthsPrice: p.SixMonthsPrice, OneYearPrice: p.OneYearPrice, Discount: p.Discount, AdminID: p.AdminID, } } func (p *PriceDto) Validate() error { if p.Type == price.TypeArticle { if p.Amount <= 0 { return errors.New("文章价格必须大于0") } } return nil }