package dto // ProductCreate 创建产品请求 // Logan.Li type ProductCreate struct { Name string `json:"name" binding:"required"` Code string `json:"code" binding:"required"` Version string `json:"version"` Description string `json:"description"` Features []string `json:"features"` Price float64 `json:"price"` PriceModel string `json:"price_model"` Status *int `json:"status"` } // ProductUpdate 更新产品请求 // Logan.Li type ProductUpdate struct { Name string `json:"name"` Version string `json:"version"` Description string `json:"description"` Features []string `json:"features"` Price *float64 `json:"price"` PriceModel string `json:"price_model"` Status *int `json:"status"` } // ProductResponse 产品响应 // Logan.Li type ProductResponse struct { ID uint `json:"id"` Name string `json:"name"` Code string `json:"code"` Version string `json:"version"` Description string `json:"description"` Features []string `json:"features"` Price float64 `json:"price"` PriceModel string `json:"price_model"` Status int `json:"status"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` } // CustomerCreate 创建客户请求 // Logan.Li type CustomerCreate struct { Name string `json:"name" binding:"required"` Company string `json:"company"` Email string `json:"email" binding:"omitempty,email"` Phone string `json:"phone"` Address string `json:"address"` Notes string `json:"notes"` Status *int `json:"status"` ProductIDs []uint `json:"product_ids"` // 关联产品,便于按产品圈选通知 // Logan.Li } // CustomerUpdate 更新客户请求(ProductIDs 用指针区分未传与清空) // Logan.Li type CustomerUpdate struct { Name string `json:"name"` Company string `json:"company"` Email string `json:"email" binding:"omitempty,email"` Phone string `json:"phone"` Address string `json:"address"` Notes string `json:"notes"` Status *int `json:"status"` ProductIDs *[]uint `json:"product_ids"` } // CustomerProductBrief 客户关联产品简要信息 // Logan.Li type CustomerProductBrief struct { ID uint `json:"id"` Name string `json:"name"` Code string `json:"code"` } // CustomerResponse 客户响应 // Logan.Li type CustomerResponse struct { ID uint `json:"id"` Name string `json:"name"` Company string `json:"company"` Email string `json:"email"` Phone string `json:"phone"` Address string `json:"address"` Notes string `json:"notes"` Status int `json:"status"` ProductIDs []uint `json:"product_ids"` Products []CustomerProductBrief `json:"products"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` }