Rev 23755 | Rev 24121 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.smartdukaan.cron.monitored;import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import com.smartdukaan.cron.properties.WriteToPropertiesFile;import com.spice.profitmandi.common.enumuration.ProviderBalanceFrom;import com.spice.profitmandi.common.enumuration.SchemeType;import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;import com.spice.profitmandi.common.model.ProfitMandiConstants;import com.spice.profitmandi.common.model.RechargeCredential;import com.spice.profitmandi.common.web.client.RestClient;import com.spice.profitmandi.dao.repository.catalog.ItemRepository;import com.spice.profitmandi.service.recharge.RechargeService;import com.spice.profitmandi.service.recharge.provider.OxigenRechargeProviderService;import com.spice.profitmandi.service.recharge.provider.ThinkWalnutDigitalRechargeProviderService;@Componentpublic class NagiosMonitorTasks {private static final Logger log = LogManager.getLogger(NagiosMonitorTasks.class);@Value("${oxigen.recharge.transaction.url}")private String oxigenRechargeTransactionUrl;@Value("${oxigen.recharge.enquiry.url}")private String oxigenRechargeEnquiryUrl;@Value("${oxigen.recharge.auth.key}")private String oxigenRechargeAuthKey;@Value("${oxigen.recharge.validation.url}")private String oxigenRechargeValidationUrl;@Value("${oxigen.recharge.validation.auth.key}")private String oxigenRechargeValidationAuthKey;@Value("${think.walnut.digital.recharge.transaction.mobile.url}")private String thinkWalnutDigitalRechargeTransactionMobileUrl;@Value("${think.walnut.digital.recharge.transaction.dth.url}")private String thinkWalnutDigitalRechargeTransactionDthUrl;@Value("${think.walnut.digital.recharge.enquiry.url}")private String thinkWalnutDigitalRechargeEnquiryUrl;@Value("${think.walnut.digital.recharge.balance.url}")private String thinkWalnutDigitalRechargeBalanceUrl;@Value("${think.walnut.digital.recharge.username}")private String thinkWalnutDigitalRechargeUserName;@Value("${think.walnut.digital.recharge.password}")private String thinkWalnutDigitalRechargePassword;@Value("${think.walnut.digital.recharge.auth.key}")private String thinkWalnutDigitalRechargeAuthKey;@Autowiredprivate OxigenRechargeProviderService oxigenRechargeProviderService;@Autowiredprivate ThinkWalnutDigitalRechargeProviderService thinkWalnutDigitalRechargeProviderService;@Autowiredprivate RestClient restClient;@AutowiredItemRepository itemRepository;@Autowiredprivate RechargeService rechargeService;@Autowiredprivate WriteToPropertiesFile writeToPropertiesFile;String nagiosPropertiesFile="/var/log/services/nagios-Monitoring.properties";public void reportSmsCount() throws Throwable {String htmlpage;int currentSmsCount = 0;LinkedHashMap<String,String> propertiesDetails = new LinkedHashMap<>();String uri = "/MessagingGateway/LoginAction";Map<String, String> params = new HashMap<>();params.put("user", "srlsaholic");params.put("password", "sr18mar");String response = restClient.post(SchemeType.HTTP, "103.15.179.45", 8085, uri, params, new HashMap<>());// System.out.println("response Html"+response);if (response.length() > 0) {htmlpage = response.substring(response.indexOf("Current Balance"), response.indexOf("</div>")).substring((response.substring(response.indexOf("Current Balance"), response.indexOf("</div>")).indexOf(">"))+ 1,response.substring(response.indexOf("Current Balance"), response.indexOf("</div>")).length()).trim();/// System.out.println(htmlpage);currentSmsCount = Integer.parseInt(htmlpage);log.info("Got successfully parsed {}", currentSmsCount);propertiesDetails.put("currentSmsCount",Integer.toString(currentSmsCount));writeToPropertiesFile.saveParamChanges(propertiesDetails,nagiosPropertiesFile);}}public void currentOxygenBalance() throws ProfitMandiBusinessException, IOException{LinkedHashMap<String,String> propertiesDetails = new LinkedHashMap<>();float oxygenBalance =oxigenRechargeProviderService.doCheckBalanceRequest(oxigenRechargeTransactionUrl, oxigenRechargeAuthKey);log.info("Got oxygenBalance successfully parsed {}",oxygenBalance);propertiesDetails.put("oxigenBalance",Float.toString(oxygenBalance));writeToPropertiesFile.saveParamChanges(propertiesDetails,nagiosPropertiesFile);}public void currentThinkWalnutBalace() throws ProfitMandiBusinessException, IOException{LinkedHashMap<String,String> propertiesDetails = new LinkedHashMap<>();RechargeCredential thinkWalnutDigitalRechargeCredential = new RechargeCredential();thinkWalnutDigitalRechargeCredential.setRechargeUrl(thinkWalnutDigitalRechargeBalanceUrl);thinkWalnutDigitalRechargeCredential.setRechargeUserName(thinkWalnutDigitalRechargeUserName);thinkWalnutDigitalRechargeCredential.setRechargePassword(thinkWalnutDigitalRechargePassword);thinkWalnutDigitalRechargeCredential.setRechargeAuthKey(thinkWalnutDigitalRechargeAuthKey);float thinkWalnutBalance=thinkWalnutDigitalRechargeProviderService.doCheckBalanceRequest(thinkWalnutDigitalRechargeCredential);log.info("ThinkWalnut Balance {}",thinkWalnutBalance);propertiesDetails.put("thinkWalnutBalance", Float.toString(thinkWalnutBalance));writeToPropertiesFile.saveParamChanges(propertiesDetails,nagiosPropertiesFile);}}