Subversion Repositories SmartDukaan

Rev

Rev 486 | Blame | Last modification | View Log | RSS feed

package in.shop2020.hotspot.dashbaord.server.handler;

import java.util.Date;
import java.util.List;

import in.shop2020.hotspot.dashbaord.shared.actions.DetailsMask;
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
import in.shop2020.hotspot.dashbaord.shared.actions.OrderDetailsRequest;
import in.shop2020.hotspot.dashbaord.shared.actions.OrderDetailsResponse;
import in.shop2020.hotspot.dashbaord.shared.actions.Shipment;
import in.shop2020.model.v1.order.Billing;
import in.shop2020.model.v1.order.BillingInfo;
import in.shop2020.model.v1.order.ExtraOrderInfo;
import in.shop2020.model.v1.order.OrderStatus;
import in.shop2020.model.v1.order.Payment;
import in.shop2020.model.v1.order.PaymentInfo;
import in.shop2020.model.v1.order.ShipmentInfo;
import in.shop2020.model.v1.order.Transaction;
import in.shop2020.model.v1.order.TransactionStatus;
import in.shop2020.model.v1.order.TransactionService.Client;
import in.shop2020.thrift.clients.TransactionServiceClient;
import net.customware.gwt.dispatch.server.ActionHandler;
import net.customware.gwt.dispatch.server.ExecutionContext;
import net.customware.gwt.dispatch.shared.ActionException;

public class OrderDetailsHandler implements ActionHandler<OrderDetailsRequest, OrderDetailsResponse>{

        @Override
        public OrderDetailsResponse execute(OrderDetailsRequest request,
                        ExecutionContext context) throws ActionException {
                // TODO Auto-generated method stub
                try{
                        TransactionServiceClient client = new TransactionServiceClient();
                        Client c = client.getClient();
                        in.shop2020.model.v1.order.Order t_order = c.getOrder(request.getOrderId());
                        
                        DetailsMask mask = DetailsMask.ALL;
                        if(t_order.getStatus() == OrderStatus.SUBMITTED_FOR_PROCESSING || t_order.getStatus() == OrderStatus.INVENTORY_LOW){
                                mask = DetailsMask.NEW;
                        }
                        
                        if(t_order.getStatus() == OrderStatus.ACCEPTED){
                                mask = DetailsMask.ACCEPT;
                        }

                        if(t_order.getStatus() == OrderStatus.INVENTORY_LOW){
                                mask = DetailsMask.NO_STOCK;
                        }

                        if(t_order.getStatus() == OrderStatus.REJECTED){
                                mask = DetailsMask.REJECT;
                        }
                        
                        if(t_order.getStatus() == OrderStatus.BILLED){
                                mask = DetailsMask.BILL;
                        }
                        
                        if(t_order.getStatus() == OrderStatus.READY_FOR_SHIPPING){
                                mask = DetailsMask.SHIP;
                        }

                        if(t_order.getStatus() == OrderStatus.SHIPPED_FROM_WH){
                                mask = DetailsMask.SHIP;
                        }

                        if(t_order.getStatus() == OrderStatus.SHIPPED_TO_LOGST){
                                mask = DetailsMask.SHIP;
                        }

                        if(t_order.getStatus() == OrderStatus.COMPLETED){
                                mask = DetailsMask.REJECT;
                        }

                        
                        
                        Order o = new Order(t_order.getId(), t_order.getCustomer_id(), t_order.getCustomer_name(), t_order.getCustomer_mobilenumber(),
                                        t_order.getCustomer_pincode(), t_order.getCustomer_address(), t_order.getCustomer_email(), t_order.getCreated_timestamp(),
                                        t_order.getExpected_delivery_time(), t_order.getStatus().getValue(), t_order.getStatusDescription(), t_order.getLineitems().get(0).getSku_id(),
                                        t_order.getLineitems().get(0).getBrand(), t_order.getLineitems().get(0).getModel_name(), t_order.getLineitems().get(0).getModel_number(),
                                        t_order.getLineitems().get(0).getExtra_info(), t_order.getTotal_amount(), t_order.getTotal_weight(), t_order.getAirwaybill_no(),
                                        t_order.getBilled_by(), t_order.getInvoice_number(), false);
                        
                        return new OrderDetailsResponse(o, mask);
                }catch(Exception e){
                        System.out.println(e);
                }
                return new OrderDetailsResponse(null, DetailsMask.ALL);
        }

        @Override
        public Class<OrderDetailsRequest> getActionType() {
                // TODO Auto-generated method stub
                return OrderDetailsRequest.class;
        }

        @Override
        public void rollback(OrderDetailsRequest arg0, OrderDetailsResponse arg1,
                        ExecutionContext arg2) throws ActionException {
                // TODO Auto-generated method stub
                
        }
}