Rev 9698 | Rev 12488 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.services;import in.shop2020.model.v1.order.OrderSource;import in.shop2020.serving.model.Order;import in.shop2020.serving.model.OrderItems;import in.shop2020.thrift.clients.TransactionClient;import java.io.BufferedReader;import java.io.InputStreamReader;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import com.google.gson.Gson;public class FlipkartOrderStatusReconciliation{public static void main(String[] args) {HttpClient client = new DefaultHttpClient();HttpPost post = new HttpPost("https://seller.flipkart.com/login");BufferedReader rd= null;List<List<String>> deliveredOrderDataList = new ArrayList<List<String>>();SimpleDateFormat gotFlipkartDateFormat = new SimpleDateFormat("MMM dd, yyyy");//SimpleDateFormat createDateFormatter = new SimpleDateFormat("MMM dd, yyyy hh:mm aaa");SimpleDateFormat ourDBDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");long minCreationDate = 0l;try {minCreationDate = new TransactionClient().getClient().getMinCreatedTimeStampUndeliveredOrdersForSource(OrderSource.FLIPKART.getValue());List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();nameValuePairs.add(new BasicNameValuePair("authName","flipkart"));nameValuePairs.add(new BasicNameValuePair("username","flipkart-support@saholic.com"));nameValuePairs.add(new BasicNameValuePair("password","076c27ee24d7596b06608a8ed2559f87"));post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));HttpResponse response = client.execute(post);rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));String line = "";Gson gson;List<Order> orders = new ArrayList<Order>();OrderItems new_orders;HttpGet get_new;long time;int i=1;while ((line = rd.readLine()) != null) {System.out.println(line);}time = System.currentTimeMillis();while(true){get_new = new HttpGet("https://seller.flipkart.com/dashboard/som/shipped_order_items?status=delivered&page="+i+"&page_size=100&_="+time);response = client.execute(get_new);rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));line = "";gson = new Gson();//System.out.println("RD....."+rd.readLine());new_orders = (OrderItems) gson.fromJson(rd, OrderItems.class);if(new_orders.getOrder_items().size()>0){orders.addAll(new_orders.getOrder_items());}else{break;}i++;}for(Order order:orders){if(minCreationDate > 0l && gotFlipkartDateFormat.parse(gotFlipkartDateFormat.format(minCreationDate)).getTime() <= gotFlipkartDateFormat.parse(order.getCreatedDate()).getTime()){List<String> delivered_dataList = new ArrayList<String>();delivered_dataList.add(order.getExternalId());delivered_dataList.add(order.getOrderItemId());delivered_dataList.add(ourDBDateFormat.format(gotFlipkartDateFormat.parse(order.getModifiedDate()).getTime()));System.out.println("Flipkart Order Id... "+order.getExternalId() + " ... Flipkart Sub Order Code... "+ order.getOrderItemId() +" ... Delivery Date ... "+ ourDBDateFormat.format(gotFlipkartDateFormat.parse(order.getModifiedDate()).getTime()) + "....Created Date..... "+ order.getCreatedDate());deliveredOrderDataList.add(delivered_dataList);}}//System.out.println("deliveredOrderDataList size... "+deliveredOrderDataList.size());if(deliveredOrderDataList!=null && deliveredOrderDataList.size()>0){new TransactionClient().getClient().updateFlipkartOrdersStatus(deliveredOrderDataList);}} catch(Exception e){e.printStackTrace();}}}