Search in sources :

Example 56 with ResourceNotFoundException

use of com.salesmanager.shop.store.api.exception.ResourceNotFoundException in project shopizer by shopizer-ecommerce.

the class OrderFacadeImpl method getReadableOrderHistory.

@Override
public List<ReadableOrderStatusHistory> getReadableOrderHistory(Long orderId, MerchantStore store, Language language) {
    Order order = orderService.getOrder(orderId, store);
    if (order == null) {
        throw new ResourceNotFoundException("Order id [" + orderId + "] not found for merchand [" + store.getId() + "]");
    }
    Set<OrderStatusHistory> historyList = order.getOrderHistory();
    List<ReadableOrderStatusHistory> returnList = historyList.stream().map(f -> mapToReadbleOrderStatusHistory(f)).collect(Collectors.toList());
    return returnList;
}
Also used : ShopOrder(com.salesmanager.shop.model.order.ShopOrder) Order(com.salesmanager.core.model.order.Order) ShoppingCart(com.salesmanager.core.model.shoppingcart.ShoppingCart) OrderEntity(com.salesmanager.shop.model.order.OrderEntity) DigitalProductService(com.salesmanager.core.business.services.catalog.product.file.DigitalProductService) OrderProduct(com.salesmanager.core.model.order.orderproduct.OrderProduct) ZonedDateTime(java.time.ZonedDateTime) ReadableOrderPopulator(com.salesmanager.shop.populator.order.ReadableOrderPopulator) Autowired(org.springframework.beans.factory.annotation.Autowired) Delivery(com.salesmanager.core.model.common.Delivery) StringUtils(org.apache.commons.lang3.StringUtils) ShippingQuote(com.salesmanager.core.model.shipping.ShippingQuote) BigDecimal(java.math.BigDecimal) ShippingProduct(com.salesmanager.core.model.shipping.ShippingProduct) Map(java.util.Map) PricingService(com.salesmanager.core.business.services.catalog.product.PricingService) TransactionService(com.salesmanager.core.business.services.payments.TransactionService) ShippingService(com.salesmanager.core.business.services.shipping.ShippingService) CreditCardType(com.salesmanager.core.model.payments.CreditCardType) CustomerFacade(com.salesmanager.shop.store.controller.customer.facade.CustomerFacade) FieldError(org.springframework.validation.FieldError) Set(java.util.Set) CreditCardPayment(com.salesmanager.core.model.payments.CreditCardPayment) ShoppingCartItemPopulator(com.salesmanager.shop.populator.order.ShoppingCartItemPopulator) ZoneId(java.time.ZoneId) PaymentService(com.salesmanager.core.business.services.payments.PaymentService) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) ShippingQuoteService(com.salesmanager.core.business.services.shipping.ShippingQuoteService) ShopOrder(com.salesmanager.shop.model.order.ShopOrder) ProductService(com.salesmanager.core.business.services.catalog.product.ProductService) OrderSummary(com.salesmanager.core.model.order.OrderSummary) Billing(com.salesmanager.core.model.common.Billing) CreditCardUtils(com.salesmanager.core.business.utils.CreditCardUtils) BindingResult(org.springframework.validation.BindingResult) OrderService(com.salesmanager.core.business.services.order.OrderService) CollectionUtils(org.apache.commons.collections4.CollectionUtils) ShoppingCartFacade(com.salesmanager.shop.store.controller.shoppingCart.facade.ShoppingCartFacade) ArrayList(java.util.ArrayList) ZoneService(com.salesmanager.core.business.services.reference.zone.ZoneService) OrderTotalSummary(com.salesmanager.core.model.order.OrderTotalSummary) OrderAttribute(com.salesmanager.core.model.order.attributes.OrderAttribute) PersistableOrderProduct(com.salesmanager.shop.model.order.PersistableOrderProduct) Service(org.springframework.stereotype.Service) ProductAttributeService(com.salesmanager.core.business.services.catalog.product.attribute.ProductAttributeService) LinkedHashSet(java.util.LinkedHashSet) ShoppingCartService(com.salesmanager.core.business.services.shoppingcart.ShoppingCartService) Product(com.salesmanager.core.model.catalog.product.Product) Country(com.salesmanager.core.model.reference.country.Country) ReadableOrderProduct(com.salesmanager.shop.model.order.ReadableOrderProduct) EmailTemplatesUtils(com.salesmanager.shop.utils.EmailTemplatesUtils) Validate(org.apache.commons.lang3.Validate) Date(java.util.Date) LoggerFactory(org.slf4j.LoggerFactory) CreditCard(com.salesmanager.core.model.order.payment.CreditCard) ServiceException(com.salesmanager.core.business.exception.ServiceException) ShoppingCartItem(com.salesmanager.core.model.shoppingcart.ShoppingCartItem) MerchantStore(com.salesmanager.core.model.merchant.MerchantStore) ReadableTransaction(com.salesmanager.shop.model.order.transaction.ReadableTransaction) ObjectError(org.springframework.validation.ObjectError) Locale(java.util.Locale) OrderCriteria(com.salesmanager.core.model.order.OrderCriteria) OrderProductPopulator(com.salesmanager.shop.populator.order.OrderProductPopulator) OrderFacade(com.salesmanager.shop.store.controller.order.facade.OrderFacade) CountryService(com.salesmanager.core.business.services.reference.country.CountryService) OrderList(com.salesmanager.core.model.order.OrderList) Instant(java.time.Instant) Collectors(java.util.stream.Collectors) ReadableOrderProductPopulator(com.salesmanager.shop.populator.order.ReadableOrderProductPopulator) ReadableCustomer(com.salesmanager.shop.model.customer.ReadableCustomer) ReadableOrderStatusHistory(com.salesmanager.shop.model.order.history.ReadableOrderStatusHistory) List(java.util.List) Payment(com.salesmanager.core.model.payments.Payment) LocaleUtils(com.salesmanager.shop.utils.LocaleUtils) PersistableOrderStatusHistory(com.salesmanager.shop.model.order.history.PersistableOrderStatusHistory) PersistableOrderApiPopulator(com.salesmanager.shop.populator.order.PersistableOrderApiPopulator) CoreConfiguration(com.salesmanager.core.business.utils.CoreConfiguration) LocalDate(java.time.LocalDate) ProductAvailability(com.salesmanager.core.model.catalog.product.availability.ProductAvailability) Address(com.salesmanager.shop.model.customer.address.Address) OrderStatusHistory(com.salesmanager.core.model.order.orderstatus.OrderStatusHistory) Async(org.springframework.scheduling.annotation.Async) PersistableCustomerPopulator(com.salesmanager.shop.populator.customer.PersistableCustomerPopulator) Order(com.salesmanager.core.model.order.Order) DateUtil(com.salesmanager.shop.utils.DateUtil) HashMap(java.util.HashMap) TransactionType(com.salesmanager.core.model.payments.TransactionType) OrderTotal(com.salesmanager.shop.model.order.total.OrderTotal) PaymentType(com.salesmanager.core.model.payments.PaymentType) HashSet(java.util.HashSet) Inject(javax.inject.Inject) Language(com.salesmanager.core.model.reference.language.Language) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) LabelUtils(com.salesmanager.shop.utils.LabelUtils) ReadableTransactionPopulator(com.salesmanager.shop.populator.order.transaction.ReadableTransactionPopulator) Qualifier(org.springframework.beans.factory.annotation.Qualifier) CustomerPopulator(com.salesmanager.shop.populator.customer.CustomerPopulator) PersistablePaymentPopulator(com.salesmanager.shop.populator.order.transaction.PersistablePaymentPopulator) Transaction(com.salesmanager.core.model.payments.Transaction) Constants(com.salesmanager.core.business.constants.Constants) Logger(org.slf4j.Logger) OrderStatus(com.salesmanager.core.model.order.orderstatus.OrderStatus) Customer(com.salesmanager.core.model.customer.Customer) ImageFilePath(com.salesmanager.shop.utils.ImageFilePath) PersistableCustomer(com.salesmanager.shop.model.customer.PersistableCustomer) ShippingSummary(com.salesmanager.core.model.shipping.ShippingSummary) ConversionException(com.salesmanager.core.business.exception.ConversionException) Comparator(java.util.Comparator) Collections(java.util.Collections) ReadableOrderStatusHistory(com.salesmanager.shop.model.order.history.ReadableOrderStatusHistory) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ReadableOrderStatusHistory(com.salesmanager.shop.model.order.history.ReadableOrderStatusHistory) PersistableOrderStatusHistory(com.salesmanager.shop.model.order.history.PersistableOrderStatusHistory) OrderStatusHistory(com.salesmanager.core.model.order.orderstatus.OrderStatusHistory)

