use of com.salesmanager.core.model.system.MerchantConfiguration in project shopizer by shopizer-ecommerce.
the class ShippingServiceImpl method saveCustomShippingConfiguration.
@Override
public void saveCustomShippingConfiguration(String moduleCode, CustomIntegrationConfiguration shippingConfiguration, MerchantStore store) throws ServiceException {
ShippingQuoteModule quoteModule = shippingModules.get(moduleCode);
if (quoteModule == null) {
throw new ServiceException("Shipping module " + moduleCode + " does not exist");
}
String configurationValue = shippingConfiguration.toJSONString();
try {
MerchantConfiguration configuration = merchantConfigurationService.getMerchantConfiguration(moduleCode, store);
if (configuration == null) {
configuration = new MerchantConfiguration();
configuration.setKey(moduleCode);
configuration.setMerchantStore(store);
}
configuration.setValue(configurationValue);
merchantConfigurationService.saveOrUpdate(configuration);
} catch (Exception e) {
throw new IntegrationException(e);
}
}
use of com.salesmanager.core.model.system.MerchantConfiguration in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method getPaymentModulesConfigured.
@Override
public Map<String, IntegrationConfiguration> getPaymentModulesConfigured(MerchantStore store) throws ServiceException {
try {
Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>();
MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.PAYMENT_MODULES, store);
if (merchantConfiguration != null) {
if (!StringUtils.isBlank(merchantConfiguration.getValue())) {
String decrypted = encryption.decrypt(merchantConfiguration.getValue());
modules = ConfigurationModulesLoader.loadIntegrationConfigurations(decrypted);
}
}
return modules;
} catch (Exception e) {
throw new ServiceException(e);
}
}
use of com.salesmanager.core.model.system.MerchantConfiguration in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method removePaymentModuleConfiguration.
@Override
public void removePaymentModuleConfiguration(String moduleCode, MerchantStore store) throws ServiceException {
try {
Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>();
MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.PAYMENT_MODULES, store);
if (merchantConfiguration != null) {
if (!StringUtils.isBlank(merchantConfiguration.getValue())) {
String decrypted = encryption.decrypt(merchantConfiguration.getValue());
modules = ConfigurationModulesLoader.loadIntegrationConfigurations(decrypted);
}
modules.remove(moduleCode);
String configs = ConfigurationModulesLoader.toJSONString(modules);
String encrypted = encryption.encrypt(configs);
merchantConfiguration.setValue(encrypted);
merchantConfigurationService.saveOrUpdate(merchantConfiguration);
}
MerchantConfiguration configuration = merchantConfigurationService.getMerchantConfiguration(moduleCode, store);
if (configuration != null) {
// custom module
merchantConfigurationService.delete(configuration);
}
} catch (Exception e) {
throw new ServiceException(e);
}
}
use of com.salesmanager.core.model.system.MerchantConfiguration in project shopizer by shopizer-ecommerce.
the class PaymentServiceImpl method savePaymentModuleConfiguration.
@Override
public void savePaymentModuleConfiguration(IntegrationConfiguration configuration, MerchantStore store) throws ServiceException {
// validate entries
try {
String moduleCode = configuration.getModuleCode();
PaymentModule module = paymentModules.get(moduleCode);
if (module == null) {
throw new ServiceException("Payment module " + moduleCode + " does not exist");
}
module.validateModuleConfiguration(configuration, store);
} catch (IntegrationException ie) {
throw ie;
}
try {
Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>();
MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.PAYMENT_MODULES, store);
if (merchantConfiguration != null) {
if (!StringUtils.isBlank(merchantConfiguration.getValue())) {
String decrypted = encryption.decrypt(merchantConfiguration.getValue());
modules = ConfigurationModulesLoader.loadIntegrationConfigurations(decrypted);
}
} else {
merchantConfiguration = new MerchantConfiguration();
merchantConfiguration.setMerchantStore(store);
merchantConfiguration.setKey(Constants.PAYMENT_MODULES);
}
modules.put(configuration.getModuleCode(), configuration);
String configs = ConfigurationModulesLoader.toJSONString(modules);
String encrypted = encryption.encrypt(configs);
merchantConfiguration.setValue(encrypted);
merchantConfigurationService.saveOrUpdate(merchantConfiguration);
} catch (Exception e) {
throw new ServiceException(e);
}
}
use of com.salesmanager.core.model.system.MerchantConfiguration in project shopizer by shopizer-ecommerce.
the class EmailServiceImpl method getEmailConfiguration.
@Override
public EmailConfig getEmailConfiguration(MerchantStore store) throws ServiceException {
MerchantConfiguration configuration = merchantConfigurationService.getMerchantConfiguration(Constants.EMAIL_CONFIG, store);
EmailConfig emailConfig = null;
if (configuration != null) {
String value = configuration.getValue();
ObjectMapper mapper = new ObjectMapper();
try {
emailConfig = mapper.readValue(value, EmailConfig.class);
} catch (Exception e) {
throw new ServiceException("Cannot parse json string " + value);
}
}
return emailConfig;
}
Aggregations