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

90 lines
3.5 KiB
Go
Raw Permalink 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"
)
// 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
}