package dto import ( "fmt" "hospital-admin-api/api/model" ) // OrderServicePackageDetailDto 订单-服务包详情表 type OrderServicePackageDetailDto struct { OrderServiceDetailId string `json:"order_service_detail_id"` // 主键id OrderServiceId string `json:"order_service_id"` // 服务包订单id OrderId string `json:"order_id"` // 订单id PackageId string `json:"package_id"` // 健康包配置id(随访包时为空) OrderServiceNo string `json:"order_service_no"` // 系统订单编号 ServicePeriod int `json:"service_period"` // 服务周期(天) ServiceCount int `json:"service_count"` // 总服务次数(0表示不限次) MonthlyFrequency int `json:"monthly_frequency"` // 每月次数(0表示不限次) SingleInquiryPrice float64 `json:"single_inquiry_price"` // 单次图文问诊价格 ServicePrice float64 `json:"service_price"` // 总服务价格 CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 RemainingQuantity int `json:"remaining_quantity"` // 药品的剩余数量 } // GetOrderServicePackageDetailDto 订单-服务包详情详情 func GetOrderServicePackageDetailDto(m *model.OrderServicePackageDetail) *OrderServicePackageDetailDto { return &OrderServicePackageDetailDto{ OrderServiceDetailId: fmt.Sprintf("%d", m.OrderServiceDetailId), OrderServiceId: fmt.Sprintf("%d", m.OrderServiceId), OrderId: fmt.Sprintf("%d", m.OrderId), PackageId: fmt.Sprintf("%d", m.PackageId), OrderServiceNo: m.OrderServiceNo, ServicePeriod: m.ServicePeriod, ServiceCount: m.ServiceCount, MonthlyFrequency: m.MonthlyFrequency, SingleInquiryPrice: m.SingleInquiryPrice, ServicePrice: m.ServicePrice, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } } // GetOrderServicePackageDetailListDto 订单-服务包详情列表 func GetOrderServicePackageDetailListDto(m []*model.OrderServicePackageDetail) []*OrderServicePackageDetailDto { // 处理返回值 responses := make([]*OrderServicePackageDetailDto, len(m)) if len(m) > 0 { for i, v := range m { response := &OrderServicePackageDetailDto{ OrderServiceDetailId: fmt.Sprintf("%d", v.OrderServiceDetailId), OrderServiceId: fmt.Sprintf("%d", v.OrderServiceId), OrderId: fmt.Sprintf("%d", v.OrderId), PackageId: fmt.Sprintf("%d", v.PackageId), OrderServiceNo: v.OrderServiceNo, ServicePeriod: v.ServicePeriod, ServiceCount: v.ServiceCount, MonthlyFrequency: v.MonthlyFrequency, SingleInquiryPrice: v.SingleInquiryPrice, ServicePrice: v.ServicePrice, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses } // LoadRemainingQuantity 加载药品剩余数量 func (r *OrderServicePackageDetailDto) LoadRemainingQuantity(remainingQuantity int) *OrderServicePackageDetailDto { r.RemainingQuantity = remainingQuantity return r }