Subversion Repositories SmartDukaan

Rev

Rev 5678 | Rev 5714 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5678 Rev 5693
Line 33... Line 33...
33
    private ServletContext context;
33
    private ServletContext context;
34
    private String storeIdString;
34
    private String storeIdString;
35
    private long storeId;
35
    private long storeId;
36
    private String id;
36
    private String id;
37
    private String error = "";
37
    private String error = "";
-
 
38
    private Client client;
-
 
39
    
-
 
40
    public PickupStoreController() throws TTransportException{
-
 
41
    	client = (new TransactionClient()).getClient();
-
 
42
    }
38
    
43
    
39
    @Override
44
    @Override
40
    public void setServletRequest(HttpServletRequest req) {
45
    public void setServletRequest(HttpServletRequest req) {
41
        this.request = req;
46
        this.request = req;
42
    }
47
    }
Line 98... Line 103...
98
    		return "authfail";
103
    		return "authfail";
99
    	}
104
    	}
100
    	storeId = Long.parseLong(storeIdString);
105
    	storeId = Long.parseLong(storeIdString);
101
    	String orderIdString = request.getParameter("orderid");
106
    	String orderIdString = request.getParameter("orderid");
102
    	String action = request.getParameter("action");
107
    	String action = request.getParameter("action");
103
    	long orderId = Long.parseLong(orderIdString);
-
 
104
    	logger.info("orderIdString" + orderIdString);
-
 
