package service import ( "errors" "hospital-admin-api/api/dao" ) type UserService struct { } // GetUserCardNum 获取用户身份证号 func (r *UserService) GetUserCardNum(userId, familyId int64) (string, error) { var cardNum string // 获取用户数据 userDao := dao.UserDao{} user, err := userDao.GetUserById(userId) if err != nil || user == nil { return "", errors.New("用户错误") } // 判断用户类型 if user.UserType == 1 { // 患者 if familyId == 0 { return "", errors.New("获取失败") } patientFamilyDao := dao.PatientFamilyDao{} patientFamily, err := patientFamilyDao.GetPatientFamilyById(familyId) if err != nil || patientFamily == nil { return "", errors.New("获取失败") } cardNum = patientFamily.IdNumber } else if user.UserType == 2 { // 医生 userDoctorInfoDao := dao.UserDoctorInfoDao{} userDoctorInfo, err := userDoctorInfoDao.GetUserDoctorInfoByUserId(userId) if err != nil || userDoctorInfo == nil { return "", errors.New("获取失败") } cardNum = userDoctorInfo.CardNum } else if user.UserType == 3 { // 药师 cardNum = "暂时未做" } return cardNum, nil } // GetUserBankNumByDoctorId 获取银行卡号 func (r *UserService) GetUserBankNumByDoctorId(doctorId int64) (string, error) { // 获取用户数据 doctorBankCardDao := dao.DoctorBankCardDao{} doctorBankCard, err := doctorBankCardDao.GetDoctorBankCardByDoctorId(doctorId) if err != nil || doctorBankCard == nil { return "", errors.New("错误数据") } return doctorBankCard.BankCardCode, nil } // GetUserMobile 获取用户手机号 func (r *UserService) GetUserMobile(userId, familyId int64) (string, error) { var mobile string // 获取用户数据 userDao := dao.UserDao{} user, err := userDao.GetUserById(userId) if err != nil || user == nil { return "", errors.New("用户错误") } mobile = user.Mobile if familyId != 0 { // 存在家庭成员 patientFamilyDao := dao.PatientFamilyDao{} patientFamily, err := patientFamilyDao.GetPatientFamilyById(familyId) if err != nil || patientFamily == nil { return "", errors.New("获取失败") } mobile = patientFamily.Mobile } return mobile, nil }