hospital-admin-api/api/service/doctorWithdrawa.go
2023-10-31 09:13:50 +08:00

71 lines
2.0 KiB
Go

package service
import (
"errors"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/dto"
)
type DoctorWithdrawaService struct {
}
// GetDoctorWithdrawal 提现详情
func (r *DoctorWithdrawaService) GetDoctorWithdrawal(withdrawalId int64) (g *dto.DoctorWithdrawalDto, err error) {
doctorWithdrawalDao := dao.DoctorWithdrawalDao{}
doctorWithdrawal, err := doctorWithdrawalDao.GetDoctorWithdrawalById(withdrawalId)
if doctorWithdrawal == nil {
return nil, errors.New("数据错误")
}
// 获取医生数据
userDoctorDao := dao.UserDoctorDao{}
userDoctor, err := userDoctorDao.GetUserDoctorById(doctorWithdrawal.DoctorId)
if err != nil || userDoctor == nil {
return nil, errors.New("医生数据错误")
}
// 获取医生详情数据
userDoctorInfoDao := dao.UserDoctorInfoDao{}
userDoctorInfo, err := userDoctorInfoDao.GetUserDoctorInfoByUserId(userDoctor.UserId)
if err != nil || userDoctorInfo == nil {
return nil, errors.New("医生详情数据错误")
}
// 获取提现关联银行数据
doctorWithdrawalBankDao := dao.DoctorWithdrawalBankDao{}
doctorWithdrawalBank, err := doctorWithdrawalBankDao.GetDoctorWithdrawalBankByWithdrawalId(doctorWithdrawal.WithdrawalId)
if err != nil || doctorWithdrawalBank == nil {
return nil, errors.New("银行卡数据错误")
}
// 获取基础银行数据
basicBankDao := dao.BasicBankDao{}
basicBank, err := basicBankDao.GetBasicBankById(doctorWithdrawalBank.BankId)
if err != nil || basicBank == nil {
return nil, errors.New("银行数据错误")
}
// 处理返回值
g = dto.GetDoctorWithdrawalDto(doctorWithdrawal)
// 加载医生名称
g.LoadDoctorName(userDoctor)
// 加载医生证件号码(掩码)
g.LoadDoctorCardNumMask(userDoctorInfo)
// 加载审核人员名称
g.LoadExamineByName(doctorWithdrawal.ExamineBy)
// 加载打款人员名称
g.LoadPaymentByName(doctorWithdrawal.ExamineBy)
// 加载提现关联银行数据
g.LoadDoctorWithdrawalBank(doctorWithdrawalBank)
// 加载基础银行数据
g.LoadBasicBank(basicBank)
return g, nil
}