hospital-admin-api/api/dto/OrderServicePackageDetail.go

78 lines
3.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}