Add Checkin

This commit is contained in:
aditya.siregar
2024-08-13 23:09:05 +07:00
parent 4c8999a3cf
commit e544ef8f71
18 changed files with 362 additions and 101 deletions
+21 -1
View File
@@ -64,6 +64,26 @@ func (r *OrderRepository) FindByID(ctx context.Context, id int64) (*entity.Order
return &order, nil
}
func (r *OrderRepository) FindByQRCode(ctx context.Context, refID string) (*entity.Order, error) {
var order entity.Order
err := r.db.WithContext(ctx).
Preload("OrderItems", func(db *gorm.DB) *gorm.DB {
return db.Preload("Product")
}).
Preload("User").
Preload("Payment").
Where("ref_id = ?", refID).
First(&order).Error
if err != nil {
logger.ContextLogger(ctx).Error("error when finding order by refID", zap.Error(err))
return nil, err
}
return &order, nil
}
func (r *OrderRepository) SetOrderStatus(ctx context.Context, db *gorm.DB, orderID int64, status string) error {
var order entity.Order
if err := db.WithContext(ctx).Preload("OrderItems").First(&order, orderID).Error; err != nil {
@@ -100,7 +120,7 @@ func (b *OrderRepository) GetAllHystoryOrders(ctx context.Context, req entity.Or
Joins("left join sites on orders.site_id = sites.id").
Where("orders.status != ?", "NEW")
if req.PaymentType != "" {
if req.PaymentType != "" {
query = query.Where("orders.payment_type = ?", req.PaymentType)
}
+1
View File
@@ -141,6 +141,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)
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
GetAllHystoryOrders(ctx context.Context, req entity.OrderSearch) (entity.HistoryOrderList, int, error)
+1
View File
@@ -93,6 +93,7 @@ func (r *SiteRepository) GetAll(ctx context.Context, req entity.SiteSearch) (ent
query := r.db
query = query.Where("deleted_at IS NULL")
query = query.Where("status is ?", "Active")
if req.Search != "" {
query = query.Where("name ILIKE ?", "%"+req.Search+"%")