78 lines
3.4 KiB
Go
78 lines
3.4 KiB
Go
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
|
|
}
|