Subversion Repositories SmartDukaan

Rev

Rev 20765 | Rev 20776 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

import in.shop2020.model.v1.order.Order;
import in.shop2020.model.v1.order.OrderSource;
import in.shop2020.model.v1.order.OrderStatus;
import in.shop2020.model.v1.order.TransactionService.Client;
import in.shop2020.thrift.clients.TransactionClient;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.aramex.impl.Aramex;
import com.providers.logistics.Provider;
import com.providers.logistics.ProviderFactory;



public class Test {
        public static void main (String[] args) throws Exception {
                TransactionClient client = new TransactionClient("support_transaction_service_server_host", "transaction_service_server_port");
                Client c = client.getClient();
                List<Order> allOrdersWithMissingAwb = c.getOrderForAirwayBillNo(null);
                Map<String, List<Order>> logisticsTxnOrdersMap = new HashMap<String, List<Order>>();
                for(Order o: allOrdersWithMissingAwb) {
                        if(!logisticsTxnOrdersMap.containsKey(o.getLogisticsTransactionId())) {
                                logisticsTxnOrdersMap.put(o.getLogisticsTransactionId(), new ArrayList<Order>());
                        }
                        List<Order> orderList = logisticsTxnOrdersMap.get(o.getLogisticsTransactionId());
                        orderList.add(o);
                }
                //Iterate LogisticTransaction Id and
                for (Map.Entry<String, List<Order>> entry : logisticsTxnOrdersMap.entrySet()) {
                        Order o = entry.getValue().get(0);
                        Provider logisticsProvider = ProviderFactory.getProvider(2);
                        if(o.getLogistics_provider_id()==2 && o.getStatus().equals(OrderStatus.BILLED)) {
                                String airwayBill = logisticsProvider.getAirwayBillNo(entry.getValue());
                                c.updateMasterOrderAWB(entry.getKey(), airwayBill);
                                System.out.println("Updated logisticsTransactionId - " + entry.getKey() + " with airway bill - " + airwayBill);
                        } else {
                                System.out.println("Ignored logisticsTransactionId - " + entry.getKey() + "Prodider id - " + o.getLogistics_provider_id() + " Status - " + o.getStatusDescription());
                        }
                }
        }
}