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 }