62 lines
1.4 KiB
Go
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
|
|
}
|