package dto import ( "fmt" "hospital-admin-api/api/model" ) type ProductPlatformDto struct { ProductPlatformId string `json:"product_platform_id"` // 主键id ProductName string `json:"product_name"` // 商品名称 ProductPrice float64 `json:"product_price"` // 商品价格 ProductType int `json:"product_type"` // 药品类型(0:未知 1:中成药 2:西药) ProductPlatformCode string `json:"product_platform_code"` // 处方平台商品编码 ProductPharmacyCode string `json:"product_pharmacy_code"` // 第三方药店商品编码 PharmacyId string `json:"pharmacy_id"` // 所属药房ID PharmacyCode string `json:"pharmacy_code"` // 第三方药房编码 PharmacyName string `json:"pharmacy_name"` // 所属药房名称 Pharmacy *PharmacyDto `json:"pharmacy"` // 所属药房详情 ProductSpec string `json:"product_spec"` // 商品规格 LicenseNumber string `json:"license_number"` // 批准文号 Manufacturer string `json:"manufacturer"` // 生产厂家 SingleUnit string `json:"single_unit"` // 单次剂量单位 PackagingUnit string `json:"packaging_unit"` // 基本包装单位 PackagingCount string `json:"packaging_count"` // 基本包装数量 RetailUnit string `json:"retail_unit"` // 零售单位 CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间 Stock uint `json:"stock"` // 现有库存 } // GetProductPlatformDto 平台商品详情 func GetProductPlatformDto(m *model.ProductPlatform) *ProductPlatformDto { dto := &ProductPlatformDto{ ProductPlatformId: fmt.Sprintf("%d", m.ProductPlatformId), ProductName: m.ProductName, ProductPrice: m.ProductPrice, ProductType: m.ProductType, ProductPlatformCode: m.ProductPlatformCode, ProductPharmacyCode: m.ProductPharmacyCode, PharmacyId: "0", PharmacyCode: m.PharmacyCode, PharmacyName: "", ProductSpec: m.ProductSpec, LicenseNumber: m.LicenseNumber, Manufacturer: m.Manufacturer, SingleUnit: m.SingleUnit, PackagingUnit: m.PackagingUnit, PackagingCount: m.PackagingCount, RetailUnit: m.RetailUnit, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } if m.Pharmacy != nil { dto.Pharmacy = GetPharmacyDto(m.Pharmacy) dto.PharmacyId = fmt.Sprintf("%d", m.Pharmacy.PharmacyId) dto.PharmacyName = m.Pharmacy.PharmacyName if dto.PharmacyCode == "" { dto.PharmacyCode = m.Pharmacy.PharmacyCode } } return dto } // GetProductPlatformListDto 平台商品列表 func GetProductPlatformListDto(m []*model.ProductPlatform) []*ProductPlatformDto { // 处理返回值 responses := make([]*ProductPlatformDto, len(m)) if len(m) > 0 { for i, v := range m { responses[i] = GetProductPlatformDto(v) } } return responses } // LoadProductAmount 加载商品库存 func (r *ProductPlatformDto) LoadProductAmount(quantity int) *ProductPlatformDto { if quantity > 0 { r.Stock = uint(quantity) } return r }