feat: history-order-list

This commit is contained in:
ferdiansyah783
2024-07-26 11:37:22 +07:00
parent f4d782653d
commit 195371f5c6
9 changed files with 218 additions and 6 deletions
+36
View File
@@ -296,3 +296,39 @@ func (s *OrderService) updateWalletBalance(ctx context.Context, tx *gorm.DB, par
_, err = s.wallet.Update(ctx, tx, wallet)
return err
}
func (s *OrderService) GetAllHistoryOrders(ctx context.Context, req entity.HistoryOrderSearch) ([]*entity.HistoryOrder, int, error) {
historyOrders, total, err := s.repo.GetAllHystoryOrders(ctx, req)
if err != nil {
logger.ContextLogger(ctx).Error("error when get all history orders", zap.Error(err))
return nil, 0, err
}
data := historyOrders.ToHistoryOrderList()
// resultsMap := make(map[int64]*entity.MergedHistoryOrder)
// for _, d := range data {
// if _, exists := resultsMap[d.ID]; !exists {
// resultsMap[d.ID] = &entity.MergedHistoryOrder{
// ID: d.ID,
// Employee: d.Employee,
// Site: d.Site,
// Timestamp: d.Timestamp.Format(time.RFC3339),
// BookingTime: d.BookingTime.Format(time.RFC3339),
// Tickets: []string{},
// PaymentType: d.PaymentType,
// Status: d.Status,
// Amount: d.Amount,
// }
// }
// resultsMap[d.ID].Tickets = append(resultsMap[d.ID].Tickets, fmt.Sprintf("%s x%d", d.Ticket, d.Quantity))
// }
// var results []*entity.MergedHistoryOrder
// for _, v := range resultsMap {
// results = append(results, v)
// }
return data, total, nil
}
+4 -3
View File
@@ -8,9 +8,10 @@ import (
"furtuna-be/internal/services/oss"
"furtuna-be/internal/services/partner"
"furtuna-be/internal/services/product"
"furtuna-be/internal/services/sites"
site "furtuna-be/internal/services/sites"
"furtuna-be/internal/services/studio"
"furtuna-be/internal/services/users"
"gorm.io/gorm"
"furtuna-be/config"
@@ -41,8 +42,7 @@ func NewServiceManagerImpl(cfg *config.Config, repo *repository.RepoManagerImpl)
BranchSvc: branch.NewBranchService(repo.Branch),
StudioSvc: studio.NewStudioService(repo.Studio),
ProductSvc: product.NewProductService(repo.Product),
OrderSvc: order.NewOrderService(repo.Order, repo.Product,
repo.Crypto, repo.Midtrans, repo.Payment, repo.Trx, repo.Wallet),
OrderSvc: order.NewOrderService(repo.Order, repo.Product, repo.Crypto, repo.Midtrans, repo.Payment, repo.Trx, repo.Wallet),
OSSSvc: oss.NewOSSService(repo.OSS),
PartnerSvc: partner.NewPartnerService(
repo.Partner, users.NewUserService(repo.User, repo.Branch), repo.Trx, repo.Wallet),
@@ -101,6 +101,7 @@ type Order interface {
CreateOrder(ctx context.Context, req *entity.OrderRequest) (*entity.OrderResponse, error)
Execute(ctx context.Context, req *entity.OrderExecuteRequest) (*entity.ExecuteOrderResponse, error)
ProcessCallback(ctx context.Context, req *entity.CallbackRequest) error
GetAllHistoryOrders(ctx context.Context, req entity.HistoryOrderSearch) ([]*entity.HistoryOrder, int, error)
}
type OSSService interface {