Example 57 with ResourceNotFoundException

use of com.salesmanager.shop.store.api.exception.ResourceNotFoundException in project shopizer by shopizer-ecommerce.

the class OrderFacadeImpl method createOrderStatus.

@Override
public void createOrderStatus(PersistableOrderStatusHistory status, Long id, MerchantStore store) {
    Validate.notNull(status, "OrderStatusHistory must not be null");
    Validate.notNull(id, "Order id must not be null");
    Validate.notNull(store, "MerchantStore must not be null");
    // retrieve original order
    Order order = orderService.getOrder(id, store);
    if (order == null) {
        throw new ResourceNotFoundException("Order with id [" + id + "] does not exist for merchant [" + store.getCode() + "]");
    }
    try {
        OrderStatusHistory history = new OrderStatusHistory();
        history.setComments(status.getComments());
        history.setDateAdded(DateUtil.getDate(status.getDate()));
        history.setOrder(order);
        history.setStatus(status.getStatus());
        orderService.addOrderStatusHistory(order, history);
    } catch (Exception e) {
        throw new ServiceRuntimeException("An error occured while converting orderstatushistory", e);
    }
}
Also used : ShopOrder(com.salesmanager.shop.model.order.ShopOrder) Order(com.salesmanager.core.model.order.Order) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ReadableOrderStatusHistory(com.salesmanager.shop.model.order.history.ReadableOrderStatusHistory) PersistableOrderStatusHistory(com.salesmanager.shop.model.order.history.PersistableOrderStatusHistory) OrderStatusHistory(com.salesmanager.core.model.order.orderstatus.OrderStatusHistory) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) ServiceException(com.salesmanager.core.business.exception.ServiceException) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ConversionException(com.salesmanager.core.business.exception.ConversionException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException)

