basic orders are ready
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user