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 }