Subversion Repositories SmartDukaan

Rev

Rev 11518 | Rev 12446 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 11518 Rev 12428
Line 1... Line 1...
1
package in.shop2020;
1
package in.shop2020;
2
 
2
 
3
import in.shop2020.model.v1.order.OrderSource;
3
import in.shop2020.model.v1.order.OrderSource;
4
import in.shop2020.model.v1.order.OrderStatus;
4
import in.shop2020.model.v1.order.OrderStatus;
5
import in.shop2020.thrift.clients.TransactionClient;
5
import in.shop2020.thrift.clients.TransactionClient;
-
 
6
import in.shop2020.utils.GmailUtils;
6
 
7
 
7
import java.io.BufferedReader;
8
import java.io.BufferedReader;
8
import java.io.IOException;
9
import java.io.IOException;
9
import java.io.InputStreamReader;
10
import java.io.InputStreamReader;
10
import java.io.UnsupportedEncodingException;
11
import java.io.UnsupportedEncodingException;
Line 14... Line 15...
14
import java.util.Date;
15
import java.util.Date;
15
import java.util.HashMap;
16
import java.util.HashMap;
16
import java.util.List;
17
import java.util.List;
17
import java.util.Map;
18
import java.util.Map;
18
 
19
 
-
 
20
import javax.mail.MessagingException;
-
 
21
 
19
import org.apache.http.HttpResponse;
22
import org.apache.http.HttpResponse;
20
import org.apache.http.NameValuePair;
23
import org.apache.http.NameValuePair;
21
import org.apache.http.client.ClientProtocolException;
24
import org.apache.http.client.ClientProtocolException;
22
import org.apache.http.client.HttpClient;
25
import org.apache.http.client.HttpClient;
23
import org.apache.http.client.entity.UrlEncodedFormEntity;
26
import org.apache.http.client.entity.UrlEncodedFormEntity;
Line 32... Line 35...
32
 
35
 
33
 
36
 
34
 
37
 
