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 }