105
    	if(orderIdString != null){
-
 
106
    		try {
108
		try {
107
				Client client = (new TransactionClient()).getClient();
109
			Client client = (new TransactionClient()).getClient();
108
				if(action.equals("markreceived")){
110
			if(action.equals("markreceived")){
-
 
111
				long orderId = Long.parseLong(orderIdString);
109
					client.markOrderAsReceivedAtStore(Long.parseLong(orderIdString), Calendar.getInstance().getTimeInMillis());	
112
				client.markOrderAsReceivedAtStore(orderId, Calendar.getInstance().getTimeInMillis());	
110
				}else if(action.equals("markdelivered")){
113
			}else if(action.equals("markdelivered")){
-
 
114
				long orderId = Long.parseLong(orderIdString);
111
					String receiver = request.getParameter("receiver");
115
		    	String receiver = request.getParameter("receiver");
112
					String secretCode = request.getParameter("secretcode");
116
				String secretCode = request.getParameter("secretcode");
113
					Order order = client.getOrder(orderId);
117
				Order order = client.getOrder(orderId);
114
					List<Attribute> attributes = client.getAllAttributesForOrderId(orderId);
118
				List<Attribute> attributes = client.getAllAttributesForOrderId(orderId);
115
					for(Attribute attribute: attributes){
119
				for(Attribute attribute: attributes){
116
						if(attribute.getName().equals("SECRET_CODE")){
120
					if(attribute.getName().equals("SECRET_CODE")){
117
							if(!attribute.getValue().equalsIgnoreCase(secretCode)){
121
						if(!attribute.getValue().equalsIgnoreCase(secretCode)){
118
								error = "Secret code does not match";
122
							error = "Secret code does not match";
119
							}
-
 
120
						}
-
 
121
					}
-
 
122
					List<Attribute> newAttributes = new ArrayList<Attribute>();
-
 
123
					if(order.isCod()){
-
 
124
						double amount = Double.parseDouble(request.getParameter("amount"));
-
 
125
						if(order.getTotal_amount() != amount){
-
 
126
							error = "<br>Amount does not match";
-
 
127
						}
123
						}
128
					}
124
					}
129
					if(!error.equalsIgnoreCase("")){
-
 
130
						setId("deliver");
-
 
131
						return show();
-
 
132
					}else{
125
				}
-
 
126
				List<Attribute> newAttributes = new ArrayList<Attribute>();
133
						if(order.isCod()){
127
				if(order.isCod()){
134
							String paymentType =  request.getParameter("paymenttype");
128
					double amount = Double.parseDouble(request.getParameter("amount"));
135
							newAttributes.add(new Attribute("PAYMENT_MODE", paymentType));
129
					if(order.getTotal_amount() != amount){
136
							client.setOrderAttributes(orderId, newAttributes);
130
						error = "<br>Amount does not match";
137
						}
-
 
138
					}
131
					}
-
 
132
				}
139
					client.markOrderAsDelivered(Long.parseLong(orderIdString), Calendar.getInstance().getTimeInMillis(), receiver);
133
				if(!error.equalsIgnoreCase("")){
140
				}else if(action.equals("markreturned")){
134
					setId("deliver");
141
					String orderIdsString = request.getParameter("orderIds");
135
					return show();
-
 
136
				}else{
142
					long providerId = Long.parseLong(request.getParameter("providerID"));
137
					if(order.isCod()){
143
					List<Long> orderIds = new ArrayList<Long>();
138
						String paymentType =  request.getParameter("paymenttype");
144
					for(String orderIdString1: orderIdsString.split(":")){
139
						newAttributes.add(new Attribute("PAYMENT_MODE", paymentType));
145
						orderIds.add(Long.parseLong(orderIdString1));
140
						client.setOrderAttributes(orderId, newAttributes);
146
					}
141
					}
147
					client.markOrdersAsReturnedFromStore(providerId, orderIds);
-
 
148
				}
142
				}
149
				
-
 
150
				return "index";
-
 
151
			} catch (TTransportException e) {
143
				client.markOrderAsDelivered(Long.parseLong(orderIdString), Calendar.getInstance().getTimeInMillis(), receiver);
152
				// TODO Auto-generated catch block
144
			}else if(action.equals("markreturned")){
153
				e.printStackTrace();
145
				String orderIdsString = request.getParameter("orderIds");
154
			} catch (NumberFormatException e) {
146
				long providerId = Long.parseLong(request.getParameter("providerID"));
155
				// TODO Auto-generated catch block
147
				List<Long> orderIds = new ArrayList<Long>();
156
				e.printStackTrace();
-
 
157
			} catch (TransactionServiceException e) {
148
				for(String orderIdString1: orderIdsString.split(":")){
158
				// TODO Auto-generated catch block
149
					orderIds.add(Long.parseLong(orderIdString1));
159
				e.printStackTrace();
150
				}
160
			} catch (TException e) {
-
 
161
				// TODO Auto-generated catch block
151
				client.markOrdersAsReturnedFromStore(providerId, orderIds);
162
				e.printStackTrace();
-
 
163
			}
152
			}
-
 
153
			
-
 
154
			return "index";
-
 
155
		} catch (TTransportException e) {
-
 
156
			// TODO Auto-generated catch block
-
 
157
			e.printStackTrace();
-
 
158
		} catch (NumberFormatException e) {
-
 
159
			// TODO Auto-generated catch block
-
 
160
			e.printStackTrace();
-
 
161
		} catch (TransactionServiceException e) {
-
 
162
			// TODO Auto-generated catch block
-
 
163
			e.printStackTrace();
-
 
164
		} catch (TException e) {
-
 
165
			// TODO Auto-generated catch block
-
 
166
			e.printStackTrace();
164
    	}
167
		}
165
        return "index";
168
        return "index";
166
    }
169
    }
167
    
170
    
168
 
171
 
169
    public List<Order> getReceivePendingOrders() throws TException{
172
    public List<Order> getReceivePendingOrders() throws TException{
Line 174... Line 177...
174
    public List<Order> getReceivedAtStoreOrders() throws TException{
177
    public List<Order> getReceivedAtStoreOrders() throws TException{
175
    	Client client = (new TransactionClient()).getClient();
178
    	Client client = (new TransactionClient()).getClient();
176
    	return client.getReceivedAtStoreOrders(storeId);
179
    	return client.getReceivedAtStoreOrders(storeId);
177
    }
180
    }
178
 
181
 
-
 
182
    public String getSecretCode(long orderId) throws TException{
-
 
183
    	List<Attribute> attributes = client.getAllAttributesForOrderId(orderId);
-
 
184
    	for(Attribute attribute: attributes){
-
 
185
    		if(attribute.getName() == "SECRET_CODE"){
-
 
186
    			return attribute.getValue();
-
 
187
    		}
-
 
188
    	}
-
 
189
    	return "";
-
 
190
    }
-
 
191
    
179
	public void setId(String id) {
192
	public void setId(String id) {
180
		this.id = id;
193
		this.id = id;
181
	}
194
	}
182
 
195
 
183
	public String getId() {
196
	public String getId() {