Example 58 with ResourceNotFoundException

use of com.salesmanager.shop.store.api.exception.ResourceNotFoundException in project shopizer by shopizer-ecommerce.

the class OrderFacadeImpl method getReadableOrder.

@Override
public com.salesmanager.shop.model.order.v0.ReadableOrder getReadableOrder(Long orderId, MerchantStore store, Language language) {
    Validate.notNull(store, "MerchantStore cannot be null");
    Order modelOrder = orderService.getOrder(orderId, store);
    if (modelOrder == null) {
        throw new ResourceNotFoundException("Order not found with id " + orderId);
    }
    com.salesmanager.shop.model.order.v0.ReadableOrder readableOrder = new com.salesmanager.shop.model.order.v0.ReadableOrder();
    Long customerId = modelOrder.getCustomerId();
    if (customerId != null) {
        ReadableCustomer readableCustomer = customerFacade.getCustomerById(customerId, store, language);
        if (readableCustomer == null) {
            LOGGER.warn("Customer id " + customerId + " not found in order " + orderId);
        } else {
            readableOrder.setCustomer(readableCustomer);
        }
    }
    try {
        readableOrderPopulator.populate(modelOrder, readableOrder, store, language);
        // order products
        List<ReadableOrderProduct> orderProducts = new ArrayList<ReadableOrderProduct>();
        for (OrderProduct p : modelOrder.getOrderProducts()) {
            ReadableOrderProductPopulator orderProductPopulator = new ReadableOrderProductPopulator();
            orderProductPopulator.setProductService(productService);
            orderProductPopulator.setPricingService(pricingService);
            orderProductPopulator.setimageUtils(imageUtils);
            ReadableOrderProduct orderProduct = new ReadableOrderProduct();
            orderProductPopulator.populate(p, orderProduct, store, language);
            orderProducts.add(orderProduct);
        }
        readableOrder.setProducts(orderProducts);
    } catch (Exception e) {
        throw new ServiceRuntimeException("Error while getting order [" + orderId + "]");
    }
    return readableOrder;
}
Also used : ShopOrder(com.salesmanager.shop.model.order.ShopOrder) Order(com.salesmanager.core.model.order.Order) OrderProduct(com.salesmanager.core.model.order.orderproduct.OrderProduct) PersistableOrderProduct(com.salesmanager.shop.model.order.PersistableOrderProduct) ReadableOrderProduct(com.salesmanager.shop.model.order.ReadableOrderProduct) ArrayList(java.util.ArrayList) ReadableOrderProduct(com.salesmanager.shop.model.order.ReadableOrderProduct) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) ServiceException(com.salesmanager.core.business.exception.ServiceException) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ConversionException(com.salesmanager.core.business.exception.ConversionException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) ReadableOrderProductPopulator(com.salesmanager.shop.populator.order.ReadableOrderProductPopulator) ReadableCustomer(com.salesmanager.shop.model.customer.ReadableCustomer) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException)

