hospital-admin-api/api/service/patientFamily.go

42 lines
1.0 KiB
Go

package service
import (
"errors"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/dto"
)
type PatientFamilyService struct {
}
// GetPatientFamily 家庭成员详情
func (r *PatientFamilyService) GetPatientFamily(familyId int64) (g *dto.PatientFamilyDto, err error) {
patientFamilyDao := dao.PatientFamilyDao{}
patientFamily, err := patientFamilyDao.GetPatientFamilyById(familyId)
if err != nil || patientFamily == nil {
return nil, errors.New("就诊人错误")
}
// 获取患者数据
userPatientDao := dao.UserPatientDao{}
userPatient, err := userPatientDao.GetUserPatientPreloadById(patientFamily.PatientId)
if err != nil || userPatient == nil {
return nil, errors.New("患者错误")
}
// 获取用户数据
userDao := dao.UserDao{}
user, err := userDao.GetUserById(userPatient.UserId)
if err != nil || user == nil {
return nil, errors.New("用户错误")
}
// 处理返回数据
g = dto.GetPatientFamilyDto(patientFamily)
// 加载用户数据-加密
g.LoadMaskUser(user)
return g, nil
}