91 lines
2.2 KiB
Go

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
}