Files
hospital-admin-api/api/dto/DoctorConfigFollowPackage.go
T
2024-06-05 13:51:32 +08:00

90 lines
3.5 KiB
Go

package dto
import (
"fmt"
"hospital-admin-api/api/model"
)
// DoctorConfigFollowPackageDto 医生配置-健康包
type DoctorConfigFollowPackageDto struct {
FollowPackageId string `json:"follow_package_id"` // 主键id
DoctorId string `json:"doctor_id"` // 医生id
MonthlyFrequency int `json:"monthly_frequency"` // 每月次数(0表示不限次)
ServiceRounds int `json:"service_rounds"` // 服务回合数(0表示不限次)
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
UserDoctor *UserDoctorDto `json:"user_doctor"` // 医生数据
DoctorInquiryConfig *DoctorInquiryConfigDto `json:"doctor_inquiry_config"` // 医生问诊配置数据
DoctorConfigFollowPackageItem []*DoctorConfigFollowPackageItemDto `json:"doctor_config_follow_package_item"` // 医生随访包配置明细数据
}
func GetDoctorConfigFollowPackageDto(m *model.DoctorConfigFollowPackage) *DoctorConfigFollowPackageDto {
return &DoctorConfigFollowPackageDto{
FollowPackageId: fmt.Sprintf("%d", m.FollowPackageId),
DoctorId: fmt.Sprintf("%d", m.DoctorId),
MonthlyFrequency: m.MonthlyFrequency,
ServiceRounds: m.ServiceRounds,
CreatedAt: m.CreatedAt,
UpdatedAt: m.UpdatedAt,
}
}
func GetDoctorConfigFollowPackageListDto(m []*model.DoctorConfigFollowPackage) []*DoctorConfigFollowPackageDto {
// 处理返回值
responses := make([]*DoctorConfigFollowPackageDto, len(m))
if len(m) > 0 {
for i, v := range m {
response := &DoctorConfigFollowPackageDto{
FollowPackageId: fmt.Sprintf("%d", v.FollowPackageId),
DoctorId: fmt.Sprintf("%d", v.DoctorId),
MonthlyFrequency: v.MonthlyFrequency,
ServiceRounds: v.ServiceRounds,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
if v.UserDoctor != nil {
response.LoadUserDoctor(v.UserDoctor)
}
// 将转换后的结构体添加到新切片中
responses[i] = response
}
}
return responses
}
// LoadUserDoctor 加载医生数据
func (r *DoctorConfigFollowPackageDto) LoadUserDoctor(m *model.UserDoctor) *DoctorConfigFollowPackageDto {
if m != nil {
r.UserDoctor = GetUserDoctorDto(m)
}
return r
}
// LoadUserDoctorHospital 加载医生医院数据
func (r *DoctorConfigFollowPackageDto) LoadUserDoctorHospital(m *model.Hospital) *DoctorConfigFollowPackageDto {
if m != nil && r.UserDoctor != nil {
r.UserDoctor.Hospital = GetHospitalDto(m)
}
return r
}
// LoadDoctorInquiryConfig 加载医生问诊配置
func (r *DoctorConfigFollowPackageDto) LoadDoctorInquiryConfig(m *model.DoctorInquiryConfig) *DoctorConfigFollowPackageDto {
if m != nil {
r.DoctorInquiryConfig = GetDoctorInquiryConfigDto(m)
}
return r
}
// LoadDoctorConfigFollowPackageItem 加载医生随访包列表配置
func (r *DoctorConfigFollowPackageDto) LoadDoctorConfigFollowPackageItem(m []*model.DoctorConfigFollowPackageItem) *DoctorConfigFollowPackageDto {
if len(m) > 0 {
r.DoctorConfigFollowPackageItem = GetDoctorConfigFollowPackageItemListDto(m)
}
return r
}