Rev 7068 | Rev 7096 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.recharge.controllers;import in.shop2020.model.v1.order.DenominationType;import in.shop2020.model.v1.order.DeviceNumberInfo;import in.shop2020.model.v1.order.RechargeDenomination;import in.shop2020.model.v1.order.RechargePlan;import in.shop2020.model.v1.order.RechargeType;import in.shop2020.thrift.clients.TransactionClient;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.log4j.Logger;import org.apache.struts2.convention.annotation.Action;public class HomeController extends BaseController {/****/private String deviceType = null; //Default is Mobile , 2 is for DTHprivate String deviceNumber = "";private String form = "";private String error = "";private String operatorId;private String operatorName;private String serviceName;private String denominationType;private String circleCode;private List<RechargeDenomination> rechargeDenominations = null;private static final long serialVersionUID = 2079308723099307749L;private static Logger log = Logger.getLogger(Class.class);private static Map<Long, String> mobileProvidersMap;private static Map<Long, String> dthProvidersMap;private static Map<Long, List<RechargePlan>> operatorPlanMap;private static String errorMsg = "";static {TransactionClient tcl;try {operatorPlanMap = new HashMap<Long, List<RechargePlan>>();tcl = new TransactionClient();mobileProvidersMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);setDthProvidersMap(tcl.getClient().getServiceProviders(RechargeType.DTH, true));for (Long operatorId : mobileProvidersMap.keySet()) {List<RechargePlan> plans = tcl.getClient().getPlansForOperator(operatorId);if (!plans.isEmpty()) {operatorPlanMap.put(operatorId, plans);}}} catch(Exception e) {setErrorMsg("There seems to be some problem. Please try again.");}}@Action("/")public String index() {System.out.println("Index method");// uri = request.getRequestURI();// uri = uri.replace("/", "");// log.info("Uri: " + uri);// Map<String, String> valueMap = Utils.getOperatorByUri(uri);// operatorId = valueMap.get("Id");// operatorName = valueMap.get("Name");// serviceName = valueMap.get("ServiceName");// if(deviceType == null){// deviceType = valueMap.get("deviceType");// }return "index";}public String create() {return index();}// public Map<Long, String> getProviderMap() {// if(deviceType.equals("1"))// providers = Utils.getMobileProvidersMap();// else// providers = Utils.getDthProvidersMap();// return providers;// }//public String getServiceProvider() {return "service-provider";}public String getProvider(){TransactionClient tcl;try {tcl = new TransactionClient();DeviceNumberInfo deviceInfo = tcl.getClient().getServiceProviderForDevice(RechargeType.findByValue(Integer.parseInt(this.deviceType)), deviceNumber);return deviceInfo.getOperatorId() + ":" + deviceInfo.getCircleCode();} catch (Exception e) {log.error("Unable to get service provider for Device number " + deviceNumber + " and rechargeType : " + deviceType, e);return ":";}}public String getAllDenominations() {TransactionClient tcl;try {tcl = new TransactionClient();rechargeDenominations = tcl.getClient().getRechargeDenominations(Long.parseLong(operatorId), circleCode, DenominationType.findByValue(Integer.parseInt(denominationType)));if(rechargeDenominations == null || rechargeDenominations.isEmpty()) {setError("This information is unavailable for now.<br>You can recharge with the amount you normally use or you can try later.");}} catch (Exception e) {log.error("Unable to get rechargeDenominations for operatorId " + operatorId + " and circleCode : " + circleCode + " and DenominationType : " + denominationType, e);setError("This information is unavailable for now.<br>You can recharge with the amount you normally use or you can try later.");}return "recharge-denomination";}// public String getPlanMapInJson() {// Gson gson = new Gson();// return (gson.toJson(Utils.getOperatorPlanMap()));// }public void setDeviceType(String incomingdeviceType) {deviceType = incomingdeviceType;}public void setDeviceNumber(String deviceNumber){this.deviceNumber = deviceNumber;}public String getDeviceType() {return deviceType;}public String getForm() {return form;}public void setForm(String form) {this.form = form;}public String getError() {return error;}public void setError(String error) {this.error = error;}public String getPageName() {return operatorName + " online recharge";}public String getPageTitle() {return operatorName + " online recharge";}public String getPageMetaDesc() {return "Recharge your " + this.operatorName + " " + this.serviceName + " online for all cities using Credit/Debit card & net banking. Fast, Secure and Hassle Free Recharge";}public String getPageMetaKeywords() {return "mobile, recharge";}public long getOperatorId(){return Long.parseLong(this.operatorId);}public String getDenominationType() {return denominationType;}public void setDenominationType(String denominationType) {this.denominationType = denominationType;}public String getCircleCode() {return circleCode;}public void setCircleCode(String circleCode) {this.circleCode = circleCode;}public List<RechargeDenomination> getRechargeDenominations() {return rechargeDenominations;}public void setRechargeDenominations(List<RechargeDenomination> rechargeDenominations) {this.rechargeDenominations = rechargeDenominations;}public void setOperatorId(String operatorId) {this.operatorId = operatorId;}public static void setErrorMsg(String errorMsg) {HomeController.errorMsg = errorMsg;}public static String getErrorMsg() {return errorMsg;}public static void setDthProvidersMap(Map<Long, String> dthProvidersMap) {HomeController.dthProvidersMap = dthProvidersMap;}public static Map<Long, String> getDthProvidersMap() {return dthProvidersMap;}public static void setMobileProvidersMap(Map<Long, String> mobileProvidersMap) {HomeController.mobileProvidersMap = mobileProvidersMap;}public static Map<Long, String> getMobileProvidersMap() {return mobileProvidersMap;}}