Subversion Repositories SmartDukaan

Rev

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

Rev 9883 Rev 9931
Line 1... Line 1...
1
package in.shop2020;
1
package in.shop2020;
2
 
2
 
3
import in.shop2020.model.v1.order.Order;
3
import in.shop2020.model.v1.order.Order;
4
import in.shop2020.model.v1.order.OrderSource;
4
import in.shop2020.model.v1.order.OrderSource;
5
import in.shop2020.model.v1.order.OrderStatus;
-
 
6
import in.shop2020.model.v1.order.SnapdealOrder;
-
 
7
import in.shop2020.thrift.clients.TransactionClient;
5
import in.shop2020.thrift.clients.TransactionClient;
8
 
-
 
9
import java.io.BufferedReader;
6
import java.io.BufferedReader;
10
import java.io.IOException;
7
import java.io.ByteArrayInputStream;
11
import java.io.InputStreamReader;
8
import java.io.InputStreamReader;
12
import java.io.UnsupportedEncodingException;
-
 
13
import java.text.SimpleDateFormat;
9
import java.text.SimpleDateFormat;
14
import java.util.ArrayList;
10
import java.util.ArrayList;
15
import java.util.Date;
11
import java.util.Date;
16
import java.util.HashMap;
12
import java.util.HashMap;
17
import java.util.List;
13
import java.util.List;
18
import java.util.Map;
14
import java.util.Map;
19
 
-
 
20
import org.apache.http.HttpResponse;
-
 
21
import org.apache.http.NameValuePair;
-
 
22
import org.apache.http.client.ClientProtocolException;
-
 
23
import org.apache.http.client.HttpClient;
-
 
24
import org.apache.http.client.entity.UrlEncodedFormEntity;
-
 
25
import org.apache.http.client.methods.HttpGet;
15
import org.apache.commons.httpclient.methods.GetMethod;
26
import org.apache.http.client.methods.HttpPost;
16
import org.apache.commons.httpclient.methods.PostMethod;
27
import org.apache.http.impl.client.DefaultHttpClient;
17
import org.apache.commons.httpclient.HttpClient;
28
import org.apache.http.message.BasicNameValuePair;
18
import org.apache.commons.httpclient.NameValuePair;
29
import org.apache.http.params.HttpParams;
-
 
30
import org.json.JSONArray;
19
import org.json.JSONArray;
31
import org.json.JSONException;
20
import org.json.JSONException;
32
import org.json.JSONObject;
21
import org.json.JSONObject;
33
import org.slf4j.Logger;
22
import org.slf4j.Logger;
34
import org.slf4j.LoggerFactory;
23
import org.slf4j.LoggerFactory;
35
 
24
 
