Merge branch 'dev'

This commit is contained in:
wucongxing8150 2024-06-26 15:21:29 +08:00
commit 8d946cc6cf
9 changed files with 212 additions and 138 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")
@ -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")

View File

@ -2,6 +2,7 @@ package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hospital-admin-api/api/model"
"hospital-admin-api/global"
)
@ -18,6 +19,14 @@ func (r *OrderDao) GetOrderById(orderId int64) (m *model.Order, err error) {
return m, nil
}
func (r *OrderDao) GetOrderPreloadById(orderId int64) (m *model.Order, err error) {
err = global.Db.Preload(clause.Associations).First(&m, orderId).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrder 新增
func (r *OrderDao) AddOrder(tx *gorm.DB, model *model.Order) (*model.Order, error) {
if err := tx.Create(model).Error; err != nil {

View File

@ -23,6 +23,15 @@ func (r *OrderInquiryDao) GetOrderInquiryById(orderInquiryId int64) (m *model.Or
return m, nil
}
// GetOrderInquiryByOrderId 获取问诊订单数据-订单id
func (r *OrderInquiryDao) GetOrderInquiryByOrderId(orderId int64) (m *model.OrderInquiry, err error) {
err = global.Db.Where("order_id = ?", orderId).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderInquiryPreloadById 获取问诊订单数据-加载全部关联-问诊订单id
func (r *OrderInquiryDao) GetOrderInquiryPreloadById(orderInquiryId int64) (m *model.OrderInquiry, err error) {
err = global.Db.Preload(clause.Associations).First(&m, orderInquiryId).Error

View File

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

View File

@ -11,8 +11,9 @@ type DoctorWithdrawalOrder struct {
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"`
DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);comment:医生id;NOT NULL" json:"doctor_id"`
OrderId int64 `gorm:"column:order_id;type:bigint(19);comment:订单id;NOT NULL" json:"order_id"`
OrderInquiryId int64 `gorm:"column:order_inquiry_id;type:bigint(19);comment:订单-问诊id;NOT NULL" json:"order_inquiry_id"`
OrderInquiry *OrderInquiry `gorm:"foreignKey:OrderInquiryId;references:order_inquiry_id" json:"order_inquiry"` // 问诊
Order *Order `gorm:"foreignKey:OrderId;references:order_id" json:"order"` // 订单
UserDoctor *UserDoctor `gorm:"foreignKey:DoctorId;references:doctor_id" json:"user_doctor"` // 医生
Model
}

View File

@ -29,6 +29,9 @@ type Order struct {
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"`
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
}

View File

@ -17,7 +17,7 @@ type GetSystemCouponPage struct {
CouponClient *int `json:"coupon_client" form:"coupon_client" label:"使用平台1:小程序)"` // 使用平台1:小程序)
CouponType *int `json:"coupon_type" form:"coupon_type" label:"优惠卷类型1:无门槛 2:满减 3:数量)"` // 优惠卷类型1:无门槛 2:满减 3:数量)
CouponStatus *int `json:"coupon_status" form:"coupon_status" label:"状态1:正常 2:强制失效 3:结束 4:删除)"` // 状态1:正常 2:强制失效 3:结束 4:删除)
DistributionObject *int `json:"distribution_object" form:"distribution_object" label:"发放对象1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户"` // 发放对象1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户)
DistributionObject *int `json:"distribution_object" form:"distribution_object" label:"发放对象1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户 8:app用户"` // 1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户 8:app用户)
ApplicationScope *int `json:"application_scope" form:"application_scope" label:"适用范围1:全场通用 2:问诊 3:按品牌适用 4:按类别适用 5:单品使用 6:全品类药品)"` // 适用范围1:全场通用 2:问诊 3:按品牌适用 4:按类别适用 5:单品使用 6:全品类药品)
InquiryType string `json:"inquiry_type" form:"inquiry_type" label:"关联问诊类型application_scope=问诊时存在生效逗号分隔1:全部 2:快速问诊 3:专家问诊 4:公益问诊 5:问诊购药 6:检测)"` // 关联问诊类型application_scope=问诊时存在生效逗号分隔1:全部 2:快速问诊 3:专家问诊 4:公益问诊 5:问诊购药 6:检测)
BrandId string `json:"brand_id" form:"brand_id" label:"关联品牌id如不限制品牌此项为空"` // 关联品牌id如不限制品牌此项为空
@ -36,8 +36,8 @@ type AddSystemCoupon struct {
CouponIcon string `json:"coupon_icon" form:"coupon_icon" label:"头像"` // 优惠卷名称
CouponClient *int `json:"coupon_client" form:"coupon_client" label:"使用平台" validate:"required,oneof=1"` // 使用平台1:小程序)
CouponType *int `json:"coupon_type" form:"coupon_type" label:"优惠卷类型" validate:"required,oneof=1 2 3"` // 优惠卷类型1 :无门槛 2:满减 3:数量)
DistributionObject *int `json:"distribution_object" form:"distribution_object" label:"发放对象" validate:"required,oneof=1 2 3 4 5 6 7"`
ApplicationScope *int `json:"application_scope" form:"application_scope" label:"适用范围" validate:"required,oneof=1 2 3 4 5 6"` // 1:全场通用 2:问诊 3:按品牌适用 4:按类别适用 5:单品使用 6:全品类药品
DistributionObject *int `json:"distribution_object" form:"distribution_object" label:"发放对象" validate:"required,oneof=1 2 3 4 5 6 7 8"`
ApplicationScope *int `json:"application_scope" form:"application_scope" label:"适用范围" validate:"required,oneof=1 2 3 4 5 6"` // 1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户 8:app用户
InquiryType []string `json:"inquiry_type" form:"inquiry_type" label:"关联问诊类型"` // 关联问诊类型application_scope=问诊时存在生效逗号分隔1:全部 2:快速问诊 3:专家问诊 4:公益问诊 5:问诊购药 6:检测)
BrandId *string `json:"brand_id" form:"brand_id" label:"关联品牌id"` // 关联品牌id如不限制品牌此项为空
IsMutex *int `json:"is_mutex" form:"is_mutex" label:"是否互斥" validate:"required,oneof=0 1"` // 是否互斥0:否 1:是)互斥情况下无法和其他优惠卷同时使用
@ -62,7 +62,7 @@ type AddSystemCoupon struct {
type PutSystemCoupon struct {
CouponName string `json:"coupon_name" form:"coupon_name" label:"优惠卷名称" validate:"required"` // 优惠卷名称
CouponIcon string `json:"coupon_icon" form:"coupon_icon" label:"头像"` // 优惠卷名称
DistributionObject *int `json:"distribution_object" form:"distribution_object" label:"发放对象" validate:"required,oneof=1 2 3 4 5 6 7"` // 1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户)
DistributionObject *int `json:"distribution_object" form:"distribution_object" label:"发放对象" validate:"required,oneof=1 2 3 4 5 6 7 8"` // 1:全部用户 2:新注册用户 3:会员 4:近期消费 5:近期购药 6:存量用户 7:健康包服务用户 8:app用户)
InquiryType []string `json:"inquiry_type" form:"inquiry_type" label:"关联问诊类型"` // 关联问诊类型application_scope=问诊时存在生效逗号分隔1:全部 2:快速问诊 3:专家问诊 4:公益问诊 5:问诊购药 6:检测)
BrandId *string `json:"brand_id" form:"brand_id" label:"关联品牌id"` // 关联品牌id如不限制品牌此项为空
IsMutex *int `json:"is_mutex" form:"is_mutex" label:"是否互斥" validate:"required,oneof=0 1"` // 是否互斥0:否 1:是)互斥情况下无法和其他优惠卷同时使用

View File

@ -257,23 +257,37 @@ func (r *DoctorWithdrawalService) PutDoctorWithdrawalExamine(req requests.PutDoc
}
// 修改问诊订单提现状态
orderDao := dao.OrderDao{}
orderInquiryDao := dao.OrderInquiryDao{}
for _, v := range doctorWithdrawalOrders {
// 获取订单数据
orderInquiryDao := dao.OrderInquiryDao{}
orderInquiry, err := orderInquiryDao.GetOrderInquiryById(v.OrderInquiryId)
if err != nil {
order, err := orderDao.GetOrderPreloadById(v.OrderId)
if order == nil {
tx.Rollback()
return false, errors.New("关联订单数据错误")
}
orderInquiryData := make(map[string]interface{})
orderInquiryData["is_withdrawal"] = 0
orderInquiryData["withdrawal_time"] = nil
err = orderInquiryDao.EditOrderInquiryById(tx, orderInquiry.OrderInquiryId, orderInquiryData)
// 修改订单数据
orderData := make(map[string]interface{})
orderData["is_withdrawal"] = 0
orderData["withdrawal_time"] = nil
err = orderDao.EditOrderById(tx, v.OrderId, orderData)
if err != nil {
tx.Rollback()
return false, errors.New("回滚关联订单数据失败")
}
if order.OrderType == 1 {
orderInquiryData := make(map[string]interface{})
orderInquiryData["is_withdrawal"] = 0
orderInquiryData["withdrawal_time"] = nil
err = orderInquiryDao.EditOrderInquiryById(tx, order.OrderInquiry.OrderInquiryId, orderInquiryData)
if err != nil {
tx.Rollback()
return false, errors.New("操作关联订单数据失败")
}
}
}
}
@ -326,24 +340,38 @@ func (r *DoctorWithdrawalService) PutDoctorWithdrawalPayment(withdrawalId, admin
}
// 修改问诊订单提现状态
orderDao := dao.OrderDao{}
orderInquiryDao := dao.OrderInquiryDao{}
for _, v := range doctorWithdrawalOrders {
// 获取订单数据
orderInquiryDao := dao.OrderInquiryDao{}
orderInquiry, err := orderInquiryDao.GetOrderInquiryById(v.OrderInquiryId)
order, err := orderDao.GetOrderPreloadById(v.OrderId)
if order == nil {
tx.Rollback()
return false, errors.New("关联订单数据错误")
}
// 修改订单数据
orderData := make(map[string]interface{})
orderData["is_withdrawal"] = 1
orderData["withdrawal_time"] = time.Now().Format("2006-01-02 15:04:05")
err = orderDao.EditOrderById(tx, v.OrderId, orderData)
if err != nil {
tx.Rollback()
return false, errors.New("关联订单数据错误")
}
if order.OrderType == 1 {
orderInquiryData := make(map[string]interface{})
orderInquiryData["is_withdrawal"] = 1
orderInquiryData["withdrawal_time"] = time.Now().Format("2006-01-02 15:04:05")
err = orderInquiryDao.EditOrderInquiryById(tx, orderInquiry.OrderInquiryId, orderInquiryData)
err = orderInquiryDao.EditOrderInquiryById(tx, order.OrderInquiry.OrderInquiryId, orderInquiryData)
if err != nil {
tx.Rollback()
return false, errors.New("操作关联订单数据失败")
}
}
}
tx.Commit()
return true, nil
@ -358,31 +386,35 @@ func (r *DoctorWithdrawalService) getDoctorWithdrawalOrderAmountTotal(withdrawal
return 0, errors.New("关联订单数据错误")
}
orderDao := dao.OrderDao{}
// 总金额
var amountTotal = decimal.NewFromFloat(0)
for _, v := range doctorWithdrawalOrders {
// 获取订单数据
orderInquiryDao := dao.OrderInquiryDao{}
orderInquiry, err := orderInquiryDao.GetOrderInquiryById(v.OrderInquiryId)
order, err := orderDao.GetOrderPreloadById(v.OrderId)
if err != nil {
return 0, errors.New("订单数据错误")
}
if orderInquiry.InquiryStatus != 6 {
if order.OrderInquiry != nil {
if order.OrderInquiry.InquiryStatus != 6 {
return 0, errors.New("存在未结束订单,数据错误")
}
if orderInquiry.IsWithdrawal == 1 {
}
if order.IsWithdrawal == 1 {
return 0, errors.New("存在已被提现订单,数据错误")
}
if orderInquiry.InquiryPayStatus != 2 {
if order.PayStatus != 2 {
return 0, errors.New("存在支付状态错误订单,数据错误")
}
var orderInquiryAmountTotal = decimal.NewFromFloat(orderInquiry.AmountTotal)
var orderAmountTotal = decimal.NewFromFloat(order.AmountTotal)
amountTotal = amountTotal.Add(orderInquiryAmountTotal)
amountTotal = amountTotal.Add(orderAmountTotal)
}
// 分成比例

View File

@ -51,7 +51,6 @@ type DoctorWithdrawalOrderData struct {
PayTime time.Time // 支付时间
InquiryNo string // 系统订单编号
EscrowTradeNo string // 第三方支付流水号
InquiryStatus string // 问诊订单状态1:待支付 2:待分配 3:待接诊 4:已接诊 5:已完成 6:已结束 7:已取消)
AmountTotal float64 // 订单金额
CouponAmountTotal float64 // 优惠卷金额
PaymentAmountTotal float64 // 实际付款金额
@ -517,7 +516,6 @@ func (r *ExportService) DoctorWithdrawalOrder(doctorWithdrawalOrders []*model.Do
{Value: "支付时间", CellType: "date", NumberFmt: "yyyy-mm-dd hh:mm:ss", ColWidth: 30},
{Value: "系统订单编号", CellType: "string", NumberFmt: "", ColWidth: 30},
{Value: "第三方支付流水号", CellType: "string", NumberFmt: "", ColWidth: 30},
{Value: "订单状态", CellType: "string", NumberFmt: "", ColWidth: 18},
{Value: "订单金额", CellType: "float", NumberFmt: "0.0000", ColWidth: 18},
{Value: "优惠卷金额", CellType: "float", NumberFmt: "0.0000", ColWidth: 18},
{Value: "付款金额", CellType: "float", NumberFmt: "0.0000", ColWidth: 18},
@ -540,46 +538,42 @@ func (r *ExportService) DoctorWithdrawalOrder(doctorWithdrawalOrders []*model.Do
payChannel := "未知"
inquiryNo := "未知"
escrowTradeNo := "未知"
inquiryStatus := "未知"
var amountTotal float64
var couponAmountTotal float64
var paymentAmountTotal float64
var doctorAmount float64
var payTime time.Time
if v.OrderInquiry != nil {
patientName = v.OrderInquiry.PatientName
if v.Order.OrderInquiry != nil {
patientName = v.Order.OrderInquiry.PatientName
// 患者性别
patientSex = utils.SexToString(v.OrderInquiry.PatientSex)
patientSex = utils.SexToString(v.Order.OrderInquiry.PatientSex)
// 患者年龄
patientAge = fmt.Sprintf("%d", v.OrderInquiry.PatientAge)
patientAge = fmt.Sprintf("%d", v.Order.OrderInquiry.PatientAge)
// 患者电话
if v.OrderInquiry.User != nil {
patientMobile = v.OrderInquiry.User.Mobile
if v.Order.OrderInquiry.User != nil {
patientMobile = v.Order.OrderInquiry.User.Mobile
}
// 支付渠道
payChannel = utils.PayChannelToString(v.OrderInquiry.InquiryPayChannel)
payChannel = utils.PayChannelToString(v.Order.OrderInquiry.InquiryPayChannel)
inquiryNo = v.OrderInquiry.InquiryNo
escrowTradeNo = v.OrderInquiry.EscrowTradeNo
inquiryNo = v.Order.OrderInquiry.InquiryNo
escrowTradeNo = v.Order.OrderInquiry.EscrowTradeNo
// 问诊订单状态
inquiryStatus = utils.InquiryStatusToString(v.OrderInquiry.InquiryStatus)
amountTotal = v.OrderInquiry.AmountTotal
couponAmountTotal = v.OrderInquiry.CouponAmountTotal
paymentAmountTotal = v.OrderInquiry.PaymentAmountTotal
amountTotal = v.Order.OrderInquiry.AmountTotal
couponAmountTotal = v.Order.OrderInquiry.CouponAmountTotal
paymentAmountTotal = v.Order.OrderInquiry.PaymentAmountTotal
// 医生收益
doctorAmount, _ = decimal.NewFromFloat(v.OrderInquiry.AmountTotal).Mul(decimal.NewFromFloat(0.75)).Round(2).Float64()
doctorAmount, _ = decimal.NewFromFloat(v.Order.OrderInquiry.AmountTotal).Mul(decimal.NewFromFloat(0.75)).Round(2).Float64()
// 时间处理
if v.OrderInquiry.PayTime != (model.LocalTime{}) {
t := time.Time(v.OrderInquiry.PayTime)
if v.Order.OrderInquiry.PayTime != (model.LocalTime{}) {
t := time.Time(v.Order.OrderInquiry.PayTime)
payTime = t
}
}
@ -594,7 +588,6 @@ func (r *ExportService) DoctorWithdrawalOrder(doctorWithdrawalOrders []*model.Do
PayTime: payTime,
InquiryNo: inquiryNo,
EscrowTradeNo: escrowTradeNo,
InquiryStatus: inquiryStatus,
AmountTotal: amountTotal,
CouponAmountTotal: couponAmountTotal,
PaymentAmountTotal: paymentAmountTotal,