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 }