62 lines
1.4 KiB
Go

package v1
import (
"hospital-open-api/api/dao"
dtoV1 "hospital-open-api/api/dto/v1"
requestsV1 "hospital-open-api/api/requests/v1"
)
// UserDoctorService 医生
type UserDoctorService struct {
}
// GetDoctor 获取医生详情
func (r *UserDoctorService) GetDoctor(req requestsV1.GetDoctor) (g *dtoV1.UserDoctorDto, err error) {
// 获取数据
userDoctorDao := dao.UserDoctorDao{}
userDoctor, err := userDoctorDao.GetUserDoctor(req)
if err != nil && userDoctor == nil {
return nil, err
}
// 处理返回值
g = dtoV1.GetDoctorDto(userDoctor)
// 加载用户数据
g.LoadUserAttr(userDoctor.User)
// 加载医院名称
g.LoadHospitalName(userDoctor.Hospital)
// 加载问诊配置数据
g.LoadDoctorInquiryConfig(userDoctor.DoctorInquiryConfig)
return g, nil
}
// GetMultiDoctor 获取多点执业医生详情
func (r *UserDoctorService) GetMultiDoctor(req requestsV1.GetMultiDoctor) (g *dtoV1.MultiUserDoctorDto, err error) {
// 获取数据
userDoctorDao := dao.UserDoctorDao{}
userDoctor, err := userDoctorDao.GetMultiUserDoctor(req)
if err != nil && userDoctor == nil {
return nil, err
}
// 处理返回值
g = dtoV1.GetMultiDoctorDto(userDoctor)
if err != nil {
return nil, err
}
// 加载用户数据
g.LoadUserAttr(userDoctor.User)
// 加载医院名称
g.LoadHospitalName(userDoctor.Hospital)
// 维护是否多点执业字段
return g, nil
}