Add Print Detail

This commit is contained in:
aditya.siregar
2024-08-21 15:48:50 +07:00
parent ddc2c4b4f4
commit 0ebeb73f76
9 changed files with 124 additions and 0 deletions
+24
View File
@@ -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
+1
View File
@@ -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