Subversion Repositories SmartDukaan

Rev

Rev 6174 | Rev 6200 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

import in.shop2020.model.v1.order.RechargeType;
import in.shop2020.serving.utils.Utils;
import in.shop2020.thrift.clients.TransactionClient;

import java.util.Map;
import java.util.Set;

import org.apache.log4j.Logger;

import com.google.gson.Gson;

public class RechargeController extends BaseController {
    
    /**
     * 
     */
    private String serviceType = "1"; //Default is Mobile , 2 is for DTH
    private String deviceNumber = "";
    private String form = "";
    private Set<Long> providerKeys;
    private Map<Long, String> providers;
    private String error = "";
    
    private static final long serialVersionUID = 2079308723099307749L;

    private static Logger log = Logger.getLogger(Class.class);
    

/*    static{
        TransactionClient tc;
        try {
            tc = new TransactionClient();
            providers = tc.getClient().getServiceProviders(RechargeType.valueOf(serviceType));
        } catch (Exception e) {
            log.error("Cannot get providers");
        }
        setProviderKeys(providers.keySet());
    }*/
    
    public String index() {
        if(error.equals("ServiceDown")){
                error = "Oops! There seems to be a problem. Please try after some time";
        }else{
                error = "";
        }
        return "index";
    }
    
    public String create() {
        if(form.equals("serviceSelect")) {
            return index();
        }
        return "hello";
    }
    
    public Map<Long, String> getProviderMap() {
        TransactionClient tc;
        try {
            if(serviceType.equals("1"))
                providers = Utils.getMobileProvidersMap();
            else
                providers = Utils.getDthProvidersMap();
            setProviderKeys(providers.keySet());
        } catch (Exception e) {
            log.error("Cannot get providers", e);
        }
        return providers;
    }
    
    public String getServiceProvider() {
        return "service-provider";
    }
    
    public String getProvider(){
        TransactionClient tcl;
        try {
                tcl = new TransactionClient();
                return tcl.getClient().getServiceProviderForDevice(RechargeType.findByValue(Integer.parseInt(this.serviceType)), deviceNumber) + "";
        } catch (Exception e) {
                log.error("Unable to get service provider for Device number " + deviceNumber + " and rechargeType : " +  serviceType, e);
        }
        return 0 + "";
    }
    
    public String getPlanMapInJson() {
        Gson gson = new Gson();
            return (gson.toJson(Utils.getOperatorPlanMap()));
    }

    private void setProviderKeys(Set<Long> keySet) {
        this.providerKeys = keySet;
    }
    
    public Set<Long> getProviderKeys() {
        System.out.println("6");
        return providerKeys;
    }

    public void setServiceType(String incomingServiceType) {
        serviceType = incomingServiceType;
    }
    
    public void setDeviceNumber(String deviceNumber){
        this.deviceNumber = deviceNumber;
    }

    public String getServiceType() {
        return serviceType;
    }

    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;
        }
    
}