91 lines
2.2 KiB
Go
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
|
|
}
|