Subversion Repositories SmartDukaan

Rev

Rev 6606 | Rev 6887 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
419 rajveer 1
package in.shop2020.serving.utils;
2
 
1453 chandransh 3
import in.shop2020.config.ConfigException;
3209 vikas 4
import in.shop2020.model.v1.order.LineItem;
5
import in.shop2020.model.v1.order.Order;
6603 anupam.sin 6
import in.shop2020.model.v1.order.RechargeOrderStatus;
6178 anupam.sin 7
import in.shop2020.model.v1.order.RechargePlan;
6135 anupam.sin 8
import in.shop2020.model.v1.order.RechargeType;
3209 vikas 9
import in.shop2020.model.v1.user.Cart;
10
import in.shop2020.model.v1.user.Line;
6135 anupam.sin 11
import in.shop2020.thrift.clients.TransactionClient;
1453 chandransh 12
import in.shop2020.thrift.clients.config.ConfigClient;
419 rajveer 13
 
3209 vikas 14
import java.util.ArrayList;
6603 anupam.sin 15
import java.util.Arrays;
6178 anupam.sin 16
import java.util.HashMap;
3209 vikas 17
import java.util.List;
6135 anupam.sin 18
import java.util.Map;
3209 vikas 19
 
4891 varun.gupt 20
import javax.mail.internet.AddressException;
21
import javax.mail.internet.InternetAddress;
22
 
3209 vikas 23
import org.apache.commons.lang.StringUtils;
24
import org.apache.log4j.Logger;
25
 