36
public class SnapdealOrderStatusReconciliation{
25
public class SnapdealOrderStatusReconciliation{
37
	private static Logger logger;
26
	private static Logger logger;
38
 
27
 
39
	public static void main(String[] args) throws UnsupportedEncodingException{
28
	public static void main(String[] args){
40
		logger = LoggerFactory.getLogger(SnapdealOrderStatusReconciliation.class);
29
		logger = LoggerFactory.getLogger(SnapdealOrderStatusReconciliation.class);
41
		List<OrderStatus> statuses = new ArrayList<OrderStatus>();
-
 
42
		statuses.add(OrderStatus.SHIPPED_FROM_WH);
-
 
43
		statuses.add(OrderStatus.SHIPPED_TO_LOGST);
-
 
44
 
30
		
45
		Map<String,List<List<String>>> orderDataMap = new HashMap<String,List<List<String>>>();
31
		Map<String,List<List<String>>> orderDataMap = new HashMap<String,List<List<String>>>();
46
		List<List<String>> deliveredOrderDataList = new ArrayList<List<String>>();
32
		List<List<String>> deliveredOrderDataList = new ArrayList<List<String>>();
47
		List<List<String>> cancelledOrderDataList = new ArrayList<List<String>>();
33
		List<List<String>> cancelledOrderDataList = new ArrayList<List<String>>();
48
		long minCreationDate = 0l;
34
		long minCreationDate = 0l;
-
 
35
		long currentTime = System.currentTimeMillis();
49
		TransactionClient tsc = null;
36
		TransactionClient tsc = null;
50
		try {
37
		try {
51
			tsc = new TransactionClient();
38
			tsc = new TransactionClient();
52
			minCreationDate = tsc.getClient().getMinCreatedTimeStampUndeliveredOrdersForSource(OrderSource.SNAPDEAL.getValue());
39
			minCreationDate = tsc.getClient().getMinCreatedTimeStampUndeliveredOrdersForSource(OrderSource.SNAPDEAL.getValue());
-
 
40
			/*minCreationDate = 1383291412000l;*/
53
		} catch (Exception e) {
41
		} catch (Exception e) {
54
			logger.error("Unable to establish connection to the transaction service while getting Minimum Order Created Timstamp for Undelivered Orders ", e);
42
			logger.error("Unable to establish connection to the transaction service while getting Minimum Order Created Timstamp for Undelivered Orders ", e);
55
		}//Dec 14, 2013 12:00:00 AM  1383291412000l
43
		}//Dec 14, 2013 12:00:00 AM  1383291412000l
56
 
44
 
57
		SimpleDateFormat snapdealDateFormat = new SimpleDateFormat("yyyy-MM-dd");
45
		SimpleDateFormat snapdealDateFormat = new SimpleDateFormat("yyyy-MM-dd");
58
		SimpleDateFormat gotSnapdealDateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss aaa");
46
		SimpleDateFormat gotSnapdealDateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss aaa");
59
		SimpleDateFormat ourDBDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
47
		SimpleDateFormat ourDBDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
60
		String startDate= "";
48
		String startDate= "";
-
 
49
		Date start_date = new Date(minCreationDate);
-
 
50
		Date end_date = new Date(currentTime);
61
		if(minCreationDate > 0l){
51
		if(minCreationDate > 0l){
62
			startDate = snapdealDateFormat.format(new Date(minCreationDate));
52
			startDate = snapdealDateFormat.format(new Date(minCreationDate));
63
		}
53
		}
64
		else{
54
		else{
65
			startDate = snapdealDateFormat.format(new Date(System.currentTimeMillis()));
55
			startDate = snapdealDateFormat.format(new Date(currentTime));
66
		}
56
		}
67
		logger.info("Snapdeal Order Recon Start Date .. "+startDate);
57
		logger.info("Snapdeal Order Recon Start Date .. "+startDate);
68
		startDate = startDate.replace("-", "%2F");
58
		/*startDate = startDate.replace("-", "%2F");*/
69
 
59
 
70
		String endDate = snapdealDateFormat.format(new Date(System.currentTimeMillis()));
60
		String endDate = snapdealDateFormat.format(new Date(currentTime));
71
		logger.info("Snapdeal Order Recon End Date .. "+endDate);
61
		logger.info("Snapdeal Order Recon End Date .. "+endDate);
72
		endDate = endDate.replace("-", "%2F");
62
		/*endDate = endDate.replace("-", "%2F");*/
73
 
63
		
74
 
64
		
75
		HttpClient client = new DefaultHttpClient();
65
		HttpClient newClient = new HttpClient();
76
		HttpPost post = new HttpPost("http://shipping.snapdeal.com/login_security_check?spring-security-redirect=http://shipping.snapdeal.com/vendor/product-shipment/shippingDashboard&");
66
		PostMethod postMethod = new PostMethod("http://shipping.snapdeal.com/login_security_check?spring-security-redirect=http://shipping.snapdeal.com/vendor/product-shipment/shippingDashboard&");
77
		HttpGet get;
-
 
78
		BufferedReader rd= null;
-
 
79
 
-
 
80
		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
67
		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
81
		nameValuePairs.add(new BasicNameValuePair("j_username",
68
		nameValuePairs.add(new NameValuePair("j_username",
82
		"khushal.bhatia@saholic.com"));
69
		"khushal.bhatia@saholic.com"));
83
		nameValuePairs.add(new BasicNameValuePair("j_password",
70
		nameValuePairs.add(new NameValuePair("j_password",
84
		"s@h0l1c"));
71
		"s@h0l1c"));
-
 
72
		NameValuePair[] nameValuePairArray = new NameValuePair[nameValuePairs.size()];
-
 
73
		nameValuePairArray = nameValuePairs.toArray(nameValuePairArray);
85
		post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
74
		postMethod.addParameters(nameValuePairArray);
86
		HttpResponse response = null;
75
		BufferedReader rd = null;
-
 
76
		int statusCode = 0;
-
 
77
		
87
		try {
78
		try{
88
			response = client.execute(post);
79
			statusCode = newClient.executeMethod(postMethod);
89
		} catch (Exception e) {
80
		}catch(Exception e){
90
			logger.error("Unable to get Http Response for snapdeal seller portal login", e);
81
			logger.error("Unable to get Http Response for snapdeal seller portal login", e);
91
		}
82
		}
-
 
83
		
92
		try {
84
		try {
93
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
85
			rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(postMethod.getResponseBody())));
94
		} catch (Exception e1) {
86
		} catch (Exception e1) {
95
			logger.error("Unable to read Http Response for snapdeal seller portal login", e1);
87
			logger.error("Unable to read Http Response for snapdeal seller portal login", e1);
96
		} 
88
		} 
97
 
89
 
98
		String line = "";
90
		String line = "";
Line 101... Line 93...
101
				System.out.println(line);
93
				System.out.println(line);
102
			}
94
			}