35
public class SnapdealOrderStatusReconciliation{
38
public class SnapdealOrderStatusReconciliation{
36
	private static Logger logger;
39
	private static Logger logger;
-
 
40
	
-
 
41
	static String emailFromAddress;
-
 
42
	static String password;
-
 
43
	static GmailUtils mailer;
-
 
44
	static String sendTo[];
-
 
45
	
-
 
46
	static {
-
 
47
		emailFromAddress = "build-staging@shop2020.in";
-
 
48
		password = "shop2020";
-
 
49
		mailer = new GmailUtils();
-
 
50
		sendTo = new String[] { "kshitij.sood@shop2020.in", "manish.sharma@shop2020.in", "amit.gupta@shop2020.in" };
-
 
51
	}
37
 
52
 
38
	public static void main(String[] args) throws UnsupportedEncodingException{
53
	public static void main(String[] args) throws UnsupportedEncodingException, MessagingException{
-
 
54
		try{
39
		logger = LoggerFactory.getLogger(SnapdealOrderStatusReconciliation.class);
55
			logger = LoggerFactory.getLogger(SnapdealOrderStatusReconciliation.class);
40
		/*List<OrderStatus> statuses = new ArrayList<OrderStatus>();
56
			/*List<OrderStatus> statuses = new ArrayList<OrderStatus>();
41
		statuses.add(OrderStatus.SHIPPED_FROM_WH);
57
			statuses.add(OrderStatus.SHIPPED_FROM_WH);
42
		statuses.add(OrderStatus.SHIPPED_TO_LOGST);*/
58
			statuses.add(OrderStatus.SHIPPED_TO_LOGST);*/
43
 
59
 
44
		Map<String,List<List<String>>> orderDataMap = new HashMap<String,List<List<String>>>();
60
			Map<String,List<List<String>>> orderDataMap = new HashMap<String,List<List<String>>>();
45
		List<List<String>> deliveredOrderDataList = new ArrayList<List<String>>();
61
			List<List<String>> deliveredOrderDataList = new ArrayList<List<String>>();
46
		List<List<String>> cancelledOrderDataList = new ArrayList<List<String>>();
62
			List<List<String>> cancelledOrderDataList = new ArrayList<List<String>>();
47
		long minCreationDate = 0l;
63
			long minCreationDate = 0l;
48
		long currentTime = System.currentTimeMillis();
64
			long currentTime = System.currentTimeMillis();
49
		
65
 
50
		Calendar cal = Calendar.getInstance();
66
			Calendar cal = Calendar.getInstance();
51
		cal.add(Calendar.DAY_OF_MONTH, -60);
67
			cal.add(Calendar.DAY_OF_MONTH, -60);
52
		minCreationDate = cal.getTimeInMillis();
68
			minCreationDate = cal.getTimeInMillis();
53
		/*TransactionClient tsc = null;
69
			/*TransactionClient tsc = null;
54
		try {
70
			try {
55
			tsc = new TransactionClient();
71
				tsc = new TransactionClient();
56
			minCreationDate = tsc.getClient().getMinCreatedTimeStampUndeliveredOrdersForSource(OrderSource.SNAPDEAL.getValue());
72
				minCreationDate = tsc.getClient().getMinCreatedTimeStampUndeliveredOrdersForSource(OrderSource.SNAPDEAL.getValue());
57
			minCreationDate = 1393612200000l;
73
				minCreationDate = 1393612200000l;
58
		} catch (Exception e) {
74
			} catch (Exception e) {
59
			logger.error("Unable to establish connection to the transaction service while getting Minimum Order Created Timstamp for Undelivered Orders ", e);
75
				logger.error("Unable to establish connection to the transaction service while getting Minimum Order Created Timstamp for Undelivered Orders ", e);
60
		}//Dec 14, 2013 12:00:00 AM  1383291412000l
76
			}//Dec 14, 2013 12:00:00 AM  1383291412000l
61
*/
77
			 */
62
		SimpleDateFormat snapdealDateFormat = new SimpleDateFormat("yyyy-MM-dd");
78
			SimpleDateFormat snapdealDateFormat = new SimpleDateFormat("yyyy-MM-dd");
63
		SimpleDateFormat gotSnapdealDateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss aaa");
79
			SimpleDateFormat gotSnapdealDateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss aaa");
64
		SimpleDateFormat ourDBDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
80
			SimpleDateFormat ourDBDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
65
		String startDate= "";
81
			String startDate= "";
66
		Date start_date = new Date(minCreationDate);
82
			Date start_date = new Date(minCreationDate);
67
		Date end_date = new Date(currentTime);
83
			Date end_date = new Date(currentTime);
68
		if(minCreationDate > 0l){
84
			if(minCreationDate > 0l){
69
			startDate = snapdealDateFormat.format(new Date(minCreationDate));
85
				startDate = snapdealDateFormat.format(new Date(minCreationDate));
70
		}
86
			}
71
		else{
87
			else{
72
			startDate = snapdealDateFormat.format(new Date(currentTime));
88
				startDate = snapdealDateFormat.format(new Date(currentTime));
73
		}
89
			}
74
		logger.info("Snapdeal Order Recon Start Date .. "+startDate);
90
			logger.info("Snapdeal Order Recon Start Date .. "+startDate);
75
		//startDate = startDate.replace("-", "%2F");
91
			//startDate = startDate.replace("-", "%2F");
76
 
92
 
77
		String endDate = snapdealDateFormat.format(new Date(System.currentTimeMillis()));
93
			String endDate = snapdealDateFormat.format(new Date(System.currentTimeMillis()));
78
		logger.info("Snapdeal Order Recon End Date .. "+endDate);
94
			logger.info("Snapdeal Order Recon End Date .. "+endDate);
79
		//endDate = endDate.replace("-", "%2F");
95
			//endDate = endDate.replace("-", "%2F");
80
		
-
 
81
		
-
 
82
		HttpClient client = new DefaultHttpClient();
-
 
83
		
-
 
84
		HttpGet get = new HttpGet("http://selleraccounts.snapdeal.com/keymaker/login");
-
 
85
		HttpResponse response = null;
-
 
86
		try {
-
 
87
			response = client.execute(get);
-
 
88
		} catch (ClientProtocolException e) {
-
 
89
 
-
 
90
			e.printStackTrace();
-
 
91
		} catch (IOException e) {
-
 
92
 
-
 
93
			e.printStackTrace();
-
 
94
		}
-
 
95
		BufferedReader rd = null;
-
 
96
		try {
-
 
97
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
98
		} catch (IllegalStateException e1) {
-
 
99
 
-
 
100
			e1.printStackTrace();
-
 
101
		} catch (IOException e1) {
-
 
102
 
-
 
103
			e1.printStackTrace();
-
 
104
		}
-
 
105
		String line = "";
-
 
106
		StringBuffer sb = new StringBuffer();
-
 
107
		try {
-
 
108
			while ((line = rd.readLine()) != null) {
-
 
109
				sb.append(line);
-
 
110
				//System.out.println(line);
-
 
111
			}
-
 
112
		} catch (IOException e) {
-
 
113
 
-
 
114
			e.printStackTrace();
-
 
115
		}
-
 
116
		int i= sb.toString().indexOf("name=\"lt\" value=");
-
 
117
		char[] charArray = sb.toString().toCharArray();
-
 
118
		String lt = "";
-
 
119
		int j=0;
-
 
120
		for(j=i+16;j<=charArray.length;j++){
-
 
121
 
-
 
122
			if(charArray[j]==' '){
-
 
123
				break;
-
 
124
			}
-
 
125
		}
-
 
126
		lt = sb.substring(i+17,j-1);
-
 
127
		System.out.println("LT VALUE " + lt);
-
 
128
		i= sb.toString().indexOf("name=\"execution\" value=");
-
 
129
		charArray = sb.toString().toCharArray();
-
 
130
		
-
 
131
		String ex = "";
-
 
132
		j=0;
-
 
133
		for(j=i+24;j<=charArray.length;j++){
-
 
134
			if(charArray[j]==' '){
-
 
135
				break;
-
 
136
			}
-
 
137
		}
-
 
138
		ex = sb.substring(i+24,j-1);
-
 
139
		System.out.println("EXECUTION VALUE " + ex);	
-
 
140
		
-
 
141
		
-
 
142
		
-
 
143
		HttpPost post = new HttpPost("http://selleraccounts.snapdeal.com/login?service=http%3A%2F%2Fshipping.snapdeal.com%2Fj_spring_cas_security_check");
-
 
144
		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
-
 
145
		//nameValuePairs.add(new BasicNameValuePair("username",
-
 
146
		//"khushal.bhatia@saholic.com"));
-
 
147
		nameValuePairs.add(new BasicNameValuePair("username",
-
 
148
		"saholic-snapdeal@saholic.com"));
-
 
149
		//nameValuePairs.add(new BasicNameValuePair("password",
-
 
150
		//"sonline"));
-
 
151
		nameValuePairs.add(new BasicNameValuePair("password",
-
 
152
		"snapsaholic"));
-
 
153
		nameValuePairs.add(new BasicNameValuePair("_eventId","submit"));
-
 
154
		nameValuePairs.add(new BasicNameValuePair("execution",ex));
-
 
155
		nameValuePairs.add(new BasicNameValuePair("lt",lt));
-
 
156
		nameValuePairs.add(new BasicNameValuePair("submit","LOGIN"));
-
 
157
		post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
-
 
158
		//response = null;
-
 
159
		try {
-
 
160
			response = client.execute(post);
-
 
161
		} catch (Exception e) {
-
 
162
			logger.error("Unable to get Http Response for snapdeal seller portal login", e);
-
 
163
		}
-
 
164
		try {
-
 
165
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
166
		} catch (Exception e1) {
-
 
167
			logger.error("Unable to read Http Response for snapdeal seller portal login", e1);
-
 
168
		} 
-
 
169
 
-
 
170
		//Striline = "";
-
 
171
		try {
-
 
172
			while ((line = rd.readLine()) != null) {
-
 
173
				System.out.println(line);
-
 
174
			}
-
 
175
		} catch (Exception e) {
-
 
176
			logger.error("Unable to extract Http Response for snapdeal seller portal login", e);
-
 
177
		}
-
 
178
 
96
 
179
		JSONArray jsonDataObj = null;
-
 
180
		JSONArray jsonDataShip = null;
-
 
181
		String line1 = "";
-
 
182
		
-
 
183
		for(long start = start_date.getTime(); start < end_date.getTime();){
-
 
184
			long end = start + 604800000l;
-
 
185
			if(end > end_date.getTime()){
-
 
186
				end = end_date.getTime();
-
 
187
			}
-
 
188
			startDate = snapdealDateFormat.format(new Date(start));
-
 
189
			startDate = startDate.replace("-", "%2F");
-
 
190
			endDate = snapdealDateFormat.format(new Date(end));
-
 
191
			endDate = endDate.replace("-", "%2F");
-
 
192
			
-
 
193
			logger.info("==== Start Date.."+startDate+"\n");
-
 
194
			logger.info("==== End Date.."+endDate+"\n");
-
 
195
			
-
 
196
			
-
 
197
			logger.info("Getting Delivery Information for DropShip Snapdeal Orders");
-
 
198
			//http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch?statusCode=COURIER_DELIVERED&dispatchCategoryId=0&startDate=2014%2F04%2F01&endDate=2014%2F04%2F07&statusColumn=deliveredOn
-
 
199
			String dropshipUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?startDate="+startDate+"&endDate="+endDate+"&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0";
-
 
200
			logger.info("Drop Ship Url "+dropshipUrl);
-
 
201
 
97
 
202
			get = new HttpGet(dropshipUrl);
98
			HttpClient client = new DefaultHttpClient();
203
 
99
 
-
 
100
			HttpGet get = new HttpGet("http://selleraccounts.snapdeal.com/keymaker/login");
-
 
101
			HttpResponse response = null;
204
			try {
102
			try {
205
				response = client.execute(get);
103
				response = client.execute(get);
206
			} catch (Exception e) {
104
			} catch (Exception e) {
-
 
105
				e.printStackTrace();
207
				logger.error("Unable to get Http Response for snapdeal dropship delivered orders", e);
106
				throw new Exception("Excption while login to snapdeal panel");
208
			} 
107
			} 
209
 
-
 
-
 
108
			BufferedReader rd = null;
210
			try {
109
			try {
211
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
110
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
212
			} catch (Exception e) {
111
			} catch (Exception e1) {
-
 
112
				e1.printStackTrace();
213
				logger.error("Unable to read Http Response for snapdeal dropship delivered orders", e);
113
				throw new Exception("Excption while reading login response");
214
			} 
114
			} 
215
 
-
 
216
 
-
 
-
 
115
			String line = "";
-
 
116
			StringBuffer sb = new StringBuffer();
217
			try {
117
			try {
218
				
-
 
219
				String resP = rd.readLine();
118
				while ((line = rd.readLine()) != null) {
220
				jsonDataObj = new JSONArray("["+resP+"]");
119
					sb.append(line);
221
				JSONObject j1 = (JSONObject)jsonDataObj.get(0);
120
					//System.out.println(line);
222
				jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
-
 
-
 
121
				}
223
			} catch (Exception e) {
122
			} catch (IOException e) {
-
 
123
				e.printStackTrace();
224
				logger.error("Unable to extract Http Response for snapdeal dropship delivered orders", e);
124
				throw new Exception("Excption while reading login response");
225
			} 
125
			}
-
 
126
			int i= sb.toString().indexOf("name=\"lt\" value=");
-
 
127
			char[] charArray = sb.toString().toCharArray();
-
 
128
			String lt = "";
226
			 
129
			int j=0;
-
 
130
			for(j=i+16;j<=charArray.length;j++){
227
 
131
 
228
			if(jsonDataShip!=null && jsonDataShip.length()>0){
-
 
229
				for(i=0; i< jsonDataShip.length(); i++){
132
				if(charArray[j]==' '){
230
					JSONObject jsonObj = null;
133
					break;
231
					try {
134
				}
232
						jsonObj = jsonDataShip.getJSONObject(i);
-
 
233
 
135
			}
234
						if(jsonObj!=null){
136
			lt = sb.substring(i+17,j-1);
235
							String subOrderCode =(String) jsonObj.get("suborderCode");
137
			System.out.println("LT VALUE " + lt);
236
							String referenceNumber =(String) jsonObj.get("referenceCode");
-
 
237
							String deliveryDate =(String) jsonObj.get("deliveredOn");
-
 
238
							logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
239
							deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
-
 
240
							List<String> deliveredOrdelList = new ArrayList<String>();
138
			i= sb.toString().indexOf("name=\"execution\" value=");
241
							deliveredOrdelList.add(referenceNumber);
-
 
242
							deliveredOrdelList.add(subOrderCode);
139
			charArray = sb.toString().toCharArray();
-
 
140
 
243
							deliveredOrdelList.add(deliveryDate);
141
			String ex = "";
244
							deliveredOrderDataList.add(deliveredOrdelList);
-
 
245
						}
142
			j=0;
-
 
143
			for(j=i+24;j<=charArray.length;j++){
246
					} catch (Exception e) {
144
				if(charArray[j]==' '){
247
						logger.error("Unable to add delivered order details for updation regarding snapdeal dropship delivered orders", e);
-
 
248
					}
145
					break;
249
				}
146
				}
250
			}
147
			}
251
			
-
 
252
			logger.info("Getting Delivery Information for OneShip Snapdeal Orders");
148
			ex = sb.substring(i+24,j-1);
253
			//statusCode=CLD&dispatchCategoryId=0&startDate=2013%2F11%2F01&endDate=2013%2F11%2F07&statusColumn=cancelledOn
-
 
254
			String oneShipUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?startDate="+startDate+"&endDate="+endDate+"&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0";
-
 
255
			logger.info("One Ship Url "+oneShipUrl);
149
			System.out.println("EXECUTION VALUE " + ex);	
256
 
150
 
257
			get = new HttpGet(oneShipUrl);	
-
 
258
 
151
 
259
			try {
-
 
260
				response = client.execute(get);
-
 
261
			} catch (Exception e) {
-
 
262
				logger.error("Unable to get Http Response for snapdeal oneship delivered orders", e);
-
 
263
			} 
-
 
264
 
152
 
-
 
153
			HttpPost post = new HttpPost("http://selleraccounts.snapdeal.com/login?service=http%3A%2F%2Fshipping.snapdeal.com%2Fj_spring_cas_security_check");
-
 
154
			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
-
 
155
			//nameValuePairs.add(new BasicNameValuePair("username",
-
 
156
			//"khushal.bhatia@saholic.com"));
-
 
157
			nameValuePairs.add(new BasicNameValuePair("username",
-
 
158
			"saholic-snapdeal@saholic.com"));
-
 
159
			//nameValuePairs.add(new BasicNameValuePair("password",
-
 
160
			//"sonline"));
-
 
161
			nameValuePairs.add(new BasicNameValuePair("password",
-
 
162
			"snapsaholic"));
-
 
163
			nameValuePairs.add(new BasicNameValuePair("_eventId","submit"));
-
 
164
			nameValuePairs.add(new BasicNameValuePair("execution",ex));
-
 
165
			nameValuePairs.add(new BasicNameValuePair("lt",lt));
-
 
166
			nameValuePairs.add(new BasicNameValuePair("submit","LOGIN"));
-
 
167
			post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
-
 
168
			//response = null;
265
			try {
169
			try {
266
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
170
				response = client.execute(post);
267
			} catch (Exception e) {
171
			} catch (Exception e) {
268
				logger.error("Unable to read Http Response for snapdeal oneship delivered orders", e);
172
				logger.error("Unable to get Http Response for snapdeal seller portal login", e);
269
			}
173
			}
270
			
-
 
271
			try {
174
			try {
-
 
175
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
272
				String resP = rd.readLine();
176
			} catch (Exception e1) {
273
				jsonDataObj = new JSONArray("["+resP+"]");
177
				logger.error("Unable to read Http Response for snapdeal seller portal login", e1);
-
 
178
				throw new Exception("Unable to read Http Response for snapdeal seller portal login");
-
 
179
			} 
-
 
180
 
-
 
181
			//Striline = "";
-
 
182
			try {
274
				JSONObject j1 = (JSONObject)jsonDataObj.get(0);
183
				while ((line = rd.readLine()) != null) {
275
				jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
184
					System.out.println(line);
-
 
185
				}
276
			} catch (Exception e) {
186
			} catch (Exception e) {
277
				logger.error("Unable to extract Http Response for snapdeal oneship delivered orders", e);
187
				logger.error("Unable to extract Http Response for snapdeal seller portal login", e);
-
 
188
				throw new Exception("Unable to extract Http Response for snapdeal seller portal login");
278
			}
189
			}
279
			
-
 
280
			if(jsonDataShip!=null && jsonDataShip.length()>0){
-
 
281
				for(i=0; i< jsonDataShip.length(); i++){
-
 
282
					JSONObject jsonObj = null;
-
 
283
					try {
-
 
284
						jsonObj = jsonDataShip.getJSONObject(i);
-
 
285
 
-
 
286
						if(jsonObj!=null){
-
 
287
							String subOrderCode =(String) jsonObj.get("suborderCode");
-
 
288
							String referenceNumber =(String) jsonObj.get("referenceCode");
-
 
289
							String deliveryDate =(String) jsonObj.get("deliveredOn");
-
 
290
							logger.info("Snapdeal Oneship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
291
							deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
-
 
292
							List<String> deliveredOrdelList = new ArrayList<String>();
-
 
293
							deliveredOrdelList.add(referenceNumber);
-
 
294
							deliveredOrdelList.add(subOrderCode);
-
 
295
							deliveredOrdelList.add(deliveryDate);
-
 
296
 
190
 
-
 
191
			JSONArray jsonDataObj = null;
-
 
192
			JSONArray jsonDataShip = null;
-
 
193
			String line1 = "";
-
 
194
 
-
 
195
			for(long start = start_date.getTime(); start < end_date.getTime();){
-
 
196
				long end = start + 604800000l;
-
 
197
				if(end > end_date.getTime()){
-
 
198
					end = end_date.getTime();
-
 
199
				}
-
 
200
				startDate = snapdealDateFormat.format(new Date(start));
-
 
201
				startDate = startDate.replace("-", "%2F");
-
 
202
				endDate = snapdealDateFormat.format(new Date(end));
-
 
203
				endDate = endDate.replace("-", "%2F");
-
 
204
 
-
 
205
				logger.info("==== Start Date.."+startDate+"\n");
-
 
206
				logger.info("==== End Date.."+endDate+"\n");
-
 
207
 
-
 
208
 
-
 
209
				/*logger.info("Getting Delivery Information for DropShip Snapdeal Orders");
-
 
210
				//http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch?statusCode=COURIER_DELIVERED&dispatchCategoryId=0&startDate=2014%2F04%2F01&endDate=2014%2F04%2F07&statusColumn=deliveredOn
-
 
211
				String dropshipUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?startDate="+startDate+"&endDate="+endDate+"&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0";
-
 
212
				logger.info("Drop Ship Url "+dropshipUrl);
-
 
213
 
-
 
214
				get = new HttpGet(dropshipUrl);
-
 
215
 
-
 
216
				try {
-
 
217
					response = client.execute(get);
-
 
218
				} catch (Exception e) {
-
 
219
					logger.error("Unable to get Http Response for snapdeal dropship delivered orders", e);
-
 
220
				} 
-
 
221
 
-
 
222
				try {
-
 
223
					rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
224
				} catch (Exception e) {
-
 
225
					logger.error("Unable to read Http Response for snapdeal dropship delivered orders", e);
-
 
226
				} 
-
 
227
 
-
 
228
 
-
 
229
				try {
-
 
230
 
-
 
231
					String resP = rd.readLine();
-
 
232
					jsonDataObj = new JSONArray("["+resP+"]");
-
 
233
					JSONObject j1 = (JSONObject)jsonDataObj.get(0);
-
 
234
					jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
-
 
235
				} catch (Exception e) {
-
 
236
					logger.error("Unable to extract Http Response for snapdeal dropship delivered orders", e);
-
 
237
				} 
-
 
238
 
-
 
239
 
-
 
240
				if(jsonDataShip!=null && jsonDataShip.length()>0){
-
 
241
					for(i=0; i< jsonDataShip.length(); i++){
-
 
242
						JSONObject jsonObj = null;
-
 
243
						try {
-
 
244
							jsonObj = jsonDataShip.getJSONObject(i);
-
 
245
 
-
 
246
							if(jsonObj!=null){
-
 
247
								String subOrderCode =(String) jsonObj.get("suborderCode");
-
 
248
								String referenceNumber =(String) jsonObj.get("referenceCode");
-
 
249
								String deliveryDate =(String) jsonObj.get("deliveredOn");
-
 
250
								logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
251
								deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
-
 
252
								List<String> deliveredOrdelList = new ArrayList<String>();
-
 
253
								deliveredOrdelList.add(referenceNumber);
-
 
254
								deliveredOrdelList.add(subOrderCode);
-
 
255
								deliveredOrdelList.add(deliveryDate);
297
							deliveredOrderDataList.add(deliveredOrdelList);
256
								deliveredOrderDataList.add(deliveredOrdelList);
-
 
257
							}
-
 
258
						} catch (Exception e) {
-
 
259
							logger.error("Unable to add delivered order details for updation regarding snapdeal dropship delivered orders", e);
298
						}
260
						}
299
					} catch (Exception e) {
-
 
300
						logger.error("Unable to add delivered order details for updation regarding snapdeal oneship delivered orders", e);
-
 
301
					}
261
					}
-
 
262
				}*/
-
 
263
 
-
 
264
				logger.info("Getting Delivery Information for OneShip Snapdeal Orders");
-
 
265
				//statusCode=CLD&dispatchCategoryId=0&startDate=2013%2F11%2F01&endDate=2013%2F11%2F07&statusColumn=cancelledOn
-
 
266
				String oneShipUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?startDate="+startDate+"&endDate="+endDate+"&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0";
-
 
267
				logger.info("One Ship Url "+oneShipUrl);
-
 
268
 
-
 
269
				get = new HttpGet(oneShipUrl);	
-
 
270
 
-
 
271
				try {
-
 
272
					response = client.execute(get);
-
 
273
				} catch (Exception e) {
-
 
274
					logger.error("Unable to get Http Response for snapdeal oneship delivered orders", e);
-
 
275
					throw new Exception("Unable to get Http Response for snapdeal oneship delivered orders");
-
 
276
				} 
-
 
277
 
-
 
278
				try {
-
 
279
					rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
280
				} catch (Exception e) {
-
 
281
					logger.error("Unable to read Http Response for snapdeal oneship delivered orders", e);
-
 
282
					throw new Exception("Unable to read Http Response for snapdeal oneship delivered orders");
302
				}
283
				}
303
			}
-
 
304
			
-
 
305
			
-
 
306
			logger.info("Getting Information for Cancelled DropShip Snapdeal Orders");
-
 
307
			String dropshipCancelUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?statusCode=CLD&dispatchCategoryId=0&startDate="+startDate+"&endDate="+endDate+"&statusColumn=cancelledOn";
-
 
308
			logger.info("Drop Ship Cancel Url "+dropshipCancelUrl);
-
 
309
 
284
 
310
			get = new HttpGet(dropshipCancelUrl);
-
 
311
			
-
 
312
			try {
285
				try {
313
				response = client.execute(get);
286
					String resP = rd.readLine();
-
 
287
					jsonDataObj = new JSONArray("["+resP+"]");
-
 
288
					JSONObject j1 = (JSONObject)jsonDataObj.get(0);
-
 
289
					jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
314
			} catch (Exception e) {
290
				} catch (Exception e) {
315
				logger.error("Unable to get Http Response for snapdeal dropship cancelled orders", e);
291
					logger.error("Unable to extract Http Response for snapdeal oneship delivered orders", e);
-
 
292
					throw new Exception("Unable to extract Http Response for snapdeal oneship delivered orders");
316
			} 
293
				}
317
 
294
 
-
 
295
				if(jsonDataShip!=null && jsonDataShip.length()>0){
-
 
296
					for(i=0; i< jsonDataShip.length(); i++){
-
 
297
						JSONObject jsonObj = null;
318
			try {
298
						try {
-
 
299
							jsonObj = jsonDataShip.getJSONObject(i);
-
 
300
 
-
 
301
							if(jsonObj!=null){
-
 
302
								String subOrderCode =(String) jsonObj.get("suborderCode");
319
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
303
								String referenceNumber =(String) jsonObj.get("referenceCode");
-
 
304
								String deliveryDate =(String) jsonObj.get("deliveredOn");
-
 
305
								logger.info("Snapdeal Oneship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
306
								deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
-
 
307
								List<String> deliveredOrdelList = new ArrayList<String>();
-
 
308
								deliveredOrdelList.add(referenceNumber);
-
 
309
								deliveredOrdelList.add(subOrderCode);
-
 
310
								deliveredOrdelList.add(deliveryDate);
-
 
311
 
-
 
312
								deliveredOrderDataList.add(deliveredOrdelList);
-
 
313
							}
320
			} catch (Exception e) {
314
						} catch (Exception e) {
321
				logger.error("Unable to read Http Response for snapdeal dropship cancelled orders", e);
315
							logger.error("Unable to add delivered order details for updation regarding snapdeal oneship delivered orders", e);
-
 
316
							throw new Exception("Unable to add delivered order details for updation regarding snapdeal oneship delivered orders");
-
 
317
						}
322
			}
318
					}
323
			
319
				}
-
 
320
 
-
 
321
 
-
 
322
				/*logger.info("Getting Information for Cancelled DropShip Snapdeal Orders");
-
 
323
				String dropshipCancelUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?statusCode=CLD&dispatchCategoryId=0&startDate="+startDate+"&endDate="+endDate+"&statusColumn=cancelledOn";
-
 
324
				logger.info("Drop Ship Cancel Url "+dropshipCancelUrl);
-
 
325
 
-
 
326
				get = new HttpGet(dropshipCancelUrl);
-
 
327
 
324
			try {
328
				try {
325
				String resP = rd.readLine();
329
					response = client.execute(get);
326
				jsonDataObj = new JSONArray("["+resP+"]");
330
				} catch (Exception e) {
327
				JSONObject j1 = (JSONObject)jsonDataObj.get(0);
331
					logger.error("Unable to get Http Response for snapdeal dropship cancelled orders", e);
-
 
332
				} 
-
 
333
 
-
 
334
				try {
328
				jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
335
					rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
329
			} catch (Exception e) {
336
				} catch (Exception e) {
330
				logger.error("Unable to extract Http Response for snapdeal dropship cancelled orders", e);
337
					logger.error("Unable to read Http Response for snapdeal dropship cancelled orders", e);
331
			} 
338
				}
332
 
339
 
-
 
340
				try {
-
 
341
					String resP = rd.readLine();
-
 
342
					jsonDataObj = new JSONArray("["+resP+"]");
-
 
343
					JSONObject j1 = (JSONObject)jsonDataObj.get(0);
-
 
344
					jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
-
 
345
				} catch (Exception e) {
-
 
346
					logger.error("Unable to extract Http Response for snapdeal dropship cancelled orders", e);
-
 
347
				} 
-
 
348
 
333
			if(jsonDataShip!=null && jsonDataShip.length()>0){
349
				if(jsonDataShip!=null && jsonDataShip.length()>0){
334
				for(i=0; i< jsonDataShip.length(); i++){
350
					for(i=0; i< jsonDataShip.length(); i++){
335
					JSONObject jsonObj = null;
351
						JSONObject jsonObj = null;
336
					try {
352
						try {
337
						jsonObj = jsonDataShip.getJSONObject(i);
353
							jsonObj = jsonDataShip.getJSONObject(i);
338
 
354
 
339
						if(jsonObj!=null){
355
							if(jsonObj!=null){
340
							String subOrderCode =(String) jsonObj.get("suborderCode");
356
								String subOrderCode =(String) jsonObj.get("suborderCode");
341
							String referenceNumber =(String) jsonObj.get("referenceCode");
357
								String referenceNumber =(String) jsonObj.get("referenceCode");
342
							logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
358
								logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
343
							List<String> cancelledOrdelList = new ArrayList<String>();
359
								List<String> cancelledOrdelList = new ArrayList<String>();
344
							cancelledOrdelList.add(referenceNumber);
360
								cancelledOrdelList.add(referenceNumber);
345
							cancelledOrdelList.add(subOrderCode);
361
								cancelledOrdelList.add(subOrderCode);
346
							cancelledOrderDataList.add(cancelledOrdelList);
362
								cancelledOrderDataList.add(cancelledOrdelList);
-
 
363
							}
-
 
364
						} catch (Exception e) {
-
 
365
							logger.error("Unable to add cancelled order details for updation regarding snapdeal dropship orders", e);
347
						}
366
						}
348
					} catch (Exception e) {
-
 
349
						logger.error("Unable to add cancelled order details for updation regarding snapdeal dropship orders", e);
-
 
350
					}
367
					}
-
 
368
				}*/
-
 
369
 
-
 
370
				logger.info("Getting Information for OneShip Snapdeal Cancelled Orders");
-
 
371
				String oneShipCancelUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?statusCode=CLD&dispatchCategoryId=0&startDate="+startDate+"&endDate="+endDate+"&statusColumn=cancelledOn";
-
 
372
				logger.info("One Ship Cancel Url "+oneShipCancelUrl);
-
 
373
 
-
 
374
				get = new HttpGet(oneShipCancelUrl);
-
 
375
 
-
 
376
				try {
-
 
377
					response = client.execute(get);
-
 
378
				} catch (Exception e) {
-
 
379
					logger.error("Unable to get Http Response for snapdeal oneship cancelled orders", e);
-
 
380
					throw new Exception("Unable to get Http Response for snapdeal oneship cancelled orders");
-
 
381
				} 
-
 
382
 
-
 
383
				try {
-
 
384
					rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
385
				} catch (Exception e) {
-
 
386
					logger.error("Unable to read Http Response for snapdeal oneship cancelled orders", e);
-
 
387
					throw new Exception("Unable to read Http Response for snapdeal oneship cancelled orders");
351
				}
388
				}
352
			}
-
 
353
			
-
 
354
			logger.info("Getting Information for OneShip Snapdeal Cancelled Orders");
-
 
355
			String oneShipCancelUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?statusCode=CLD&dispatchCategoryId=0&startDate="+startDate+"&endDate="+endDate+"&statusColumn=cancelledOn";
-
 
356
			logger.info("One Ship Cancel Url "+oneShipCancelUrl);
-
 
357
			
-
 
358
			get = new HttpGet(oneShipCancelUrl);
-
 
359
			
-
 
360
			try {
-
 
361
				response = client.execute(get);
-
 
362
			} catch (Exception e) {
-
 
363
				logger.error("Unable to get Http Response for snapdeal oneship cancelled orders", e);
-
 
364
			} 
-
 
365
 
389
 
366
			try {
390
				try {
367
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
368
			} catch (Exception e) {
-
 
369
				logger.error("Unable to read Http Response for snapdeal oneship cancelled orders", e);
-
 
370
			}
-
 
371
			
-
 
372
			try {
-
 
373
				String resP = rd.readLine();
391
					String resP = rd.readLine();
374
				jsonDataObj = new JSONArray("["+resP+"]");
392
					jsonDataObj = new JSONArray("["+resP+"]");
375
				JSONObject j1 = (JSONObject)jsonDataObj.get(0);
393
					JSONObject j1 = (JSONObject)jsonDataObj.get(0);
376
				jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
394
					jsonDataShip = new JSONArray(j1.get("jsonDataString").toString());
377
			} catch (Exception e) {
395
				} catch (Exception e) {
378
				logger.error("Unable to extract Http Response for snapdeal oneship cancelled orders", e);
396
					logger.error("Unable to extract Http Response for snapdeal oneship cancelled orders", e);
-
 
397
					throw new Exception("Unable to extract Http Response for snapdeal oneship cancelled orders");
379
			} 
398
				} 
380
			
399
 
381
			if(jsonDataShip!=null && jsonDataShip.length()>0){
400
				if(jsonDataShip!=null && jsonDataShip.length()>0){
382
				for(i=0; i< jsonDataShip.length(); i++){
401
					for(i=0; i< jsonDataShip.length(); i++){
383
					JSONObject jsonObj = null;
402
						JSONObject jsonObj = null;
384
					try {
403
						try {
385
						jsonObj = jsonDataShip.getJSONObject(i);
404
							jsonObj = jsonDataShip.getJSONObject(i);
386
 
405
 
387
						if(jsonObj!=null){
406
							if(jsonObj!=null){
388
							String subOrderCode =(String) jsonObj.get("suborderCode");
407
								String subOrderCode =(String) jsonObj.get("suborderCode");
389
							String referenceNumber =(String) jsonObj.get("referenceCode");
408
								String referenceNumber =(String) jsonObj.get("referenceCode");
390
							logger.info("Snapdeal OneShip Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
409
								logger.info("Snapdeal OneShip Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
391
							List<String> cancelledOrdelList = new ArrayList<String>();
410
								List<String> cancelledOrdelList = new ArrayList<String>();
392
							cancelledOrdelList.add(referenceNumber);
411
								cancelledOrdelList.add(referenceNumber);
393
							cancelledOrdelList.add(subOrderCode);
412
								cancelledOrdelList.add(subOrderCode);
394
							cancelledOrderDataList.add(cancelledOrdelList);
413
								cancelledOrderDataList.add(cancelledOrdelList);
-
 
414
							}
-
 
415
						} catch (Exception e) {
-
 
416
							logger.error("Unable to add cancelled order details for updation regarding snapdeal oneship orders", e);
-
 
417
							throw new Exception("Unable to add cancelled order details for updation regarding snapdeal oneship orders");
395
						}
418
						}
396
					} catch (Exception e) {
-
 
397
						logger.error("Unable to add cancelled order details for updation regarding snapdeal oneship orders", e);
-
 
398
					}
419
					}
399
				}
420
				}
-
 
421
 
-
 
422
 
-
 
423
				start = end + 86400000l;
400
			}
424
			}
401
			
-
 
402
			
-
 
403
			start = end + 86400000l;
-
 
404
		}
425
 
405
     
-
 
406
		if(deliveredOrderDataList!=null && deliveredOrderDataList.size()>0){
426
			if(deliveredOrderDataList!=null && deliveredOrderDataList.size()>0){
407
			logger.info("Delivered Orders Size .. "+deliveredOrderDataList.size());
427
				logger.info("Delivered Orders Size .. "+deliveredOrderDataList.size());
408
			orderDataMap.put("Delivered", deliveredOrderDataList);
428
				orderDataMap.put("Delivered", deliveredOrderDataList);
409
		}
-
 
410
		
-
 
411
		if(cancelledOrderDataList!=null && cancelledOrderDataList.size()>0){
-
 
412
			logger.info("Cancelled Orders Size .. "+cancelledOrderDataList.size());
-
 
413
			orderDataMap.put("Cancelled", cancelledOrderDataList);
-
 
414
		}
-
 
415
		
-
 
416
		if(orderDataMap!=null && orderDataMap.size()>0){
-
 
417
			try{
-
 
418
				new TransactionClient().getClient().updateSnapdealOrdersStatus(orderDataMap);
-
 
419
			} catch(Exception e){
-
 
420
				logger.error("Unable to update delivery information for snapdeal orders", e);
-
 
421
			}
429
			}
422
		}
-
 
423
 
430
 
-
 
431
			if(cancelledOrderDataList!=null && cancelledOrderDataList.size()>0){
-
 
432
				logger.info("Cancelled Orders Size .. "+cancelledOrderDataList.size());
-
 
433
				orderDataMap.put("Cancelled", cancelledOrderDataList);
-
 
434
			}
-
 
435
 
-
 
436
			if(orderDataMap!=null && orderDataMap.size()>0){
-
 
437
				try{
-
 
438
					new TransactionClient().getClient().updateSnapdealOrdersStatus(orderDataMap);
-
 
439
				} catch(Exception e){
-
 
440
					logger.error("Unable to update delivery information for snapdeal orders", e);
-
 
441
					throw new Exception("Unable to update delivery information for snapdeal orders");
-
 
442
				}
-
 
443
			}
-
 
444
 
-
 
445
		}
-
 
446
		catch(Exception e){
-
 
447
			e.printStackTrace();
-
 
448
			mailer.sendSSLMessage(sendTo, "Error in Snapdeal Order Status Recon", emailFromAddress, password, "<html><body><p>Please check log</p></body></html>");
-
 
449
		}
424
	}
450
	}
425
}
451
}
426
452