修改提现数据

This commit is contained in:
wucongxing8150 2024-06-26 11:09:21 +08:00
parent b0651d171e
commit 775615c9aa
4 changed files with 107 additions and 76 deletions

View File

@ -47,10 +47,16 @@ func (r *DoctorWithdrawalOrderDao) GetDoctorWithdrawalOrderPageSearch(req reques
}) })
// 订单 // 订单
query = query.Preload("OrderInquiry") query = query.Preload("Order")
// 订单-问诊
query = query.Preload("Order.OrderInquiry")
// 订单-服务包
query = query.Preload("Order.OrderServicePackage")
// 患者 // 患者
query = query.Preload("OrderInquiry.User") query = query.Preload("Order.User")
// 排序 // 排序
query = query.Order("created_at desc") query = query.Order("created_at desc")
@ -82,10 +88,16 @@ func (r *DoctorWithdrawalOrderDao) GetDoctorWithdrawalOrderExportListSearch(req
}) })
// 订单 // 订单
query = query.Preload("OrderInquiry") query = query.Preload("Order")
// 订单-问诊
query = query.Preload("Order.OrderInquiry")
// 订单-服务包
query = query.Preload("Order.OrderServicePackage")
// 患者 // 患者
query = query.Preload("OrderInquiry.User") query = query.Preload("Order.User")
// 排序 // 排序
query = query.Order("created_at desc") query = query.Order("created_at desc")

View File

