Subversion Repositories SmartDukaan

Rev

Rev 5678 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5559 rajveer 1
package in.shop2020.support.controllers;
2
 
3
 
4
 
5
import in.shop2020.model.v1.order.Order;
6
import in.shop2020.model.v1.order.TransactionService.Client;
7
import in.shop2020.model.v1.order.TransactionServiceException;
8
import in.shop2020.thrift.clients.TransactionClient;
9
 
10
import java.util.Calendar;
11
import java.util.List;
12
 
13
import javax.servlet.ServletContext;
14
import javax.servlet.http.HttpServletRequest;
15
import javax.servlet.http.HttpServletResponse;
16
 
17
import org.apache.struts2.interceptor.ServletRequestAware;
18
import org.apache.struts2.interceptor.ServletResponseAware;
19
import org.apache.struts2.util.ServletContextAware;
20
import org.apache.thrift.TException;
21
import org.apache.thrift.transport.TTransportException;
22
import org.slf4j.Logger;
23
import org.slf4j.LoggerFactory;
24
 
25
public class PickupStoreController implements ServletResponseAware, ServletRequestAware, ServletContextAware {
26
 
27
    private static Logger logger = LoggerFactory.getLogger(PickupStoreController.class);
28
 
29
    private HttpServletRequest request;
30
    private HttpServletResponse response;
31
    private ServletContext context;
32
    private String storeIdString;
33
    private long storeId;
34
 
35
    @Override
36
    public void setServletRequest(HttpServletRequest req) {
37
        this.request = req;
38
    }
39
 
40
    public HttpServletRequest getServletRequest() {
41
        return request;
42
    }
43
 
44
    @Override
45
    public void setServletResponse(HttpServletResponse res) {
46
        this.response = res;
47
    }
48
 
49
    public HttpServletResponse getServletResponse() {
50
        return response;
51
    }
52
 
53
    @Override
54
    public void setServletContext(ServletContext context) {
55
        this.context = context;
56
    }
57
 
58
    public String getServletContextPath() {
59
        return context.getContextPath();
60
    }
61
 
62
    public String index(){
63
    	storeIdString = (String) request.getSession().getAttribute("STORE_ID");
64
    	if(storeIdString == null){
65
    		storeIdString = request.getParameter("storeid");
66
    		if(storeIdString == null){
67
    			return "authfail";
68
    		}else{
69
    			request.getSession().setAttribute("STORE_ID", storeIdString);
70
    		}
71
    	}
72
    	storeId = Long.parseLong(storeIdString);
73
    	return "index";
74
    }
75
 
76
    // Handles the POST request (Form Submission)
77
    public String create() {
78
    	storeIdString = (String) request.getSession().getAttribute("STORE_ID");
79
    	if(storeIdString == null){
80
    		return "authfail";
81
    	}
82
    	storeId = Long.parseLong(storeIdString);
83
    	String orderIdString = request.getParameter("orderid");
84
    	String action = request.getParameter("action");
85
    	logger.info("orderIdString" + orderIdString);
86
    	if(orderIdString != null){
87
    		try {
88
				Client client = (new TransactionClient()).getClient();
89
				if(action.equals("markreceived")){
90
					client.markOrderAsReceivedAtStore(Long.parseLong(orderIdString), Calendar.getInstance().getTimeInMillis());	
91
				}else if(action.equals("markdelivered")){
92
					String receiver = request.getParameter("receiver");
93
					client.markOrderAsDelivered(Long.parseLong(orderIdString), Calendar.getInstance().getTimeInMillis(), receiver);
94
				}else if(action.equals("markreturned")){
95
 
96
				}
97
 
98
				return "index";
99
			} catch (TTransportException e) {
100
				// TODO Auto-generated catch block
101
				e.printStackTrace();
102
			} catch (NumberFormatException e) {
103
				// TODO Auto-generated catch block
104
				e.printStackTrace();
105
			} catch (TransactionServiceException e) {
106
				// TODO Auto-generated catch block
107
				e.printStackTrace();
108
			} catch (TException e) {
109
				// TODO Auto-generated catch block
110
				e.printStackTrace();
111
			}
112
    	}
113
        return "index";
114
    }
115
 
116
 
117
    public List<Order> getReceivePendingOrders() throws TException{
118
    	Client client = (new TransactionClient()).getClient();
119
    	return client.getReceivePendingOrders(storeId);
120
    }
121
 
122
    public List<Order> getReceivedAtStoreOrders() throws TException{
123
    	Client client = (new TransactionClient()).getClient();
124
    	return client.getReceivedAtStoreOrders(storeId);
125
    }
126
}