新增药品订单详情
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/responses/orderProductLogisticsResponse"
|
||||
"hospital-admin-api/api/responses/orderProductRefundResponse"
|
||||
"hospital-admin-api/api/responses/orderProductResponse"
|
||||
)
|
||||
|
||||
type OrderProductService struct {
|
||||
}
|
||||
|
||||
// GetOrderProduct 药品订单详情
|
||||
func (r *OrderProductService) GetOrderProduct(orderProductId int64) (getOrderProductResponse *orderProductResponse.GetOrderProduct, err error) {
|
||||
// 获取问诊订单数据
|
||||
orderProductDao := dao.OrderProductDao{}
|
||||
orderProduct, err := orderProductDao.GetOrderProductPreloadById(orderProductId)
|
||||
if err != nil || orderProduct == nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 获取退款数据
|
||||
orderProductRefund, err := r.GetOrderProductRefund(orderProductId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 获取商品数据
|
||||
orderProductItemService := OrderProductItemService{}
|
||||
orderProductItem, err := orderProductItemService.GetOrderProductItemByOrderProductId(orderProductId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 获取物流数据
|
||||
orderProductLogistics, err := r.GetOrderProductLogistics(orderProductId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 获取处方数据
|
||||
orderPrescriptionService := OrderPrescriptionService{}
|
||||
orderPrescription, err := orderPrescriptionService.GetOrderPrescriptionById(orderProduct.OrderPrescriptionId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 获取问诊病例
|
||||
orderInquiryCaseService := OrderInquiryCaseService{}
|
||||
orderInquiryCase, err := orderInquiryCaseService.GetOrderInquiryCaseByOrderInquiryId(orderProduct.OrderInquiryId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 医生数据
|
||||
userDoctorService := UserDoctorService{}
|
||||
userDoctor, err := userDoctorService.GetOrderInquiryUserDoctor(orderProduct.DoctorId)
|
||||
if err != nil {
|
||||
return nil, errors.New(err.Error())
|
||||
}
|
||||
|
||||
// 处理返回值
|
||||
getOrderProductResponse = &orderProductResponse.GetOrderProduct{
|
||||
OrderProductId: fmt.Sprintf("%v", orderProduct.OrderProductId),
|
||||
OrderInquiryId: fmt.Sprintf("%v", orderProduct.OrderInquiryId),
|
||||
OrderPrescriptionId: fmt.Sprintf("%v", orderProduct.OrderPrescriptionId),
|
||||
DoctorId: fmt.Sprintf("%v", orderProduct.DoctorId),
|
||||
PatientId: fmt.Sprintf("%v", orderProduct.PatientId),
|
||||
FamilyId: fmt.Sprintf("%v", orderProduct.FamilyId),
|
||||
OrderProductNo: orderProduct.OrderProductNo,
|
||||
EscrowTradeNo: orderProduct.EscrowTradeNo,
|
||||
OrderProductStatus: orderProduct.OrderProductStatus,
|
||||
PayChannel: orderProduct.PayChannel,
|
||||
PayStatus: orderProduct.PayStatus,
|
||||
CancelReason: orderProduct.CancelReason,
|
||||
AmountTotal: orderProduct.AmountTotal,
|
||||
PaymentAmountTotal: orderProduct.PaymentAmountTotal,
|
||||
LogisticsFee: orderProduct.LogisticsFee,
|
||||
LogisticsNo: orderProduct.LogisticsNo,
|
||||
LogisticsCompanyCode: orderProduct.LogisticsCompanyCode,
|
||||
DeliveryTime: orderProduct.DeliveryTime,
|
||||
PayTime: orderProduct.PayTime,
|
||||
Remarks: orderProduct.Remarks,
|
||||
RefundStatus: orderProduct.RefundStatus,
|
||||
ReportPreStatus: orderProduct.ReportPreStatus,
|
||||
ConsigneeNameMask: orderProduct.ConsigneeNameMask,
|
||||
ConsigneeTelMask: orderProduct.ConsigneeTelMask,
|
||||
CreatedAt: orderProduct.CreatedAt,
|
||||
UpdatedAt: orderProduct.UpdatedAt,
|
||||
OrderProductRefund: orderProductRefund,
|
||||
OrderProductItem: orderProductItem,
|
||||
OrderProductLogistics: orderProductLogistics,
|
||||
UserDoctor: userDoctor,
|
||||
OrderPrescription: orderPrescription,
|
||||
OrderInquiryCase: orderInquiryCase,
|
||||
}
|
||||
|
||||
return getOrderProductResponse, nil
|
||||
}
|
||||
|
||||
// GetOrderProductRefund 获取退款数据
|
||||
func (r *OrderProductService) GetOrderProductRefund(orderProductId int64) (u *orderProductRefundResponse.OrderProductRefund, err error) {
|
||||
orderProductRefundDao := dao.OrderProductRefundDao{}
|
||||
orderProductRefund, err := orderProductRefundDao.GetOrderProductRefundByOrderProductId(orderProductId)
|
||||
if orderProductRefund == nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
u = &orderProductRefundResponse.OrderProductRefund{
|
||||
ProductRefundId: fmt.Sprintf("%d", orderProductRefund.ProductRefundId),
|
||||
PatientId: fmt.Sprintf("%d", orderProductRefund.PatientId),
|
||||
OrderProductId: fmt.Sprintf("%d", orderProductRefund.OrderProductId),
|
||||
OrderProductNo: orderProductRefund.OrderProductNo,
|
||||
ProductRefundNo: orderProductRefund.ProductRefundNo,
|
||||
RefundId: orderProductRefund.RefundId,
|
||||
ProductRefundStatus: orderProductRefund.ProductRefundStatus,
|
||||
RefundTotal: orderProductRefund.RefundTotal,
|
||||
RefundReason: orderProductRefund.RefundReason,
|
||||
SuccessTime: orderProductRefund.SuccessTime,
|
||||
CreatedAt: orderProductRefund.CreatedAt,
|
||||
UpdatedAt: orderProductRefund.UpdatedAt,
|
||||
}
|
||||
|
||||
return u, nil
|
||||
}
|
||||
|
||||
// GetOrderProductLogistics 获取物流数据
|
||||
func (r *OrderProductService) GetOrderProductLogistics(orderProductId int64) (u *orderProductLogisticsResponse.OrderProductLogistics, err error) {
|
||||
orderProductLogisticsDao := dao.OrderProductLogisticsDao{}
|
||||
orderProductLogistics, err := orderProductLogisticsDao.GetOrderProductLogisticsByOrderProductId(orderProductId)
|
||||
if orderProductLogistics == nil {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
u = &orderProductLogisticsResponse.OrderProductLogistics{}
|
||||
|
||||
return u, nil
|
||||
}
|
||||
Reference in New Issue
Block a user