basic orders are ready

This commit is contained in:
Daniel Goc
2026-04-10 14:53:40 +02:00
parent a03a2b461f
commit 33e9d016e9
15 changed files with 237 additions and 94 deletions

View File

@@ -10,7 +10,7 @@ import (
type UIOrdersRepo interface {
UserHasOrder(user_id uint, order_id uint) (bool, error)
Find(user_id uint, p find.Paging, filt *filters.FiltersList) (find.Found[model.CustomerOrder], error)
Find(user_id uint, p find.Paging, filt *filters.FiltersList) (*find.Found[model.CustomerOrder], error)
PlaceNewOrder(cart *model.CustomerCart, name string, country_id uint, address_info string) error
ChangeOrderAddress(order_id uint, country_id uint, address_info string) error
ChangeOrderStatus(order_id uint, status string) error
@@ -35,14 +35,14 @@ func (repo *OrdersRepo) UserHasOrder(user_id uint, order_id uint) (bool, error)
return amt >= 1, err
}
func (repo *OrdersRepo) Find(user_id uint, p find.Paging, filt *filters.FiltersList) (find.Found[model.CustomerOrder], error) {
func (repo *OrdersRepo) Find(user_id uint, p find.Paging, filt *filters.FiltersList) (*find.Found[model.CustomerOrder], error) {
var list []model.CustomerOrder
var total int64
query := db.Get().
Model(&model.CustomerOrder{}).
Preload("Products").
Order("b2b_customer_orders.id DESC")
Order("b2b_customer_orders.order_id DESC")
// Apply all filters
if filt != nil {
@@ -52,7 +52,7 @@ func (repo *OrdersRepo) Find(user_id uint, p find.Paging, filt *filters.FiltersL
// run counter first as query is without limit and offset
err := query.Count(&total).Error
if err != nil {
return find.Found[model.CustomerOrder]{}, err
return &find.Found[model.CustomerOrder]{}, err
}
err = query.
@@ -60,10 +60,10 @@ func (repo *OrdersRepo) Find(user_id uint, p find.Paging, filt *filters.FiltersL
Offset(p.Offset()).
Find(&list).Error
if err != nil {
return find.Found[model.CustomerOrder]{}, err
return &find.Found[model.CustomerOrder]{}, err
}
return find.Found[model.CustomerOrder]{
return &find.Found[model.CustomerOrder]{
Items: list,
Count: uint(total),
}, nil
@@ -71,12 +71,12 @@ func (repo *OrdersRepo) Find(user_id uint, p find.Paging, filt *filters.FiltersL
func (repo *OrdersRepo) PlaceNewOrder(cart *model.CustomerCart, name string, country_id uint, address_info string) error {
order := model.CustomerOrder{
UserID: cart.UserID,
Name: name,
CountryID: country_id,
AddressJSON: address_info,
Status: constdata.NEW_ORDER_STATUS,
Products: make([]model.OrderProduct, 0, len(cart.Products)),
UserID: cart.UserID,
Name: name,
CountryID: country_id,
AddressString: address_info,
Status: constdata.NEW_ORDER_STATUS,
Products: make([]model.OrderProduct, 0, len(cart.Products)),
}
for _, product := range cart.Products {
@@ -95,8 +95,8 @@ func (repo *OrdersRepo) ChangeOrderAddress(order_id uint, country_id uint, addre
Table("b2b_customer_orders").
Where("order_id = ?", order_id).
Updates(map[string]interface{}{
"country_id": country_id,
"address_info": address_info,
"country_id": country_id,
"address_string": address_info,
}).
Error
}