Subversion Repositories SmartDukaan

Rev

Rev 6887 | Rev 6896 | 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[] {
6888 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", "F_50031" };
6706 amit.gupta 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",
6887 amit.gupta 55
    	"Capacity", "Class", "Capacity", "Capacity", "Type", "Interface", "Resolution", "Optical Zoom", "Display Size", "Effective Resolution", "Availability", "Operating System" };
56
 
6606 rajveer 57
    public static String[] rootfacetDefIDs = new String[] {"F_50010","F_50011","F_50002","F_50001","F_50028"};
58
    public static String[] rootfacetLabels = new String[] {"Category","Sub Category","Price", "Brand","Availability"};
6135 anupam.sin 59
 
60
    static {
6603 anupam.sin 61
        statusMap.put(RechargeOrderStatus.PAYMENT_FAILED, "Payment Unsuccessful");
62
        statusMap.put(RechargeOrderStatus.PAYMENT_SUCCESSFUL, "Processing Recharge");
63
        statusMap.put(RechargeOrderStatus.RECHARGE_FAILED, "Recharge Failed");
64
        statusMap.put(RechargeOrderStatus.RECHARGE_FAILED_REFUNDED, "Recharge Failed");
65
        statusMap.put(RechargeOrderStatus.RECHARGE_SUCCESSFUL, "Recharge Successful");
66
        statusMap.put(RechargeOrderStatus.REFUNDED, "Amount Refunded");
67
        statusMap.put(RechargeOrderStatus.PARTIALLY_REFUNDED, "Amount Refunded");
68
 
6135 anupam.sin 69
        TransactionClient tcl;
70
        try {
71
            tcl = new TransactionClient();
6206 rajveer 72
            mobileProvidersMap = tcl.getClient().getServiceProviders(RechargeType.MOBILE, true);
73
            dthProvidersMap = tcl.getClient().getServiceProviders(RechargeType.DTH, true);
6178 anupam.sin 74
//            providersMap.putAll(mobileProvidersMap);
75
//            providersMap.putAll(dthProvidersMap);
76
            for (Long operatorId : mobileProvidersMap.keySet()) {
77
                List<RechargePlan> plans = tcl.getClient().getPlansForOperator(operatorId);
78
                if (!plans.isEmpty()) {
79
                    operatorPlanMap.put(operatorId, plans);
80
                }
81
            }
6204 rajveer 82
            for (Long operatorId : mobileProvidersMap.keySet()) {
83
            	Map<String,String> valueMap = new HashMap<String,String>();
84
            	valueMap.put("Id", operatorId+"");
85
                valueMap.put("Name", mobileProvidersMap.get(operatorId)+"");
86
                valueMap.put("ServiceType", "1");
87
                valueMap.put("ServiceName", "Prepaid Mobile");
88
                uriOperatorMap.put(mobileProvidersMap.get(operatorId).toLowerCase().trim().replace(" ", "-")+"-online-recharge", valueMap);
89
            }
90
            for (Long operatorId : dthProvidersMap.keySet()) {
91
            	Map<String,String> valueMap = new HashMap<String,String>();
92
            	valueMap.put("Id", operatorId+"");
93
            	valueMap.put("Name", dthProvidersMap.get(operatorId)+"");
94
                valueMap.put("ServiceType", "2");
95
                valueMap.put("ServiceName", "DTH TV");
96
                uriOperatorMap.put(dthProvidersMap.get(operatorId).toLowerCase().trim().replace(" ", "-")+"-online-recharge", valueMap);
97
            }
6603 anupam.sin 98
 
6204 rajveer 99
            Map<String,String> valueMap = new HashMap<String,String>();
100
            valueMap.put("Id", "0");
101
	    	valueMap.put("Name", "Mobile and DTH");
102
	        valueMap.put("ServiceType", "1");
103
	        valueMap.put("ServiceName", "");
104
	        uriOperatorMap.put("recharge", valueMap);
6178 anupam.sin 105
//            providersMap.putAll(tcl.getClient().getServiceProviders(RechargeType.DTH));
6603 anupam.sin 106
 
107
 
6135 anupam.sin 108
        } catch (Exception e) {
109
            logger.error("Could not get providers", e);
110
        }
111
    }
