package dto import ( "fmt" "hospital-admin-api/api/model" ) type OrderProductRefundDto struct { ProductRefundId string `json:"product_refund_id"` // 主键id PatientId string `json:"patient_id"` // 患者id OrderProductId string `json:"order_product_id"` // 订单-药品订单id OrderProductNo string `json:"order_product_no"` // 系统订单编号 ProductRefundNo string `json:"product_refund_no"` // 系统退款编号 RefundId string `json:"refund_id"` // 第三方退款单号 ProductRefundStatus int `json:"product_refund_status"` // 商品订单退款状态(0:无退款 1:申请退款 2:退款中 3:退款成功 4:拒绝退款 5:退款关闭 6:退款异常) RefundTotal float64 `json:"refund_total"` // 退款金额 RefundReason string `json:"refund_reason"` // 退款原因 SuccessTime model.LocalTime `json:"success_time"` // 退款成功时间 CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 } func GetOrderProductRefundDto(m *model.OrderProductRefund) *OrderProductRefundDto { return &OrderProductRefundDto{ ProductRefundId: fmt.Sprintf("%d", m.ProductRefundId), PatientId: fmt.Sprintf("%d", m.PatientId), OrderProductId: fmt.Sprintf("%d", m.OrderProductId), OrderProductNo: m.OrderProductNo, ProductRefundNo: m.ProductRefundNo, RefundId: m.RefundId, ProductRefundStatus: m.ProductRefundStatus, RefundTotal: m.RefundTotal, RefundReason: m.RefundReason, SuccessTime: m.SuccessTime, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } } func GetOrderProductRefundListDto(m []*model.OrderProductRefund) []OrderProductRefundDto { // 处理返回值 responses := make([]OrderProductRefundDto, len(m)) if len(m) > 0 { for i, v := range m { response := OrderProductRefundDto{ ProductRefundId: fmt.Sprintf("%d", v.ProductRefundId), PatientId: fmt.Sprintf("%d", v.PatientId), OrderProductId: fmt.Sprintf("%d", v.OrderProductId), OrderProductNo: v.OrderProductNo, ProductRefundNo: v.ProductRefundNo, RefundId: v.RefundId, ProductRefundStatus: v.ProductRefundStatus, RefundTotal: v.RefundTotal, RefundReason: v.RefundReason, SuccessTime: v.SuccessTime, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses }