use of com.salesmanager.shop.model.store.ReadableMerchantStore in project shopizer by shopizer-ecommerce.
the class StoreFacadeImpl method findAll.
@Override
public ReadableMerchantStoreList findAll(MerchantStoreCriteria criteria, Language language, int page, int count) {
try {
Page<MerchantStore> stores = null;
List<ReadableMerchantStore> readableStores = new ArrayList<ReadableMerchantStore>();
ReadableMerchantStoreList readableList = new ReadableMerchantStoreList();
Optional<String> code = Optional.ofNullable(criteria.getStoreCode());
Optional<String> name = Optional.ofNullable(criteria.getName());
if (code.isPresent()) {
stores = merchantStoreService.listByGroup(name, code.get(), page, count);
} else {
if (criteria.isRetailers()) {
stores = merchantStoreService.listAllRetailers(name, page, count);
} else {
stores = merchantStoreService.listAll(name, page, count);
}
}
if (!CollectionUtils.isEmpty(stores.getContent())) {
for (MerchantStore store : stores) readableStores.add(convertMerchantStoreToReadableMerchantStore(language, store));
}
readableList.setData(readableStores);
readableList.setRecordsTotal(stores.getTotalElements());
readableList.setTotalPages(stores.getTotalPages());
readableList.setNumber(stores.getSize());
readableList.setRecordsFiltered(stores.getSize());
return readableList;
} catch (ServiceException e) {
throw new ServiceRuntimeException("Error while finding all merchant", e);
}
}
use of com.salesmanager.shop.model.store.ReadableMerchantStore in project shopizer by shopizer-ecommerce.
the class ReadableCatalogMapper method merge.
@Override
public ReadableCatalog merge(Catalog source, ReadableCatalog destination, MerchantStore store, Language language) {
if (destination == null) {
destination = new ReadableCatalog();
}
if (isPositive(source.getId())) {
destination.setId(source.getId());
}
destination.setCode(source.getCode());
destination.setDefaultCatalog(source.isDefaultCatalog());
destination.setVisible(source.isVisible());
Optional<ReadableMerchantStore> readableStore = Optional.ofNullable(source.getMerchantStore()).map(MerchantStore::getCode).map(code -> storeFacade.getByCode(code, language));
readableStore.ifPresent(destination::setStore);
destination.setDefaultCatalog(source.isDefaultCatalog());
Optional<String> formattedCreationDate = Optional.ofNullable(source.getAuditSection()).map(AuditSection::getDateCreated).map(DateUtil::formatDate);
formattedCreationDate.ifPresent(destination::setCreationDate);
if (CollectionUtils.isNotEmpty(source.getEntry())) {
// hierarchy temp object
Map<Long, ReadableCategory> hierarchy = new HashMap<Long, ReadableCategory>();
source.getEntry().forEach(entry -> {
processCategory(entry.getCategory(), store, language, hierarchy, new HashMap<>());
});
destination.setCategory(new ArrayList<>(hierarchy.values()));
}
return destination;
}
use of com.salesmanager.shop.model.store.ReadableMerchantStore in project shopizer by shopizer-ecommerce.
the class MerchantStoreApiIntegrationTest method testGetDefaultStore.
/**
* Test get DEFAULT store
* @throws Exception
*/
@Test
public void testGetDefaultStore() throws Exception {
final HttpEntity<String> httpEntity = new HttpEntity<>(getHeader());
final ResponseEntity<ReadableMerchantStore> response = testRestTemplate.exchange(String.format("/api/v1/store/" + MerchantStore.DEFAULT_STORE), HttpMethod.GET, httpEntity, ReadableMerchantStore.class);
if (response.getStatusCode() != HttpStatus.OK) {
throw new Exception(response.toString());
} else {
final ReadableMerchantStore store = response.getBody();
assertNotNull(store);
}
}
use of com.salesmanager.shop.model.store.ReadableMerchantStore in project shopizer by shopizer-ecommerce.
the class ReadableOrderPopulator method populate.
@Override
public ReadableOrder populate(Order source, ReadableOrder target, MerchantStore store, Language language) throws ConversionException {
target.setId(source.getId());
target.setDatePurchased(source.getDatePurchased());
target.setOrderStatus(source.getStatus());
target.setCurrency(source.getCurrency().getCode());
// target.setCurrencyModel(source.getCurrency());
target.setPaymentType(source.getPaymentType());
target.setPaymentModule(source.getPaymentModuleCode());
target.setShippingModule(source.getShippingModuleCode());
if (source.getMerchant() != null) {
/* ReadableMerchantStorePopulator merchantPopulator = new ReadableMerchantStorePopulator();
merchantPopulator.setCountryService(countryService);
merchantPopulator.setFilePath(filePath);
merchantPopulator.setZoneService(zoneService);*/
ReadableMerchantStore readableStore = readableMerchantStorePopulator.populate(source.getMerchant(), null, store, source.getMerchant().getDefaultLanguage());
target.setStore(readableStore);
}
if (source.getCustomerAgreement() != null) {
target.setCustomerAgreed(source.getCustomerAgreement());
}
if (source.getConfirmedAddress() != null) {
target.setConfirmedAddress(source.getConfirmedAddress());
}
com.salesmanager.shop.model.order.total.OrderTotal taxTotal = null;
com.salesmanager.shop.model.order.total.OrderTotal shippingTotal = null;
if (source.getBilling() != null) {
ReadableBilling address = new ReadableBilling();
address.setEmail(source.getCustomerEmailAddress());
address.setCity(source.getBilling().getCity());
address.setAddress(source.getBilling().getAddress());
address.setCompany(source.getBilling().getCompany());
address.setFirstName(source.getBilling().getFirstName());
address.setLastName(source.getBilling().getLastName());
address.setPostalCode(source.getBilling().getPostalCode());
address.setPhone(source.getBilling().getTelephone());
if (source.getBilling().getCountry() != null) {
address.setCountry(source.getBilling().getCountry().getIsoCode());
}
if (source.getBilling().getZone() != null) {
address.setZone(source.getBilling().getZone().getCode());
}
target.setBilling(address);
}
if (source.getOrderAttributes() != null && source.getOrderAttributes().size() > 0) {
for (OrderAttribute attr : source.getOrderAttributes()) {
com.salesmanager.shop.model.order.OrderAttribute a = new com.salesmanager.shop.model.order.OrderAttribute();
a.setKey(attr.getKey());
a.setValue(attr.getValue());
target.getAttributes().add(a);
}
}
if (source.getDelivery() != null) {
ReadableDelivery address = new ReadableDelivery();
address.setCity(source.getDelivery().getCity());
address.setAddress(source.getDelivery().getAddress());
address.setCompany(source.getDelivery().getCompany());
address.setFirstName(source.getDelivery().getFirstName());
address.setLastName(source.getDelivery().getLastName());
address.setPostalCode(source.getDelivery().getPostalCode());
address.setPhone(source.getDelivery().getTelephone());
if (source.getDelivery().getCountry() != null) {
address.setCountry(source.getDelivery().getCountry().getIsoCode());
}
if (source.getDelivery().getZone() != null) {
address.setZone(source.getDelivery().getZone().getCode());
}
target.setDelivery(address);
}
List<com.salesmanager.shop.model.order.total.OrderTotal> totals = new ArrayList<com.salesmanager.shop.model.order.total.OrderTotal>();
for (OrderTotal t : source.getOrderTotal()) {
if (t.getOrderTotalType() == null) {
continue;
}
if (t.getOrderTotalType().name().equals(OrderTotalType.TOTAL.name())) {
com.salesmanager.shop.model.order.total.OrderTotal totalTotal = createTotal(t);
target.setTotal(totalTotal);
totals.add(totalTotal);
} else if (t.getOrderTotalType().name().equals(OrderTotalType.TAX.name())) {
com.salesmanager.shop.model.order.total.OrderTotal totalTotal = createTotal(t);
if (taxTotal == null) {
taxTotal = totalTotal;
} else {
BigDecimal v = taxTotal.getValue();
v = v.add(totalTotal.getValue());
taxTotal.setValue(v);
}
target.setTax(totalTotal);
totals.add(totalTotal);
} else if (t.getOrderTotalType().name().equals(OrderTotalType.SHIPPING.name())) {
com.salesmanager.shop.model.order.total.OrderTotal totalTotal = createTotal(t);
if (shippingTotal == null) {
shippingTotal = totalTotal;
} else {
BigDecimal v = shippingTotal.getValue();
v = v.add(totalTotal.getValue());
shippingTotal.setValue(v);
}
target.setShipping(totalTotal);
totals.add(totalTotal);
} else if (t.getOrderTotalType().name().equals(OrderTotalType.HANDLING.name())) {
com.salesmanager.shop.model.order.total.OrderTotal totalTotal = createTotal(t);
if (shippingTotal == null) {
shippingTotal = totalTotal;
} else {
BigDecimal v = shippingTotal.getValue();
v = v.add(totalTotal.getValue());
shippingTotal.setValue(v);
}
target.setShipping(totalTotal);
totals.add(totalTotal);
} else if (t.getOrderTotalType().name().equals(OrderTotalType.SUBTOTAL.name())) {
com.salesmanager.shop.model.order.total.OrderTotal subTotal = createTotal(t);
totals.add(subTotal);
} else {
com.salesmanager.shop.model.order.total.OrderTotal otherTotal = createTotal(t);
totals.add(otherTotal);
}
}
target.setTotals(totals);
return target;
}
Aggregations