71 lines
2.0 KiB
Go
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
|
|
}
|