Example 59 with ResourceNotFoundException

use of com.salesmanager.shop.store.api.exception.ResourceNotFoundException in project shopizer by shopizer-ecommerce.

the class SecurityApi method listPermissions.

@ResponseStatus(HttpStatus.OK)
@GetMapping({ "/private/{group}/permissions" })
@ApiOperation(httpMethod = "GET", value = "Get permissions by group", notes = "", produces = MediaType.APPLICATION_JSON_VALUE, response = List.class)
public List<ReadablePermission> listPermissions(@PathVariable String group) {
    Group g = null;
    try {
        g = groupService.findByName(group);
        if (g == null) {
            throw new ResourceNotFoundException("Group [" + group + "] does not exist");
        }
    } catch (Exception e) {
        LOGGER.error("An error occured while getting group [" + group + "]", e);
        throw new ServiceRuntimeException("An error occured while getting group [" + group + "]");
    }
    Set<Permission> permissions = g.getPermissions();
    List<ReadablePermission> readablePermissions = new ArrayList<ReadablePermission>();
    for (Permission permission : permissions) {
        ReadablePermission readablePermission = new ReadablePermission();
        readablePermission.setName(permission.getPermissionName());
        readablePermission.setId(permission.getId());
        readablePermissions.add(readablePermission);
    }
    return readablePermissions;
}
Also used : ReadablePermission(com.salesmanager.shop.model.security.ReadablePermission) Group(com.salesmanager.core.model.user.Group) ReadableGroup(com.salesmanager.shop.model.security.ReadableGroup) ReadablePermission(com.salesmanager.shop.model.security.ReadablePermission) Permission(com.salesmanager.core.model.user.Permission) ArrayList(java.util.ArrayList) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) GetMapping(org.springframework.web.bind.annotation.GetMapping) ResponseStatus(org.springframework.web.bind.annotation.ResponseStatus) ApiOperation(io.swagger.annotations.ApiOperation)

Example 60 with ResourceNotFoundException

use of com.salesmanager.shop.store.api.exception.ResourceNotFoundException in project shopizer by shopizer-ecommerce.

the class ShippingConfigurationApi method configure.

