feat: history-order-list
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user