code ready, time for testing...
This commit is contained in:
@@ -37,17 +37,17 @@ func (s *OrderService) Find(user *model.Customer, p find.Paging, filt *filters.F
|
||||
return s.ordersRepo.Find(user.ID, p, filt)
|
||||
}
|
||||
|
||||
func (s *OrderService) PlaceNewOrder(user_id uint, cart_id uint, country_id uint, address_info string) error {
|
||||
func (s *OrderService) PlaceNewOrder(user_id uint, cart_id uint, name string, country_id uint, address_info string) error {
|
||||
_, err := s.addressesService.ValidateAddressJson(address_info, country_id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
amt, err := s.cartsRepo.UserHasCart(user_id, cart_id)
|
||||
exists, err := s.cartsRepo.UserHasCart(user_id, cart_id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if amt <= 0 {
|
||||
if !exists {
|
||||
return responseErrors.ErrUserHasNoSuchCart
|
||||
}
|
||||
|
||||
@@ -59,14 +59,45 @@ func (s *OrderService) PlaceNewOrder(user_id uint, cart_id uint, country_id uint
|
||||
return responseErrors.ErrEmptyCart
|
||||
}
|
||||
|
||||
if name == "" && cart.Name != nil {
|
||||
name = *cart.Name
|
||||
}
|
||||
|
||||
// all checks passed
|
||||
return s.ordersRepo.PlaceNewOrder(user_id, cart_id, country_id, address_info)
|
||||
return s.ordersRepo.PlaceNewOrder(cart, name, country_id, address_info)
|
||||
}
|
||||
|
||||
func (s *OrderService) ChangeOrderAddress(user *model.Customer, order_id uint, country_id uint, address_info string) error {
|
||||
return nil
|
||||
_, err := s.addressesService.ValidateAddressJson(address_info, country_id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !user.HasPermission(perms.ModifyAllOrders) {
|
||||
exists, err := s.ordersRepo.UserHasOrder(user.ID, order_id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !exists {
|
||||
return responseErrors.ErrUserHasNoSuchOrder
|
||||
}
|
||||
}
|
||||
|
||||
return s.ordersRepo.ChangeOrderAddress(order_id, country_id, address_info)
|
||||
}
|
||||
|
||||
func (s *OrderService) ChangeOrderStatus(user *model.Customer, order_id uint, status string) error {
|
||||
return nil
|
||||
if !user.HasPermission(perms.ModifyAllOrders) {
|
||||
exists, err := s.ordersRepo.UserHasOrder(user.ID, order_id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if !exists {
|
||||
return responseErrors.ErrUserHasNoSuchOrder
|
||||
}
|
||||
}
|
||||
|
||||
return s.ordersRepo.ChangeOrderStatus(order_id, status)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user