419 rajveer 26
public class Utils {
2942 chandransh 27
    private static Logger logger = Logger.getLogger(Utils.class);
28
 
4892 varun.gupt 29
	public static final String EXPORT_ENTITIES_PATH = getExportPath();
5084 phani.kuma 30
	public static final String EXPORT_JAVASCRIPT_CONTENT_PATH = "/var/lib/tomcat6/webapps/export/javascripts/";
2306 vikas 31
	public static final long ROOT_CATEGORY = 10000;
32
	public static final long MOBILE_PHONES_CATEGORY = 10001;
33
	public static final long MOBILE_ACCESSORIES_CATEGORY = 10011;
3656 mandeep.dh 34
	public static final long TABLETS_CATEGORY = 10010;
35
    public static final long LAPTOPS_CATEGORY = 10050;
5873 amit.gupta 36
    public static final long CAMERAS_CATEGORY = 11001;
6135 anupam.sin 37
 
38
    static Map<Long, String> providersMap;
6178 anupam.sin 39
    static Map<Long, String> mobileProvidersMap;
40
    static Map<Long, String> dthProvidersMap;
41
    static Map<Long, List<RechargePlan>> operatorPlanMap = new HashMap<Long, List<RechargePlan>>(); 
6204 rajveer 42
    private static Map<String, Map<String, String>> uriOperatorMap = new HashMap<String, Map<String,String>>();
43
 
6603 anupam.sin 44
    public static final List<RechargeOrderStatus> refundableRechargeStatusList = new ArrayList<RechargeOrderStatus>(Arrays.asList(new RechargeOrderStatus[] 
45
                                                                                                                                                     {RechargeOrderStatus.RECHARGE_FAILED, 
46
                                                                                                                                                      RechargeOrderStatus.RECHARGE_FAILED_REFUNDED,
47
                                                                                                                                                      RechargeOrderStatus.PAYMENT_SUCCESSFUL}));
48
 
49
    public static Map<RechargeOrderStatus, String> statusMap = new HashMap<RechargeOrderStatus, String>();
50
 
4137 varun.gupt 51
    public static String[] facetDefIDs = new String[] {
6706 amit.gupta 52
    	"F_50010","F_50011","F_50002","F_50001",  "F_50028", "F_50006", "F_50007", "F_50012", "F_50013", "F_50014", "F_50015", "F_50017", "F_50018", "F_50019", "F_50020", "F_50021", "F_50022", "F_50023", "F_50024", "F_50025", "F_50026", "F_50027", "F_50028" };
53
    public static String[] facetLabels = new String[] {"Category","Sub Category","Price", "Brand", "Availability", "Data Connectivity", 
5439 phani.kuma 54
    	"Camera Resolution", "Display", "Operating System", "RAM", "Storage Capacity", "Processor",
6606 rajveer 55
    	"Capacity", "Class", "Capacity", "Capacity", "Type", "Interface", "Resolution", "Optical Zoom", "Display Size", "Effective Resolution", "Availability" };
56
    public static String[] rootfacetDefIDs = new String[] {"F_50010","F_50011","F_50002","F_50001","F_50028"};
57
    public static String[] rootfacetLabels = new String[] {"Category","Sub Category","Price", "Brand","Availability"};
6135 anupam.sin 58
 
59
    static {
6603 anupam.sin 60
        statusMap.put(RechargeOrderStatus.PAYMENT_FAILED, "Payment Unsuccessful");
61
        statusMap.put(RechargeOrderStatus.PAYMENT_SUCCESSFUL, "Processing Recharge");
62
        statusMap.put(RechargeOrderStatus.RECHARGE_FAILED, "Recharge Failed");
63
        statusMap.put(RechargeOrderStatus.RECHARGE_FAILED_REFUNDED, "Recharge Failed");
64
        statusMap.put(RechargeOrderStatus.RECHARGE_SUCCESSFUL, "Recharge Successful");
65
        statusMap.put(RechargeOrderStatus.REFUNDED, "Amount Refunded");
66
        statusMap.put(RechargeOrderStatus.PARTIALLY_REFUNDED, "Amount Refunded");
67
 
6135 anupam.sin 68
        TransactionClient tcl;
69
        try {
70
            tcl = new TransactionClient();
6206 rajveer 71
            mobileProvidersMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);
72
            dthProvidersMap = tcl.getClient().getServiceProviders(RechargeType.DTH, true);
6178 anupam.sin 73
//            providersMap.putAll(mobileProvidersMap);
74
//            providersMap.putAll(dthProvidersMap);
75
            for (Long operatorId : mobileProvidersMap.keySet()) {
76
                List<RechargePlan> plans = tcl.getClient().getPlansForOperator(operatorId);
77
                if (!plans.isEmpty()) {
78
                    operatorPlanMap.put(operatorId, plans);
79
                }
80
            }
6204 rajveer 81
            for (Long operatorId : mobileProvidersMap.keySet()) {
82
            	Map<String,String> valueMap = new HashMap<String,String>();
83
            	valueMap.put("Id", operatorId+"");
84
                valueMap.put("Name", mobileProvidersMap.get(operatorId)+"");
85
                valueMap.put("ServiceType", "1");
86
                valueMap.put("ServiceName", "Prepaid Mobile");
87
                uriOperatorMap.put(mobileProvidersMap.get(operatorId).toLowerCase().trim().replace(" ", "-")+"-online-recharge", valueMap);
88
            }
89
            for (Long operatorId : dthProvidersMap.keySet()) {
90
            	Map<String,String> valueMap = new HashMap<String,String>();
91
            	valueMap.put("Id", operatorId+"");
92
            	valueMap.put("Name", dthProvidersMap.get(operatorId)+"");
93
                valueMap.put("ServiceType", "2");
94
                valueMap.put("ServiceName", "DTH TV");
95
                uriOperatorMap.put(dthProvidersMap.get(operatorId).toLowerCase().trim().replace(" ", "-")+"-online-recharge", valueMap);
96
            }
6603 anupam.sin 97
 
6204 rajveer 98
            Map<String,String> valueMap = new HashMap<String,String>();
99
            valueMap.put("Id", "0");
100
	    	valueMap.put("Name", "Mobile and DTH");
101
	        valueMap.put("ServiceType", "1");
102
	        valueMap.put("ServiceName", "");
103
	        uriOperatorMap.put("recharge", valueMap);
6178 anupam.sin 104
//            providersMap.putAll(tcl.getClient().getServiceProviders(RechargeType.DTH));
6603 anupam.sin 105
 
106
 
6135 anupam.sin 107
        } catch (Exception e) {
108
            logger.error("Could not get providers", e);
109
        }
110
    }
