90 lines
3.5 KiB
Go
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
|
||
}
|