103
		} catch (Exception e) {
95
		} catch (Exception e) {
104
			logger.error("Unable to extract Http Response for snapdeal seller portal login", e);
96
			logger.error("Unable to extract Http Response for snapdeal seller portal login", e);
105
		}
97
		}
106
 
-
 
107
		//http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?shippedStartDate=2014%2F01%2F01&shippedEndDate=2014%2F01%2F08&specialPanelAccess=&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0&sCode=COURIER_DELIVERED
-
 
108
 
-
 
109
		logger.info("Getting Delivery Information for DropShip Snapdeal Orders");
-
 
110
		String dropshipUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0&sCode=COURIER_DELIVERED";
-
 
111
		logger.info("Drop Ship Url "+dropshipUrl);
-
 
112
 
-
 
113
		get = new HttpGet(dropshipUrl);
-
 
114
 
-
 
115
		//HttpClient client1 = new DefaultHttpClient();
-
 
116
		
98
		
117
		try {
-
 
118
			response = client.execute(get);
-
 
119
		} catch (Exception e) {
-
 
120
			logger.error("Unable to get Http Response for snapdeal dropship delivered orders", e);
-
 
121
		} 
99
		
122
 
-
 
123
		try {
-
 
124
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
-
 
125
		} catch (Exception e) {
-
 
126
			logger.error("Unable to read Http Response for snapdeal dropship delivered orders", e);
-
 
127
		} 
-
 
128
 
-
 
129
		JSONArray jsonDataShip = null;
100
		JSONArray jsonDataShip = null;
130
		String line1 = "";
101
		String line1 = "";
131
		try {
-
 
132
			while ((line1 = rd.readLine()) != null) {
-
 
133
				if(line1.contains("jsonString")){
-
 
134
					String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
-
 
135
					logger.info("Response get from SnapDeal DropShip.. ");
-
 
136
					jsonDataShip = new JSONArray(jsonString);
-
 
137
					break;
-
 
138
				}
-
 
139
			}
-
 
140
		} catch (Exception e) {
-
 
141
			logger.error("Unable to extract Http Response for snapdeal dropship delivered orders", e);
-
 
142
		} 
-
 
143
 
102
 
144
		if(jsonDataShip!=null && jsonDataShip.length()>0){
103
		for(long start = start_date.getTime(); start < end_date.getTime();){
-
 
104
			long end = start + 604800000l;
145
			for(int i=0; i< jsonDataShip.length(); i++){
105
			if(end > end_date.getTime()){
146
				JSONObject jsonObj = null;
106
				end = end_date.getTime();
147
				try {
107
			}
-
 
108
			startDate = snapdealDateFormat.format(new Date(start));
148
					jsonObj = jsonDataShip.getJSONObject(i);
109
			startDate = startDate.replace("-", "%2F");
-
 
110
			endDate = snapdealDateFormat.format(new Date(end));
-
 
111
			endDate = endDate.replace("-", "%2F");
-
 
112
			
-
 
113
			logger.info("==== Start Date.."+startDate+"\n");
-
 
114
			logger.info("==== End Date.."+endDate+"\n");
149
 
115
 
-
 
116
			logger.info("Getting Delivery Information for DropShip Snapdeal Orders");
150
					if(jsonObj!=null){
117
			String dropshipUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0&sCode=COURIER_DELIVERED";
151
						//System.out.println(jsonObj);
118
			logger.info("Drop Ship Url "+dropshipUrl);
-
 
119
		
152
						String subOrderCode =(String) jsonObj.get("suborderCode");
120
			GetMethod getMethod = new GetMethod(dropshipUrl);
-
 
121
			
-
 
122
			
-
 
123
			try {
153
						String referenceNumber =(String) jsonObj.get("referenceNumber");
124
				statusCode = newClient.executeMethod(getMethod);
154
						String deliveryDate =(String) jsonObj.get("deliveredOn");
125
			} catch (Exception e) {
155
						//System.out.println("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
126
				logger.error("Unable to get Http Response for snapdeal dropship delivered orders", e);
-
 
127
			} 
-
 
128
 
-
 
129
			try {
156
						logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
130
				rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(getMethod.getResponseBody())));
-
 
131
			} catch (Exception e) {
157
						deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
132
				logger.error("Unable to read Http Response for snapdeal dropship delivered orders", e);
-
 
133
			} 
-
 
134
 
-
 
135
 
-
 
136
			try {
158
						List<String> deliveredOrdelList = new ArrayList<String>();
137
				while ((line1 = rd.readLine()) != null) {
159
						deliveredOrdelList.add(referenceNumber);
138
					if(line1.contains("jsonString")){
160
						deliveredOrdelList.add(subOrderCode);
139
						String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
161
						deliveredOrdelList.add(deliveryDate);
140
						logger.info("Response get from SnapDeal DropShip.. ");
162
						deliveredOrderDataList.add(deliveredOrdelList);
141
						jsonDataShip = new JSONArray(jsonString);
-
 
142
						break;
163
					}
143
					}
164
				} catch (Exception e) {
-
 
165
					logger.error("Unable to add delivered order details for updation regarding snapdeal dropship delivered orders", e);
-
 
166
				}
144
				}
167
			}
145
			} catch (Exception e) {
-
 
146
				logger.error("Unable to extract Http Response for snapdeal dropship delivered orders", e);
168
		}
147
			} 
169
 
148
 
170
		logger.info("Getting Delivery Information for OneShip Snapdeal Orders");
-
 
171
		String oneShipUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0&sCode=COURIER_DELIVERED";
149
			
172
		logger.info("One Ship Url "+oneShipUrl);
150
			if(jsonDataShip!=null && jsonDataShip.length()>0){
173
 
-
 
174
		get = new HttpGet(oneShipUrl);	
151
				for(int i=0; i< jsonDataShip.length(); i++){
175
 
-
 
176
		//HttpClient client2 = new DefaultHttpClient();
152
					JSONObject jsonObj = null;
177
		
-
 
178
		try {
153
					try {
179
			response = client.execute(get);
154
						jsonObj = jsonDataShip.getJSONObject(i);
180
		} catch (Exception e) {
-
 
181
			logger.error("Unable to get Http Response for snapdeal oneship delivered orders", e);
-
 
182
		} 
-
 
183
 
155
 
184
		try {
156
						if(jsonObj!=null){
-
 
157
							//System.out.println(jsonObj);
-
 
158
							String subOrderCode =(String) jsonObj.get("suborderCode");
185
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
159
							String referenceNumber =(String) jsonObj.get("referenceNumber");
186
		} catch (Exception e) {
160
							String deliveryDate =(String) jsonObj.get("deliveredOn");
-
 
161
							//System.out.println("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
162
							logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
187
			logger.error("Unable to read Http Response for snapdeal oneship delivered orders", e);
163
							deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
188
		} 
-
 
189
 
-
 
190
		try {
164
							List<String> deliveredOrdelList = new ArrayList<String>();
191
			while ((line1 = rd.readLine()) != null) {
165
							deliveredOrdelList.add(referenceNumber);
192
				if(line1.contains("jsonString")){
166
							deliveredOrdelList.add(subOrderCode);
193
					String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
167
							deliveredOrdelList.add(deliveryDate);
194
					logger.info("Response get from SnapDeal OneShip.. ");
168
							deliveredOrderDataList.add(deliveredOrdelList);
-
 
169
						}
195
					jsonDataShip = new JSONArray(jsonString);
170
					} catch (Exception e) {
-
 
171
						logger.error("Unable to add delivered order details for updation regarding snapdeal dropship delivered orders", e);
196
					break;
172
					}
197
				}
173
				}
198
			}
174
			}
-
 
175
			
199
		} catch (Exception e) {
176
			getMethod.releaseConnection();
200
			logger.error("Unable to extract Http Response for snapdeal oneship delivered orders", e);
-
 
201
		} 