111
 
112
 
113
 
1453 chandransh 114
	private static String getExportPath(){
1457 chandransh 115
		String exportPath=null;
1453 chandransh 116
		ConfigClient client = ConfigClient.getClient();
117
		try{
118
			exportPath = client.get("export_entities_path");
119
		}catch(ConfigException ce){
2942 chandransh 120
			logger.error("Unable to read export path from the config client: ", ce);
121
			logger.warn("Setting the default export path");
1475 chandransh 122
			exportPath = "/var/lib/tomcat6/webapps/export/html/entities/";
1453 chandransh 123
		}
124
		return exportPath;
125
	}
126
 
822 vikas 127
	public static boolean validatePin(String pincode) {
128
		int pin;
129
		try {
130
			pin = Integer.parseInt(pincode);
131
		}
132
		catch (NumberFormatException e) {
133
			return false;
134
		}
135
 
136
		if (pin < 100000 || pin > 999999) {
137
			return false;
138
		}
139
		return true;
140
	}
4891 varun.gupt 141
 
142
	public static boolean isValidEmail(String emailAddress)	{
143
 
144
		if(emailAddress == null || emailAddress.isEmpty())	{
145
			return false;
146
		}
147
		try {
148
			InternetAddress address = new InternetAddress(emailAddress, true);
149
			address.validate();
150
			return true;
151
 
152
		} catch (AddressException e) {
153
			logger.error(emailAddress + " is not valid email address ", e);
154
			return false;
155
		}
156
	}
822 vikas 157
 
158
	public static boolean validatePhone(String phone) {
839 vikas 159
		long iPhone;
822 vikas 160
		try {
839 vikas 161
    		iPhone = Long.parseLong(phone);
822 vikas 162
		}
163
		catch (NumberFormatException e) {
164
			return false;
165
		}
839 vikas 166
 
167
		if (iPhone < 1000000000l || iPhone > 9999999999l) {
168
			return false;
169
		}
822 vikas 170
		return true;
171
	}
3209 vikas 172
 
173
	public static String getItemIdStringInCart(Cart cart) {
174
	    List<String> itemIds = new ArrayList<String>();
175
        for (Line line : cart.getLines()) {
176
            itemIds.add(Long.toString(line.getItemId()));
177
        }
178
        return StringUtils.join(itemIds, '_');
179
    }
180
 
181
	public static String getItemIdStringFromOrders(List<Order> orders) {
182
        List<String> itemIds = new ArrayList<String>();
183
        if (orders != null) {
184
            for (Order order : orders) {
185
                for (LineItem lItem : order.getLineitems()) {
186
                    itemIds.add(Long.toString(lItem.getItem_id()));
187
                }
188
            }
189
        }
190
        return StringUtils.join(itemIds, '_');
6135 anupam.sin 191
    }
192
 
193
 
194
 
195
	public static String getRechargeProviderName(long providerId) {
196
            return providersMap.get(providerId);
197
	}
6178 anupam.sin 198
 
199
    public static Map<Long, String> getMobileProvidersMap() {
200
        return mobileProvidersMap;
201
    }
202
 
203
    public static Map<Long, String> getDthProvidersMap() {
204
        return dthProvidersMap;
205
    }
206
 
207
    public static Map<Long, List<RechargePlan>> getOperatorPlanMap() {
208
        return operatorPlanMap;
209
    }
6204 rajveer 210
 
6208 rajveer 211
    public static Map<String, Map<String, String>> getUriOperatorMap(){
212
    	return uriOperatorMap;
213
	}
214
 
6204 rajveer 215
    public static Map<String, String> getOperatorByUri(String uri){
216
    	return uriOperatorMap.get(uri);
217
	}
4891 varun.gupt 218
}