@ -2,7 +2,6 @@ package dto
import ( import (
"fmt" "fmt"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/model" "hospital-admin-api/api/model"
"hospital-admin-api/utils" "hospital-admin-api/utils"
"math" "math"
@ -26,6 +25,7 @@ type DoctorWithdrawalOrderDto struct {
PayChannel int `json:"pay_channel"` // 支付渠道1:小程序支付 2:微信扫码支付 3:模拟支付) PayChannel int `json:"pay_channel"` // 支付渠道1:小程序支付 2:微信扫码支付 3:模拟支付)
PayTime model.LocalTime `json:"pay_time"` // 支付时间 PayTime model.LocalTime `json:"pay_time"` // 支付时间
InquiryNo string `json:"inquiry_no"` // 系统订单编号 InquiryNo string `json:"inquiry_no"` // 系统订单编号
OrderNo string `json:"order_no"` // 系统订单编号
EscrowTradeNo string `json:"escrow_trade_no"` // 第三方支付流水号 EscrowTradeNo string `json:"escrow_trade_no"` // 第三方支付流水号
InquiryStatus int `json:"inquiry_status"` // 问诊订单状态1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消) InquiryStatus int `json:"inquiry_status"` // 问诊订单状态1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
} }
@ -62,53 +62,48 @@ func GetDoctorWithdrawalOrderListDto(m []*model.DoctorWithdrawalOrder) []*Doctor
} }
// 加载患者姓名-就诊人(掩码) // 加载患者姓名-就诊人(掩码)
if v.OrderInquiry != nil { response.LoadPatientNameMask(v.Order)
response.LoadPatientNameMask(v.OrderInquiry)
}
// 加载患者性别-就诊人 // 加载患者性别-就诊人
if v.OrderInquiry != nil { response.LoadPatientSex(v.Order)
response.LoadPatientSex(v.OrderInquiry)
}
// 加载患者年龄-就诊人 // 加载患者年龄-就诊人
if v.OrderInquiry != nil { response.LoadPatientAge(v.Order)
response.LoadPatientAge(v.OrderInquiry)
}
// 加载患者电话(掩码) // 加载患者电话(掩码)
if v.OrderInquiry != nil { if v.Order.User != nil {
response.LoadPatientMobileMask(v.OrderInquiry) response.LoadPatientMobileMask(v.Order.User)
} }
// 加载支付渠道 // 加载支付渠道
if v.OrderInquiry != nil { if v.Order != nil {
response.LoadPayChannel(v.OrderInquiry) response.LoadPayChannel(v.Order)
} }
// 加载支付时间 // 加载支付时间
if v.OrderInquiry != nil { if v.Order != nil {
response.LoadPayTime(v.OrderInquiry) response.LoadPayTime(v.Order)
} }
// 加载系统订单编号 // 加载系统订单编号
if v.OrderInquiry != nil { if v.Order != nil {
response.LoadInquiryNo(v.OrderInquiry) response.LoadInquiryNo(v.Order)
response.LoadOrderNo(v.Order)
} }
// 加载第三方支付流水号 // 加载第三方支付流水号
if v.OrderInquiry != nil { if v.Order != nil {
response.LoadEscrowTradeNo(v.OrderInquiry) response.LoadEscrowTradeNo(v.Order)
} }
// 加载问诊订单状态 // 加载问诊订单状态
if v.OrderInquiry != nil { if v.Order.OrderInquiry != nil {
response.LoadInquiryStatus(v.OrderInquiry) response.LoadInquiryStatus(v.Order.OrderInquiry)
} }
// 加载医生收益 // 加载医生收益
if v.OrderInquiry != nil { if v.Order.OrderInquiry != nil {
response.LoadDoctorAmount(v.OrderInquiry) response.LoadDoctorAmount(v.Order.OrderInquiry)
} }
// 将转换后的结构体添加到新切片中 // 将转换后的结构体添加到新切片中
@ -128,51 +123,63 @@ func (r *DoctorWithdrawalOrderDto) LoadDoctorName(m *model.UserDoctor) *DoctorWi
} }
// LoadPatientNameMask 加载患者姓名-就诊人(掩码) // LoadPatientNameMask 加载患者姓名-就诊人(掩码)
func (r *DoctorWithdrawalOrderDto) LoadPatientNameMask(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadPatientNameMask(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m.OrderInquiry != nil {
r.PatientNameMask = m.PatientNameMask r.PatientNameMask = m.OrderInquiry.PatientNameMask
} }
if m.OrderServicePackage != nil {
r.PatientNameMask = m.OrderServicePackage.PatientNameMask
}
return r return r
} }
// LoadPatientSex 加载患者性别-就诊人 // LoadPatientSex 加载患者性别-就诊人
func (r *DoctorWithdrawalOrderDto) LoadPatientSex(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadPatientSex(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m.OrderInquiry != nil {
r.PatientSex = m.PatientSex r.PatientSex = m.OrderInquiry.PatientSex
} }
if m.OrderServicePackage != nil {
r.PatientSex = m.OrderServicePackage.PatientSex
}
return r return r
} }
// LoadPatientAge 加载患者年龄-就诊人 // LoadPatientAge 加载患者年龄-就诊人
func (r *DoctorWithdrawalOrderDto) LoadPatientAge(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadPatientAge(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m.OrderInquiry != nil {
r.PatientAge = m.PatientAge r.PatientAge = m.OrderInquiry.PatientAge
} }
if m.OrderServicePackage != nil {
r.PatientAge = m.OrderServicePackage.PatientAge
}
return r return r
} }
// LoadPatientMobileMask 加载患者电话(掩码) // LoadPatientMobileMask 加载患者电话(掩码)
func (r *DoctorWithdrawalOrderDto) LoadPatientMobileMask(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadPatientMobileMask(m *model.User) *DoctorWithdrawalOrderDto {
if m != nil { if m != nil {
userDao := dao.UserDao{} r.PatientMobileMask = utils.MaskPhoneStr(m.Mobile)
user, err := userDao.GetUserById(m.UserId)
if err == nil && user != nil {
r.PatientMobileMask = utils.MaskPhoneStr(user.Mobile)
}
} }
return r return r
} }
// LoadPayChannel 加载支付渠道 // LoadPayChannel 加载支付渠道
func (r *DoctorWithdrawalOrderDto) LoadPayChannel(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadPayChannel(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m != nil {
r.PayChannel = m.InquiryPayChannel r.PayChannel = m.PayChannel
} }
return r return r
} }
// LoadPayTime 加载支付时间 // LoadPayTime 加载支付时间
func (r *DoctorWithdrawalOrderDto) LoadPayTime(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadPayTime(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m != nil {
r.PayTime = m.PayTime r.PayTime = m.PayTime
} }
@ -180,15 +187,23 @@ func (r *DoctorWithdrawalOrderDto) LoadPayTime(m *model.OrderInquiry) *DoctorWit
} }
// LoadInquiryNo 加载系统订单编号 // LoadInquiryNo 加载系统订单编号
func (r *DoctorWithdrawalOrderDto) LoadInquiryNo(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadInquiryNo(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m != nil {
r.InquiryNo = m.InquiryNo r.InquiryNo = m.OrderNo
}
return r
}
// LoadOrderNo 加载系统订单编号
func (r *DoctorWithdrawalOrderDto) LoadOrderNo(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil {
r.OrderNo = m.OrderNo
} }
return r return r
} }
// LoadEscrowTradeNo 加载第三方支付流水号 // LoadEscrowTradeNo 加载第三方支付流水号
func (r *DoctorWithdrawalOrderDto) LoadEscrowTradeNo(m *model.OrderInquiry) *DoctorWithdrawalOrderDto { func (r *DoctorWithdrawalOrderDto) LoadEscrowTradeNo(m *model.Order) *DoctorWithdrawalOrderDto {
if m != nil { if m != nil {
r.EscrowTradeNo = m.EscrowTradeNo r.EscrowTradeNo = m.EscrowTradeNo
} }

View File

@ -8,12 +8,13 @@ import (
// DoctorWithdrawalOrder 医生提现-关联订单表 // DoctorWithdrawalOrder 医生提现-关联订单表
type DoctorWithdrawalOrder struct { type DoctorWithdrawalOrder struct {
WithdrawalOrderId int64 `gorm:"column:withdrawal_order_id;type:bigint(19);primary_key;comment:主键id" json:"withdrawal_order_id"` WithdrawalOrderId int64 `gorm:"column:withdrawal_order_id;type:bigint(19);primary_key;comment:主键id" json:"withdrawal_order_id"`
WithdrawalId int64 `gorm:"column:withdrawal_id;type:bigint(19);comment:提现表id;NOT NULL" json:"withdrawal_id"` WithdrawalId int64 `gorm:"column:withdrawal_id;type:bigint(19);comment:提现表id;NOT NULL" json:"withdrawal_id"`
DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);comment:医生id;NOT NULL" json:"doctor_id"` DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);comment:医生id;NOT NULL" json:"doctor_id"`
OrderInquiryId int64 `gorm:"column:order_inquiry_id;type:bigint(19);comment:订单-问诊id;NOT NULL" json:"order_inquiry_id"` OrderId int64 `gorm:"column:order_id;type:bigint(19);comment:订单id;NOT NULL" json:"order_id"`
OrderInquiry *OrderInquiry `gorm:"foreignKey:OrderInquiryId;references:order_inquiry_id" json:"order_inquiry"` // 问诊 OrderInquiryId int64 `gorm:"column:order_inquiry_id;type:bigint(19);comment:订单-问诊id;NOT NULL" json:"order_inquiry_id"`
UserDoctor *UserDoctor `gorm:"foreignKey:DoctorId;references:doctor_id" json:"user_doctor"` // 医生 Order *Order `gorm:"foreignKey:OrderId;references:order_id" json:"order"` // 订单
UserDoctor *UserDoctor `gorm:"foreignKey:DoctorId;references:doctor_id" json:"user_doctor"` // 医生
Model Model
} }

View File

@ -8,27 +8,30 @@ import (
// Order 订单表 // Order 订单表
type Order struct { type Order struct {
OrderId int64 `gorm:"column:order_id;type:bigint(19);primary_key;comment:主键id" json:"order_id"` OrderId int64 `gorm:"column:order_id;type:bigint(19);primary_key;comment:主键id" json:"order_id"`
UserId int64 `gorm:"column:user_id;type:bigint(19);comment:用户id-患者;NOT NULL" json:"user_id"` UserId int64 `gorm:"column:user_id;type:bigint(19);comment:用户id-患者;NOT NULL" json:"user_id"`
PatientId int64 `gorm:"column:patient_id;type:bigint(19);comment:患者id;NOT NULL" json:"patient_id"` PatientId int64 `gorm:"column:patient_id;type:bigint(19);comment:患者id;NOT NULL" json:"patient_id"`
DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);comment:医生id存在为null的情况" json:"doctor_id"` DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);comment:医生id存在为null的情况" json:"doctor_id"`
OrderType int `gorm:"column:order_type;type:tinyint(1);comment:订单类型1:问诊订单 2:药品订单 3:检测订单 4:随访包订单 5:健康包订单);NOT NULL" json:"order_type"` OrderType int `gorm:"column:order_type;type:tinyint(1);comment:订单类型1:问诊订单 2:药品订单 3:检测订单 4:随访包订单 5:健康包订单);NOT NULL" json:"order_type"`
IsDelete int `gorm:"column:is_delete;type:tinyint(1);default:0;comment:删除状态0:否 1:是)" json:"is_delete"` IsDelete int `gorm:"column:is_delete;type:tinyint(1);default:0;comment:删除状态0:否 1:是)" json:"is_delete"`
PayChannel int `gorm:"column:pay_channel;type:tinyint(1);default:1;comment:支付渠道1:小程序支付 2:微信扫码支付 3:模拟支付);NOT NULL" json:"pay_channel"` PayChannel int `gorm:"column:pay_channel;type:tinyint(1);default:1;comment:支付渠道1:小程序支付 2:微信扫码支付 3:模拟支付);NOT NULL" json:"pay_channel"`
PayStatus int `gorm:"column:pay_status;type:tinyint(1);default:1;comment:支付状态1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款);NOT NULL" json:"pay_status"` PayStatus int `gorm:"column:pay_status;type:tinyint(1);default:1;comment:支付状态1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款);NOT NULL" json:"pay_status"`
PayTime LocalTime `gorm:"column:pay_time;type:datetime;comment:支付时间" json:"pay_time"` PayTime LocalTime `gorm:"column:pay_time;type:datetime;comment:支付时间" json:"pay_time"`
RefundStatus int `gorm:"column:refund_status;type:tinyint(1);default:0;comment:订单退款状态0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭 6:退款异常 7:部分退款);NOT NULL" json:"refund_status"` RefundStatus int `gorm:"column:refund_status;type:tinyint(1);default:0;comment:订单退款状态0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭 6:退款异常 7:部分退款);NOT NULL" json:"refund_status"`
OrderNo string `gorm:"column:order_no;type:varchar(30);comment:系统订单编号;NOT NULL" json:"order_no"` OrderNo string `gorm:"column:order_no;type:varchar(30);comment:系统订单编号;NOT NULL" json:"order_no"`
EscrowTradeNo string `gorm:"column:escrow_trade_no;type:varchar(100);comment:第三方支付流水号" json:"escrow_trade_no"` EscrowTradeNo string `gorm:"column:escrow_trade_no;type:varchar(100);comment:第三方支付流水号" json:"escrow_trade_no"`
AmountTotal float64 `gorm:"column:amount_total;type:decimal(10,2) unsigned;default:0.00;comment:订单金额" json:"amount_total"` AmountTotal float64 `gorm:"column:amount_total;type:decimal(10,2) unsigned;default:0.00;comment:订单金额" json:"amount_total"`
CouponAmountTotal float64 `gorm:"column:coupon_amount_total;type:decimal(10,2) unsigned;default:0.00;comment:优惠卷总金额" json:"coupon_amount_total"` CouponAmountTotal float64 `gorm:"column:coupon_amount_total;type:decimal(10,2) unsigned;default:0.00;comment:优惠卷总金额" json:"coupon_amount_total"`
PaymentAmountTotal float64 `gorm:"column:payment_amount_total;type:decimal(10,2) unsigned;default:0.00;comment:实际付款金额" json:"payment_amount_total"` PaymentAmountTotal float64 `gorm:"column:payment_amount_total;type:decimal(10,2) unsigned;default:0.00;comment:实际付款金额" json:"payment_amount_total"`
CancelStatus int `gorm:"column:cancel_status;type:tinyint(1);default:0;comment:取消状态0:否 1:是)" json:"cancel_status"` CancelStatus int `gorm:"column:cancel_status;type:tinyint(1);default:0;comment:取消状态0:否 1:是)" json:"cancel_status"`
CancelTime LocalTime `gorm:"column:cancel_time;type:datetime;comment:订单取消时间" json:"cancel_time"` CancelTime LocalTime `gorm:"column:cancel_time;type:datetime;comment:订单取消时间" json:"cancel_time"`
CancelRemarks string `gorm:"column:cancel_remarks;type:varchar(255);comment:取消订单备注" json:"cancel_remarks"` CancelRemarks string `gorm:"column:cancel_remarks;type:varchar(255);comment:取消订单备注" json:"cancel_remarks"`
OrderRemarks string `gorm:"column:order_remarks;type:varchar(255);comment:订单备注" json:"order_remarks"` OrderRemarks string `gorm:"column:order_remarks;type:varchar(255);comment:订单备注" json:"order_remarks"`
IsWithdrawal int `gorm:"column:is_withdrawal;type:tinyint(1);default:0;comment:是否提现0:否 1:是 2:提现中 3:无需提现)" json:"is_withdrawal"` IsWithdrawal int `gorm:"column:is_withdrawal;type:tinyint(1);default:0;comment:是否提现0:否 1:是 2:提现中 3:无需提现)" json:"is_withdrawal"`
WithdrawalTime LocalTime `gorm:"column:withdrawal_time;type:datetime;comment:提现时间" json:"withdrawal_time"` WithdrawalTime LocalTime `gorm:"column:withdrawal_time;type:datetime;comment:提现时间" json:"withdrawal_time"`
OrderInquiry *OrderInquiry `gorm:"foreignKey:OrderId;references:order_id" json:"order_inquiry"`
OrderServicePackage *OrderServicePackage `gorm:"foreignKey:OrderId;references:order_id" json:"order_service_package"`
User *User `gorm:"foreignKey:UserId;references:user_id" json:"user"`
Model Model
} }