Subversion Repositories SmartDukaan

Rev

Blame | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

import in.shop2020.model.v1.order.LineItem;
import in.shop2020.model.v1.order.OrderInfo;
import in.shop2020.model.v1.order.Transaction;
import in.shop2020.model.v1.shoppingcart.Cart;
import in.shop2020.model.v1.shoppingcart.Line;
import in.shop2020.model.v1.shoppingcart.ShadowCart;
import in.shop2020.model.v1.shoppingcart.ShoppingCartException;
import in.shop2020.serving.controllers.BaseController;
import in.shop2020.serving.pages.PageContentKeys;
import in.shop2020.serving.pages.PageEnum;
import in.shop2020.serving.pages.PageManager;
import in.shop2020.thrift.clients.ShoppingCartClient;
import in.shop2020.thrift.clients.TransactionServiceClient;
import in.shop2020.thrift.clients.UserContextServiceClient;

import java.util.*;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.rest.DefaultHttpHeaders;
import org.apache.struts2.rest.HttpHeaders;
import org.apache.thrift.TException;

import com.opensymphony.xwork2.ValidationAwareSupport;

@Results({
    @Result(name="success", type="redirectAction", 
                params = {"actionName" , "order"})
})

public class OrderController extends BaseController implements ParameterAware {
        
        private static final long serialVersionUID = 1L;
        
        private Map<String, String[]> reqparams;
        private Map<String, Object> sessions;
        private String redirectURL;
        private static Log log = LogFactory.getLog(OrderController.class);
        private String cartId;
        //HttpServletRequest request;
        private Map<String,String> htmlSnippets;
        
        public OrderController(){
                
        }
        
        
         // GET /entity
    public HttpHeaders index() {
        
        return new DefaultHttpHeaders("index").disableCaching();
    }
    
    // POST /entity
    public String create() {
        log.info("OrderController.create");
  
//      log.info("item id is " + this.reqparams.get("item_id"));
//      cartId = this.reqparams.get("item_id")[0];
        
        
                long userId = Long.parseLong(this.session.getAttribute("userid").toString());
                
                createOrderFromCart(userId);
                
        //createOrderFromCart(Long.parseLong(cartId));
        
                return "success";
    }
    
  
    
    private     void createOrderFromCart(long userId){
                ShoppingCartClient shoppingCartClient = null;
                in.shop2020.model.v1.shoppingcart.ShoppingCartService.Client cartClient = null;
                try{
                        shoppingCartClient = new ShoppingCartClient();
                        cartClient = shoppingCartClient.getClient();
                        
                        long cartId = cartClient.getCurrentCart(userId, false).getId();
                        
                        cartClient.commitCart(cartId);
                } catch (ShoppingCartException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (TException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
    }
        
        
        @Override
        public void setParameters(Map<String, String[]> reqmap) {
                log.info("setParameters:" + reqmap);
                
                this.reqparams = reqmap;
        }
        
//      @Override
//      public void setServletRequest(HttpServletRequest request) {
//              this.request = request;
//      }
//    
}