112
 
113
 
114
 
1453 chandransh 115
	private static String getExportPath(){
1457 chandransh 116
		String exportPath=null;
1453 chandransh 117
		ConfigClient client = ConfigClient.getClient();
118
		try{
119
			exportPath = client.get("export_entities_path");
120
		}catch(ConfigException ce){
2942 chandransh 121
			logger.error("Unable to read export path from the config client: ", ce);
122
			logger.warn("Setting the default export path");
1475 chandransh 123
			exportPath = "/var/lib/tomcat6/webapps/export/html/entities/";
1453 chandransh 124
		}
125
		return exportPath;
126
	}
127
 
822 vikas 128
	public static boolean validatePin(String pincode) {
129
		int pin;
130
		try {
131
			pin = Integer.parseInt(pincode);
132
		}
133
		catch (NumberFormatException e) {
134
			return false;
135
		}
136
 
137
		if (pin < 100000 || pin > 999999) {
138
			return false;
139
		}
140
		return true;
141
	}
4891 varun.gupt 142
 
143
	public static boolean isValidEmail(String emailAddress)	{
144
 
145
		if(emailAddress == null || emailAddress.isEmpty())	{
146
			return false;
147
		}
148
		try {
149
			InternetAddress address = new InternetAddress(emailAddress, true);
150
			address.validate();
151
			return true;
152
 
153
		} catch (AddressException e) {
154
			logger.error(emailAddress + " is not valid email address ", e);
155
			return false;
156
		}
157
	}
822 vikas 158
 
159
	public static boolean validatePhone(String phone) {
839 vikas 160
		long iPhone;
822 vikas 161
		try {
839 vikas 162
    		iPhone = Long.parseLong(phone);
822 vikas 163
		}
164
		catch (NumberFormatException e) {
165
			return false;
166
		}
839 vikas 167
 
168
		if (iPhone < 1000000000l || iPhone > 9999999999l) {
169
			return false;
170
		}
822 vikas 171
		return true;
172
	}
3209 vikas 173
 
174
	public static String getItemIdStringInCart(Cart cart) {
175
	    List<String> itemIds = new ArrayList<String>();
176
        for (Line line : cart.getLines()) {
177
            itemIds.add(Long.toString(line.getItemId()));
178
        }
179
        return StringUtils.join(itemIds, '_');
180
    }
181
 
182
	public static String getItemIdStringFromOrders(List<Order> orders) {
183
        List<String> itemIds = new ArrayList<String>();
184
        if (orders != null) {
185
            for (Order order : orders) {
186
                for (LineItem lItem : order.getLineitems()) {
187
                    itemIds.add(Long.toString(lItem.getItem_id()));
188
                }
189
            }
190
        }
191
        return StringUtils.join(itemIds, '_');
6135 anupam.sin 192
    }
193
 
194
 
195
 
196
	public static String getRechargeProviderName(long providerId) {
197
            return providersMap.get(providerId);
198
	}
6178 anupam.sin 199
 
200
    public static Map<Long, String> getMobileProvidersMap() {
201
        return mobileProvidersMap;
202
    }
203
 
204
    public static Map<Long, String> getDthProvidersMap() {
205
        return dthProvidersMap;
206
    }
207
 
208
    public static Map<Long, List<RechargePlan>> getOperatorPlanMap() {
209
        return operatorPlanMap;
210
    }
6204 rajveer 211
 
6208 rajveer 212
    public static Map<String, Map<String, String>> getUriOperatorMap(){
213
    	return uriOperatorMap;
214
	}
215
 
6204 rajveer 216
    public static Map<String, String> getOperatorByUri(String uri){
217
    	return uriOperatorMap.get(uri);
218
	}
4891 varun.gupt 219
}