@Override public void setSupportedCountries(MerchantStore store, List<String> countryCodes) throws ServiceException { // transform a list of string to json entry ObjectMapper mapper = new ObjectMapper(); try { String value = mapper.writeValueAsString(countryCodes); MerchantConfiguration configuration = merchantConfigurationService.getMerchantConfiguration(SUPPORTED_COUNTRIES, store); if (configuration == null) { configuration = new MerchantConfiguration(); configuration.setKey(SUPPORTED_COUNTRIES); configuration.setMerchantStore(store); } configuration.setValue(value); merchantConfigurationService.saveOrUpdate(configuration); } catch (Exception e) { throw new ServiceException(e); } }
@Override public void saveCustomShippingConfiguration( String moduleCode, CustomIntegrationConfiguration shippingConfiguration, MerchantStore store) throws ServiceException { ShippingQuoteModule quoteModule = (ShippingQuoteModule) 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); } }
@Override public void saveShippingQuoteModuleConfiguration( IntegrationConfiguration configuration, MerchantStore store) throws ServiceException { // validate entries try { String moduleCode = configuration.getModuleCode(); ShippingQuoteModule quoteModule = (ShippingQuoteModule) shippingModules.get(moduleCode); if (quoteModule == null) { throw new ServiceException("Shipping quote module " + moduleCode + " does not exist"); } quoteModule.validateModuleConfiguration(configuration, store); } catch (IntegrationException ie) { throw ie; } try { Map<String, IntegrationConfiguration> modules = new HashMap<String, IntegrationConfiguration>(); MerchantConfiguration merchantConfiguration = merchantConfigurationService.getMerchantConfiguration(SHIPPING_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(SHIPPING_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); } }
@Override public void saveShippingConfiguration( ShippingConfiguration shippingConfiguration, MerchantStore store) throws ServiceException { MerchantConfiguration configuration = merchantConfigurationService.getMerchantConfiguration( ShippingConstants.SHIPPING_CONFIGURATION, store); if (configuration == null) { configuration = new MerchantConfiguration(); configuration.setMerchantStore(store); configuration.setKey(ShippingConstants.SHIPPING_CONFIGURATION); } String value = shippingConfiguration.toJSONString(); configuration.setValue(value); merchantConfigurationService.saveOrUpdate(configuration); }
@PreAuthorize("hasRole('AUTH')") @RequestMapping(value = "/admin/configuration/accounts.html", method = RequestMethod.GET) public String displayAccountsConfguration( Model model, HttpServletRequest request, HttpServletResponse response) throws Exception { setConfigurationMenu(model, request); List<MerchantConfiguration> configs = new ArrayList<MerchantConfiguration>(); MerchantStore store = (MerchantStore) request.getAttribute(Constants.ADMIN_STORE); MerchantConfiguration merchantFBConfiguration = merchantConfigurationService.getMerchantConfiguration( Constants.KEY_FACEBOOK_PAGE_URL, store); if (null == merchantFBConfiguration) { merchantFBConfiguration = new MerchantConfiguration(); merchantFBConfiguration.setKey(Constants.KEY_FACEBOOK_PAGE_URL); merchantFBConfiguration.setMerchantConfigurationType(MerchantConfigurationType.CONFIG); } configs.add(merchantFBConfiguration); MerchantConfiguration merchantGoogleAnalyticsConfiguration = merchantConfigurationService.getMerchantConfiguration( Constants.KEY_GOOGLE_ANALYTICS_URL, store); if (null == merchantGoogleAnalyticsConfiguration) { merchantGoogleAnalyticsConfiguration = new MerchantConfiguration(); merchantGoogleAnalyticsConfiguration.setKey(Constants.KEY_GOOGLE_ANALYTICS_URL); merchantGoogleAnalyticsConfiguration.setMerchantConfigurationType( MerchantConfigurationType.CONFIG); } configs.add(merchantGoogleAnalyticsConfiguration); MerchantConfiguration merchantInstagramConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.KEY_INSTAGRAM_URL, store); if (null == merchantInstagramConfiguration) { merchantInstagramConfiguration = new MerchantConfiguration(); merchantInstagramConfiguration.setKey(Constants.KEY_INSTAGRAM_URL); merchantInstagramConfiguration.setMerchantConfigurationType(MerchantConfigurationType.CONFIG); } configs.add(merchantInstagramConfiguration); MerchantConfiguration merchantPinterestConfiguration = merchantConfigurationService.getMerchantConfiguration( Constants.KEY_PINTEREST_PAGE_URL, store); if (null == merchantPinterestConfiguration) { merchantPinterestConfiguration = new MerchantConfiguration(); merchantPinterestConfiguration.setKey(Constants.KEY_PINTEREST_PAGE_URL); merchantPinterestConfiguration.setMerchantConfigurationType(MerchantConfigurationType.CONFIG); } configs.add(merchantPinterestConfiguration); /** * MerchantConfiguration merchantGoogleApiConfiguration = * merchantConfigurationService.getMerchantConfiguration(Constants.KEY_GOOGLE_API_KEY,store); * if(null == merchantGoogleApiConfiguration) { merchantGoogleApiConfiguration = new * MerchantConfiguration(); merchantGoogleApiConfiguration.setKey(Constants.KEY_GOOGLE_API_KEY); * merchantGoogleApiConfiguration.setMerchantConfigurationType(MerchantConfigurationType.CONFIG); * } configs.add(merchantGoogleApiConfiguration); */ MerchantConfiguration twitterConfiguration = merchantConfigurationService.getMerchantConfiguration(Constants.KEY_TWITTER_HANDLE, store); if (null == twitterConfiguration) { twitterConfiguration = new MerchantConfiguration(); twitterConfiguration.setKey(Constants.KEY_TWITTER_HANDLE); twitterConfiguration.setMerchantConfigurationType(MerchantConfigurationType.CONFIG); } configs.add(twitterConfiguration); ConfigListWrapper configWrapper = new ConfigListWrapper(); configWrapper.setMerchantConfigs(configs); model.addAttribute("configuration", configWrapper); return com.salesmanager.web.admin.controller.ControllerConstants.Tiles.Configuration.accounts; }