@PostMapping(value = "/private/modules/shipping")
public void configure(@RequestBody IntegrationModuleConfiguration configuration, @ApiIgnore MerchantStore merchantStore) {
    try {
        List<IntegrationModule> modules = shippingService.getShippingMethods(merchantStore);
        Map<String, IntegrationModule> map = modules.stream().collect(Collectors.toMap(IntegrationModule::getCode, module -> module));
        IntegrationModule config = map.get(configuration.getCode());
        if (config == null) {
            throw new ResourceNotFoundException("Shipping module [" + configuration.getCode() + "] not found");
        }
        Map<String, IntegrationConfiguration> configuredModules = shippingService.getShippingModulesConfigured(merchantStore);
        IntegrationConfiguration integrationConfiguration = configuredModules.get(configuration.getCode());
        if (integrationConfiguration == null) {
            integrationConfiguration = new IntegrationConfiguration();
        }
        /**
         * Build return object for now this is a read copy
         */
        integrationConfiguration.setActive(configuration.isActive());
        integrationConfiguration.setDefaultSelected(configuration.isDefaultSelected());
        integrationConfiguration.setIntegrationKeys(configuration.getIntegrationKeys());
        integrationConfiguration.setIntegrationOptions(configuration.getIntegrationOptions());
        shippingService.saveShippingQuoteModuleConfiguration(integrationConfiguration, merchantStore);
    } catch (ServiceException e) {
        LOGGER.error("Error saving shipping modules", e);
        throw new ServiceRuntimeException("Error saving shipping module", e);
    }
}
Also used : PathVariable(org.springframework.web.bind.annotation.PathVariable) IntegrationModuleConfiguration(com.salesmanager.shop.model.system.IntegrationModuleConfiguration) ShippingFacade(com.salesmanager.shop.store.controller.shipping.facade.ShippingFacade) Constants(com.salesmanager.shop.constants.Constants) LoggerFactory(org.slf4j.LoggerFactory) Autowired(org.springframework.beans.factory.annotation.Autowired) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ServiceException(com.salesmanager.core.business.exception.ServiceException) RequestBody(org.springframework.web.bind.annotation.RequestBody) Language(com.salesmanager.core.model.reference.language.Language) ApiOperation(io.swagger.annotations.ApiOperation) MerchantStore(com.salesmanager.core.model.merchant.MerchantStore) AuthorizationUtils(com.salesmanager.shop.utils.AuthorizationUtils) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) Map(java.util.Map) GetMapping(org.springframework.web.bind.annotation.GetMapping) IntegrationModule(com.salesmanager.core.model.system.IntegrationModule) Api(io.swagger.annotations.Api) Tag(io.swagger.annotations.Tag) ResponseStatus(org.springframework.web.bind.annotation.ResponseStatus) ShippingService(com.salesmanager.core.business.services.shipping.ShippingService) PostMapping(org.springframework.web.bind.annotation.PostMapping) Logger(org.slf4j.Logger) ApiImplicitParam(io.swagger.annotations.ApiImplicitParam) RequestMethod(org.springframework.web.bind.annotation.RequestMethod) ResponseBody(org.springframework.web.bind.annotation.ResponseBody) Collectors(java.util.stream.Collectors) RestController(org.springframework.web.bind.annotation.RestController) IntegrationModuleSummaryEntity(com.salesmanager.shop.model.system.IntegrationModuleSummaryEntity) ApiIgnore(springfox.documentation.annotations.ApiIgnore) HttpStatus(org.springframework.http.HttpStatus) List(java.util.List) Stream(java.util.stream.Stream) PackageDetails(com.salesmanager.core.model.shipping.PackageDetails) IntegrationConfiguration(com.salesmanager.core.model.system.IntegrationConfiguration) SwaggerDefinition(io.swagger.annotations.SwaggerDefinition) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) Optional(java.util.Optional) PersistableAddress(com.salesmanager.shop.model.references.PersistableAddress) ReadableAddress(com.salesmanager.shop.model.references.ReadableAddress) ApiImplicitParams(io.swagger.annotations.ApiImplicitParams) ServiceException(com.salesmanager.core.business.exception.ServiceException) IntegrationConfiguration(com.salesmanager.core.model.system.IntegrationConfiguration) ResourceNotFoundException(com.salesmanager.shop.store.api.exception.ResourceNotFoundException) IntegrationModule(com.salesmanager.core.model.system.IntegrationModule) ServiceRuntimeException(com.salesmanager.shop.store.api.exception.ServiceRuntimeException) PostMapping(org.springframework.web.bind.annotation.PostMapping)

Aggregations

ResourceNotFoundException (com.salesmanager.shop.store.api.exception.ResourceNotFoundException)108 ServiceRuntimeException (com.salesmanager.shop.store.api.exception.ServiceRuntimeException)77 ServiceException (com.salesmanager.core.business.exception.ServiceException)62 MerchantStore (com.salesmanager.core.model.merchant.MerchantStore)22 UnauthorizedException (com.salesmanager.shop.store.api.exception.UnauthorizedException)22 Product (com.salesmanager.core.model.catalog.product.Product)21 Language (com.salesmanager.core.model.reference.language.Language)19 List (java.util.List)19 Collectors (java.util.stream.Collectors)19 ApiImplicitParams (io.swagger.annotations.ApiImplicitParams)17 ArrayList (java.util.ArrayList)17 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)16 OperationNotAllowedException (com.salesmanager.shop.store.api.exception.OperationNotAllowedException)15 Autowired (org.springframework.beans.factory.annotation.Autowired)15 ConversionException (com.salesmanager.core.business.exception.ConversionException)13 ResponseStatus (org.springframework.web.bind.annotation.ResponseStatus)13 Inject (javax.inject.Inject)12 Optional (java.util.Optional)11 Service (org.springframework.stereotype.Service)11 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)11