177
			
202
 
178
			
-
 
179
			logger.info("Getting Delivery Information for OneShip Snapdeal Orders");
203
		if(jsonDataShip!=null && jsonDataShip.length()>0){
180
			String oneShipUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=COURIER_DELIVERED&statusColumn=deliveredOn&dispatchCategoryId=0&sCode=COURIER_DELIVERED";
204
			for(int i=0; i< jsonDataShip.length(); i++){
181
			logger.info("One Ship Url "+oneShipUrl);
-
 
182
			
205
				JSONObject jsonObj = null;
183
			getMethod = new GetMethod(oneShipUrl);
-
 
184
			
206
				try {
185
			try {
207
					jsonObj = jsonDataShip.getJSONObject(i);
186
				statusCode = newClient.executeMethod(getMethod);
-
 
187
			} catch (Exception e) {
-
 
188
				logger.error("Unable to get Http Response for snapdeal oneship delivered orders", e);
-
 
189
			} 
208
 
190
 
209
					if(jsonObj!=null){
191
			try {
-
 
192
				rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(getMethod.getResponseBody())));
210
						//System.out.println(jsonObj);
193
			} catch (Exception e) {
211
						String subOrderCode =(String) jsonObj.get("suborderCode");
194
				logger.error("Unable to read Http Response for snapdeal oneship delivered orders", e);
-
 
195
			} 
-
 
196
 
-
 
197
			try {
212
						String referenceNumber =(String) jsonObj.get("referenceNumber");
198
				while ((line1 = rd.readLine()) != null) {
213
						String deliveryDate =(String) jsonObj.get("deliveredOn");
199
					if(line1.contains("jsonString")){
214
						//System.out.println("Snapdeal Oneship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
215
						logger.info("Snapdeal Oneship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
216
						deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
-
 
217
						List<String> deliveredOrdelList = new ArrayList<String>();
200
						String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
218
						deliveredOrdelList.add(referenceNumber);
201
						logger.info("Response get from SnapDeal OneShip.. ");
219
						deliveredOrdelList.add(subOrderCode);
202
						jsonDataShip = new JSONArray(jsonString);
220
						deliveredOrdelList.add(deliveryDate);
203
						break;
221
 
-
 
222
						deliveredOrderDataList.add(deliveredOrdelList);
-
 
223
					}
204
					}
224
				} catch (Exception e) {
-
 
225
					logger.error("Unable to add delivered order details for updation regarding snapdeal oneship delivered orders", e);
-
 
226
				}
205
				}
227
			}
206
			} catch (Exception e) {
-
 
207
				logger.error("Unable to extract Http Response for snapdeal oneship delivered orders", e);
228
		}
208
			} 
229
 
209
 
230
		logger.info("Getting Information for Cancelled DropShip Snapdeal Orders");
-
 
231
		String dropshipCancelUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=CANCELLATION_COMPLETE&statusColumn=cancelledOn&dispatchCategoryId=0&sCode=CANCELLATION_COMPLETE";
