Files
hospital-admin-api/api/dto/ProductPlatform.go
T

88 lines
3.4 KiB
Go

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
}