Add Print Detail
This commit is contained in:
@@ -64,6 +64,30 @@ func (r *OrderRepository) FindByID(ctx context.Context, id int64) (*entity.Order
|
||||
return &order, nil
|
||||
}
|
||||
|
||||
func (r *OrderRepository) FindPrintDetailByID(ctx context.Context, id int64) (*entity.OrderPrintDetail, error) {
|
||||
var printDetail entity.OrderPrintDetail
|
||||
|
||||
err := r.db.WithContext(ctx).
|
||||
Table("orders").
|
||||
Select("orders.id, partners.name as partner_name, orders.ref_id as order_id, "+
|
||||
"orders.visit_date, orders.payment_type, orders.source, "+
|
||||
"orders.ticket_status, orders.total, orders.fee").
|
||||
Joins("JOIN partners ON partners.id = orders.partner_id").
|
||||
Where("orders.id = ?", id).
|
||||
Scan(&printDetail).Error
|
||||
|
||||
if err == nil {
|
||||
err = r.db.WithContext(ctx).Where("order_id = ?", id).Preload("Product").Find(&printDetail.OrderItems).Error
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
logger.ContextLogger(ctx).Error("error when finding print detail by ID", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &printDetail, nil
|
||||
}
|
||||
|
||||
func (r *OrderRepository) FindByQRCode(ctx context.Context, refID string) (*entity.Order, error) {
|
||||
var order entity.Order
|
||||
|
||||
|
||||
@@ -142,6 +142,7 @@ type Product interface {
|
||||
type Order interface {
|
||||
Create(ctx context.Context, order *entity.Order) (*entity.Order, error)
|
||||
FindByID(ctx context.Context, id int64) (*entity.Order, error)
|
||||
FindPrintDetailByID(ctx context.Context, id int64) (*entity.OrderPrintDetail, error)
|
||||
FindByQRCode(ctx context.Context, refID string) (*entity.Order, error)
|
||||
Update(ctx context.Context, order *entity.Order) (*entity.Order, error)
|
||||
SetOrderStatus(ctx context.Context, db *gorm.DB, orderID int64, status string) error
|
||||
|
||||
Reference in New Issue
Block a user