210
			if(jsonDataShip!=null && jsonDataShip.length()>0){
232
		logger.info("Drop Ship Cancel Url "+dropshipCancelUrl);
211
				for(int i=0; i< jsonDataShip.length(); i++){
233
 
-
 
234
		get = new HttpGet(dropshipCancelUrl);
212
					JSONObject jsonObj = null;
235
		
-
 
236
		try {
213
					try {
237
			response = client.execute(get);
214
						jsonObj = jsonDataShip.getJSONObject(i);
238
		} catch (Exception e) {
-
 
239
			logger.error("Unable to get Http Response for snapdeal dropship cancelled orders", e);
-
 
240
		} 
-
 
241
 
215
 
242
		try {
216
						if(jsonObj!=null){
-
 
217
							//System.out.println(jsonObj);
-
 
218
							String subOrderCode =(String) jsonObj.get("suborderCode");
243
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
219
							String referenceNumber =(String) jsonObj.get("referenceNumber");
244
		} catch (Exception e) {
220
							String deliveryDate =(String) jsonObj.get("deliveredOn");
-
 
221
							//System.out.println("Snapdeal Oneship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
-
 
222
							logger.info("Snapdeal Oneship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber+ " ...deliveryDate... "+ deliveryDate);
245
			logger.error("Unable to read Http Response for snapdeal dropship cancelled orders", e);
223
							deliveryDate = ourDBDateFormat.format(gotSnapdealDateFormat.parse(deliveryDate).getTime());
246
		}
-
 
247
		
-
 
248
		try {
224
							List<String> deliveredOrdelList = new ArrayList<String>();
249
			while ((line1 = rd.readLine()) != null) {
225
							deliveredOrdelList.add(referenceNumber);
250
				if(line1.contains("jsonString")){
226
							deliveredOrdelList.add(subOrderCode);
251
					String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
227
							deliveredOrdelList.add(deliveryDate);
-
 
228
 
252
					logger.info("Response get from SnapDeal DropShip Cancelled Orders.. ");
229
							deliveredOrderDataList.add(deliveredOrdelList);
-
 
230
						}
253
					jsonDataShip = new JSONArray(jsonString);
231
					} catch (Exception e) {
-
 
232
						logger.error("Unable to add delivered order details for updation regarding snapdeal oneship delivered orders", e);
254
					break;
233
					}
255
				}
234
				}
256
			}
235
			}
-
 
236
			
-
 
237
			getMethod.releaseConnection();
-
 
238
			
-
 
239
			logger.info("Getting Information for Cancelled DropShip Snapdeal Orders");
-
 
240
			String dropshipCancelUrl = "http://shipping.snapdeal.com/vendor/DROPSHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=CANCELLATION_COMPLETE&statusColumn=cancelledOn&dispatchCategoryId=0&sCode=CANCELLATION_COMPLETE";
-
 
241
			logger.info("Drop Ship Cancel Url "+dropshipCancelUrl);
-
 
242
 
-
 
243
			getMethod = new GetMethod(dropshipCancelUrl);
-
 
244
 
-
 
245
			try {
-
 
246
				statusCode = newClient.executeMethod(getMethod);
257
		} catch (Exception e) {
247
			} catch (Exception e) {
258
			logger.error("Unable to extract Http Response for snapdeal dropship cancelled orders", e);
248
				logger.error("Unable to get Http Response for snapdeal dropship cancelled orders", e);
259
		} 
249
			} 
-
 
250
 
-
 
251
			try {
-
 
252
				rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(getMethod.getResponseBody())));
-
 
253
			} catch (Exception e) {
-
 
254
				logger.error("Unable to read Http Response for snapdeal dropship cancelled orders", e);
-
 
255
			}
260
 
256
 
-
 
257
			try {
-
 
258
				while ((line1 = rd.readLine()) != null) {
-
 
259
					if(line1.contains("jsonString")){
-
 
260
						String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
-
 
261
						logger.info("Response get from SnapDeal DropShip Cancelled Orders.. ");
-
 
262
						jsonDataShip = new JSONArray(jsonString);
-
 
263
						break;
-
 
264
					}
-
 
265
				}
-
 
266
			} catch (Exception e) {
-
 
267
				logger.error("Unable to extract Http Response for snapdeal dropship cancelled orders", e);
-
 
268
			} 
-
 
269
 
261
		if(jsonDataShip!=null && jsonDataShip.length()>0){
270
			if(jsonDataShip!=null && jsonDataShip.length()>0){
262
			for(int i=0; i< jsonDataShip.length(); i++){
271
				for(int i=0; i< jsonDataShip.length(); i++){
263
				JSONObject jsonObj = null;
272
					JSONObject jsonObj = null;
264
				try {
273
					try {
265
					jsonObj = jsonDataShip.getJSONObject(i);
274
						jsonObj = jsonDataShip.getJSONObject(i);
266
 
275
 
267
					if(jsonObj!=null){
276
						if(jsonObj!=null){
268
						//System.out.println(jsonObj);
277
							//System.out.println(jsonObj);
269
						String subOrderCode =(String) jsonObj.get("suborderCode");
278
							String subOrderCode =(String) jsonObj.get("suborderCode");
270
						String referenceNumber =(String) jsonObj.get("referenceNumber");
279
							String referenceNumber =(String) jsonObj.get("referenceNumber");
271
						//System.out.println("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
280
							//System.out.println("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
272
						logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
281
							logger.info("Snapdeal Dropship Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
273
						List<String> cancelledOrdelList = new ArrayList<String>();
282
							List<String> cancelledOrdelList = new ArrayList<String>();
274
						cancelledOrdelList.add(referenceNumber);
283
							cancelledOrdelList.add(referenceNumber);
275
						cancelledOrdelList.add(subOrderCode);
284
							cancelledOrdelList.add(subOrderCode);
276
						cancelledOrderDataList.add(cancelledOrdelList);
285
							cancelledOrderDataList.add(cancelledOrdelList);
-
 
286
						}
-
 
287
					} catch (Exception e) {
-
 
288
						logger.error("Unable to add cancelled order details for updation regarding snapdeal dropship orders", e);
277
					}
289
					}
278
				} catch (Exception e) {
-
 
279
					logger.error("Unable to add cancelled order details for updation regarding snapdeal dropship orders", e);
-
 
280
				}
290
				}
281
			}
291
			}
282
		}
-
 
283
		
-
 
284
		logger.info("Getting Information for OneShip Snapdeal Cancelled Orders");
-
 
285
		String oneShipCancelUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=CANCELLATION_COMPLETE&statusColumn=cancelledOn&dispatchCategoryId=0&sCode=CANCELLATION_COMPLETE";
-
 
286
		logger.info("One Ship Cancel Url "+oneShipCancelUrl);
-
 
287
		
-
 
288
		get = new HttpGet(oneShipCancelUrl);
-
 
289
		
-
 
290
		try {
-
 
291
			response = client.execute(get);
-
 
292
		} catch (Exception e) {
-
 
293
			logger.error("Unable to get Http Response for snapdeal oneship cancelled orders", e);
-
 
294
		} 
-
 
295
 
292
 
-
 
293
			getMethod.releaseConnection();
296
		try {
294
			
297
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
295
			logger.info("Getting Information for OneShip Snapdeal Cancelled Orders");
298
		} catch (Exception e) {
296
			String oneShipCancelUrl = "http://shipping.snapdeal.com/vendor/ONESHIP/product-shipment/shippedData/fetch/?shippedStartDate="+startDate+"&shippedEndDate="+endDate+"&specialPanelAccess=&statusCode=CANCELLATION_COMPLETE&statusColumn=cancelledOn&dispatchCategoryId=0&sCode=CANCELLATION_COMPLETE";
299
			logger.error("Unable to read Http Response for snapdeal oneship cancelled orders", e);
297
			logger.info("One Ship Cancel Url "+oneShipCancelUrl);
300
		}
298
 
-
 
299
			getMethod = new GetMethod(oneShipCancelUrl);
301
		
300
 
302
		try {
301
			try {
303
			while ((line1 = rd.readLine()) != null) {
302
				statusCode = newClient.executeMethod(getMethod);
304
				if(line1.contains("jsonString")){
303
			} catch (Exception e) {
305
					String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
-
 
306
					logger.info("Response get from SnapDeal OneShip Cancelled Orders.. ");
304
				logger.error("Unable to get Http Response for snapdeal oneship cancelled orders", e);
307
					jsonDataShip = new JSONArray(jsonString);
-
 
308
					break;
305
			} 
-
 
306
 
309
				}
307
			try {
-
 
308
				rd = new BufferedReader(new InputStreamReader(new ByteArrayInputStream(getMethod.getResponseBody())));
-
 
309
			} catch (Exception e) {
-
 
310
				logger.error("Unable to read Http Response for snapdeal oneship cancelled orders", e);
310
			}
311
			}
-
 
312
 
-
 
313
			try {
-
 
314
				while ((line1 = rd.readLine()) != null) {
-
 
315
					if(line1.contains("jsonString")){
-
 
316
						String jsonString = line1.substring(line1.indexOf("["), line1.indexOf("'/>"));
-
 
317
						logger.info("Response get from SnapDeal OneShip Cancelled Orders.. ");
-
 
318
						jsonDataShip = new JSONArray(jsonString);
-
 
319
						break;
-
 
320
					}
-
 
321
				}
311
		} catch (Exception e) {
322
			} catch (Exception e) {
312
			logger.error("Unable to extract Http Response for snapdeal oneship cancelled orders", e);
323
				logger.error("Unable to extract Http Response for snapdeal oneship cancelled orders", e);
313
		} 
324
			} 
314
		
325
 
315
		if(jsonDataShip!=null && jsonDataShip.length()>0){
326
			if(jsonDataShip!=null && jsonDataShip.length()>0){
316
			for(int i=0; i< jsonDataShip.length(); i++){
327
				for(int i=0; i< jsonDataShip.length(); i++){
317
				JSONObject jsonObj = null;
328
					JSONObject jsonObj = null;
318
				try {
329
					try {
319
					jsonObj = jsonDataShip.getJSONObject(i);
330
						jsonObj = jsonDataShip.getJSONObject(i);
320
 
331
 
321
					if(jsonObj!=null){
332
						if(jsonObj!=null){
322
						//System.out.println(jsonObj);
333
							//System.out.println(jsonObj);
323
						String subOrderCode =(String) jsonObj.get("suborderCode");
334
							String subOrderCode =(String) jsonObj.get("suborderCode");
324
						String referenceNumber =(String) jsonObj.get("referenceNumber");
335
							String referenceNumber =(String) jsonObj.get("referenceNumber");
325
						//System.out.println("Snapdeal OneShip Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
336
							//System.out.println("Snapdeal OneShip Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
326
						logger.info("Snapdeal OneShip Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
337
							logger.info("Snapdeal OneShip Order Details...suborderCode... "+subOrderCode+" ...referenceNumber... "+ referenceNumber);
327
						List<String> cancelledOrdelList = new ArrayList<String>();
338
							List<String> cancelledOrdelList = new ArrayList<String>();
328
						cancelledOrdelList.add(referenceNumber);
339
							cancelledOrdelList.add(referenceNumber);
329
						cancelledOrdelList.add(subOrderCode);
340
							cancelledOrdelList.add(subOrderCode);
330
						cancelledOrderDataList.add(cancelledOrdelList);
341
							cancelledOrderDataList.add(cancelledOrdelList);
-
 
342
						}
-
 
343
					} catch (Exception e) {
-
 
344
						logger.error("Unable to add cancelled order details for updation regarding snapdeal oneship orders", e);
331
					}
345
					}
332
				} catch (Exception e) {
-
 
333
					logger.error("Unable to add cancelled order details for updation regarding snapdeal oneship orders", e);
-
 
334
				}
346
				}
335
			}
347
			}
-
 
348
			
-
 
349
			getMethod.releaseConnection();
-
 
350
 
-
 
351
			start = end + 86400000l;
-
 
352
			
336
		}
353
		}
337
		
354
 
338
		if(deliveredOrderDataList!=null && deliveredOrderDataList.size()>0){
355
		if(deliveredOrderDataList!=null && deliveredOrderDataList.size()>0){
339
			logger.info("Delivered Orders Size .. "+deliveredOrderDataList.size());
356
			logger.info("Delivered Orders Size .. "+deliveredOrderDataList.size());
340
			orderDataMap.put("Delivered", deliveredOrderDataList);
357
			orderDataMap.put("Delivered", deliveredOrderDataList);
341
		}
358
		}
342
		
359
 
343
		if(cancelledOrderDataList!=null && cancelledOrderDataList.size()>0){
360
		if(cancelledOrderDataList!=null && cancelledOrderDataList.size()>0){
344
			logger.info("Cancelled Orders Size .. "+cancelledOrderDataList.size());
361
			logger.info("Cancelled Orders Size .. "+cancelledOrderDataList.size());
345
			orderDataMap.put("Cancelled", cancelledOrderDataList);
362
			orderDataMap.put("Cancelled", cancelledOrderDataList);
346
		}
363
		}
347
		
364
 
348
		if(orderDataMap!=null && orderDataMap.size()>0){
365
		if(orderDataMap!=null && orderDataMap.size()>0){
349
			try{
366
			try{
350
				new TransactionClient().getClient().updateSnapdealOrdersStatus(orderDataMap);
367
				new TransactionClient().getClient().updateSnapdealOrdersStatus(orderDataMap);
351
			} catch(Exception e){
368
			} catch(Exception e){
352
				logger.error("Unable to update delivery information for snapdeal orders", e);
369
				logger.error("Unable to update delivery information for snapdeal orders", e);