Subversion Repositories SmartDukaan

Rev

Rev 13694 | Rev 13713 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
13691 manish.sha 1
package in.shop2020.support.controllers;
2
 
3
import in.shop2020.model.v1.catalog.CatalogService;
4
import in.shop2020.model.v1.catalog.CatalogServiceException;
13709 manish.sha 5
import in.shop2020.model.v1.catalog.HsItem;
13691 manish.sha 6
import in.shop2020.model.v1.catalog.Item;
7
import in.shop2020.model.v1.inventory.InventoryService;
8
import in.shop2020.model.v1.inventory.InventoryServiceException;
9
import in.shop2020.model.v1.inventory.InventoryType;
10
import in.shop2020.model.v1.inventory.VendorItemPricing;
11
import in.shop2020.model.v1.inventory.Warehouse;
12
import in.shop2020.model.v1.inventory.WarehouseType;
13
import in.shop2020.model.v1.order.HsOrder;
14
import in.shop2020.model.v1.order.LineItem;
15
import in.shop2020.model.v1.order.Order;
16
import in.shop2020.model.v1.order.OrderStatus;
17
import in.shop2020.model.v1.order.OrderType;
18
import in.shop2020.model.v1.order.SourceDetail;
19
import in.shop2020.model.v1.order.Transaction;
20
import in.shop2020.model.v1.order.TransactionStatus;
21
import in.shop2020.model.v1.order.TransactionService.Client;
22
import in.shop2020.model.v1.user.User;
23
import in.shop2020.payments.PaymentException;
24
import in.shop2020.payments.PaymentStatus;
25
import in.shop2020.support.utils.ReportsUtils;
26
import in.shop2020.thrift.clients.CatalogClient;
27
import in.shop2020.thrift.clients.InventoryClient;
28
import in.shop2020.thrift.clients.PaymentClient;
29
import in.shop2020.thrift.clients.TransactionClient;
30
import in.shop2020.thrift.clients.UserClient;
31
 
32
import java.io.File;
33
import java.io.FileInputStream;
34
import java.util.ArrayList;
35
import java.util.Calendar;
36
import java.util.Collection;
37
import java.util.Collections;
38
import java.util.Date;
39
import java.util.List;
40
 
41
import javax.servlet.http.HttpServletRequest;
42
import javax.servlet.http.HttpSession;
43
 
44
import org.apache.commons.io.FileUtils;
45
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
46
import org.apache.poi.ss.usermodel.Cell;
47
import org.apache.poi.ss.usermodel.Row;
48
import org.apache.poi.ss.usermodel.Sheet;
49
import org.apache.poi.ss.usermodel.Workbook;
50
import org.apache.struts2.convention.annotation.InterceptorRef;
51
import org.apache.struts2.convention.annotation.InterceptorRefs;
52
import org.apache.struts2.convention.annotation.Result;
53
import org.apache.struts2.convention.annotation.Results;
54
import org.apache.struts2.interceptor.ServletRequestAware;
55
import org.apache.thrift.TException;
56
import org.slf4j.Logger;
57
import org.slf4j.LoggerFactory;
58
 
59
import com.opensymphony.xwork2.ActionSupport;
60
 
61
@SuppressWarnings("serial")
62
@InterceptorRefs({
63
	@InterceptorRef("defaultStack"),
64
	@InterceptorRef("login")
65
})
66
@Results({
67
	@Result(name="authfail", type="redirectAction", params = {"actionName" , "reports"})
68
})
69
public class HsOrderCreatorController extends ActionSupport implements ServletRequestAware {
70
	private HttpServletRequest request;
71
	private HttpSession session;
72
 
73
	private static Logger logger = LoggerFactory.getLogger(HsOrderCreatorController.class);
74
	private static final int HS_GATEWAY_ID = 20;
75
	private static final int HS_SOURCE_ID = 4;
76
 
77
	private File orderDataFile;
78
	private String orderDataFileName;
79
	private String transactionId;
80
	private String errorMsg = "";
81
	private Long rowId = 0L;
82
 
83
	private long paymentId;
84
	//	ORDER NO Suborder No	Catalogue Name	Billing Name	Shipping Name	Product Id	Item Name	Item Id	Seller SKU Code	Quantity	Suborder Amount	Payment Mode	Suborder Status	Courier Name	Status Date	Pending Days	Sla Days	Overdue Days	Shipping Address	Shipping City	Shipping State	Zip Code	Mobile	Order Date	Desired Date	Remarks
85
	//  0			1				2				3				4				5			6			7		8				9			10				11				12				13				14			15				16			17				18					19				20				21			22		23			24				25
86
	private static final int HS_ORDER_NO_INDEX = 0;
87
	private static final int HS_SUB_ORDER_NO_INDEX = 1;
88
	private static final int CATALOGUE_NAME_INDEX = 2;
13709 manish.sha 89
	private static final int BILLING_NAME_INDEX = 3;
13691 manish.sha 90
	private static final int PRODUCT_ID_INDEX = 5;
91
	private static final int ITEM_ID_INDEX = 7;
92
	private static final int SELLER_SKU_INDEX = 8;
93
	private static final int QUANTITY_INDEX = 9;
94
	private static final int SUB_ORDER_AMOUNT_INDEX = 10;
95
	private static final int PAYMENT_MODE_INDEX = 11;
96
	private static final int SUB_ORDER_STATUS_INDEX = 12;
97
	private static final int COURIER_NAME_INDEX = 13;
98
	private static final int SLA_DAYS_INDEX = 16;
99
	private static final int SHIPPING_ADDRESS_INDEX = 18;
100
	private static final int SHIPPING_CITY_INDEX = 19;
101
	private static final int SHIPPING_STATE_INDEX = 20;
102
	private static final int ZIPCODE_INDEX = 21;
103
	private static final int MOBILE_NO_INDEX = 22;
104
	private static final int ORDER_DATE_INDEX = 23;
105
	private static final int WAREHOUSE_ID_INDEX = 26;
106
 
107
 
108
	public String index() {
109
        if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), "/hs-dashboard"))
110
            return "authfail";
111
        checkForErrors();
112
        return "authsuccess";
113
    }
114
 
115
	public String create(){
116
		File fileToCreate = null;
117
		orderDataFileName = "OrderSheet_HomeShop18_"+(new Date().toString());
118
		try {
119
			fileToCreate = new File("/tmp/", this.orderDataFileName);
120
			FileUtils.copyFile(this.orderDataFile, fileToCreate);
121
		} catch (Exception e) {
122
			logger.error("Error while writing order data file to the local file system for Homeshop18", e);
123
			addActionError("Error while writing order data file to the local file system");
124
		}
125
 
126
		if(checkForErrors())
127
			return "authsuccess";
128
 
129
		Workbook wb = null;
130
		try {
131
			wb = new HSSFWorkbook(new FileInputStream(fileToCreate));
132
		} catch (Exception e) {
133
			logger.error("Unable to open the File for Order Creation for Homeshop18 ", e);
134
			setErrorMsg(getErrorMsg() + "Error in opening File for Order creation");
135
			addActionError("Unable to open the File for Order creation");
136
		}
137
		if(checkForErrors())
138
			return "authsuccess";
139
 
140
		SourceDetail sourceDetail = null;
141
		User user = null;
142
		TransactionClient tsc = null;
143
		try {
144
			tsc = new TransactionClient();
145
			sourceDetail = tsc.getClient().getSourceDetail(HS_SOURCE_ID);
146
		} catch (Exception e) {
147
			logger.error("Unable to establish connection to the transaction service while getting Homeshop18 Source Detail", e);
148
			setErrorMsg(getErrorMsg() + "Error in Order Service while getting Homeshop18 Source Detail");
149
			addActionError("Error in connecting to Order Service");
150
		}
151
 
152
		if(checkForErrors())
153
			return "authsuccess";
154
 
155
		try {   
156
			in.shop2020.model.v1.user.UserContextService.Client userClient = new UserClient().getClient();
157
			user = userClient.getUserByEmail(sourceDetail.getEmail());
158
		} catch (Exception e) {
159
			logger.error("Unable to establish connection to the User service", e);
160
			setErrorMsg(getErrorMsg() + "Unable to get Default Email for Snapdeal ");
161
			addActionError("Unable to get Default Email for Snapdeal ");
162
		}
163
 
164
		if(checkForErrors())
165
			return "authsuccess";
166
 
167
		Sheet sheet = wb.getSheetAt(0);
168
		Row firstRow = sheet.getRow(0);
169
		Item item;
13709 manish.sha 170
		HsItem hsItem;
13691 manish.sha 171
		in.shop2020.model.v1.catalog.CatalogService.Client catalogClient;
172
		for (Row row : sheet) {
173
			long orderCountForRow = 0;
174
			rowId++;
175
			if(row.equals(firstRow))
176
				continue;
177
 
178
			row.getCell(SUB_ORDER_STATUS_INDEX).setCellType(Cell.CELL_TYPE_STRING);
179
			String subOrderStatus = row.getCell(SUB_ORDER_STATUS_INDEX).getStringCellValue();
180
 
181
			if("VERIFIED".equalsIgnoreCase(subOrderStatus)){
182
				try {
183
					Transaction txn = new Transaction();
184
					txn.setShoppingCartid(user.getActiveCartId());
185
					txn.setCustomer_id(user.getUserId());
186
					txn.setCreatedOn(new Date().getTime());
187
					txn.setTransactionStatus(TransactionStatus.INIT);
188
					txn.setStatusDescription("Order for Homeshop18 ");
189
 
190
					List<Order> orders = new ArrayList<Order>();
191
 
192
					row.getCell(SELLER_SKU_INDEX).setCellType(Cell.CELL_TYPE_STRING);
193
					String sku = row.getCell(SELLER_SKU_INDEX).getStringCellValue();
194
 
195
					Long itemId;
196
					double totalPrice = 0;
197
 
198
					totalPrice = row.getCell(SUB_ORDER_AMOUNT_INDEX).getNumericCellValue();
199
 
200
					LineItem lineItem = null;
201
					try {
202
						catalogClient = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient();
203
						item = catalogClient.getItem(Long.parseLong(sku));
204
						itemId = item.getId();
205
						if(itemId == 0){
206
							logger.error("No Item found for " + rowId + " "+ sku);
207
							logger.error("Unable to create order for RowId " + rowId);
208
							continue;
209
						}
210
						lineItem = createLineItem(itemId, totalPrice, row.getCell(QUANTITY_INDEX).getNumericCellValue());
211
						row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
212
						row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
213
						String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
214
						String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
215
						lineItem.setExtra_info("HSOrderNo = " + hsOrderNo + " HSSubOrderNo = " + hsSubOrderNo);
216
					} catch (Exception tex) {
217
						logger.error("Unable to create order for RowId " + rowId, tex);
218
						setErrorMsg(getErrorMsg() + "<br>Unable to create lineitem using catalog info for RowId " + rowId);
219
						continue;
220
					}
221
 
222
					Order t_order = new Order();
223
					t_order.setCustomer_id(user.getUserId());
224
					t_order.setCustomer_email(sourceDetail.getEmail());
13709 manish.sha 225
					row.getCell(BILLING_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
13691 manish.sha 226
					row.getCell(SHIPPING_ADDRESS_INDEX).setCellType(Cell.CELL_TYPE_STRING);
227
					row.getCell(SHIPPING_CITY_INDEX).setCellType(Cell.CELL_TYPE_STRING);
228
					row.getCell(SHIPPING_STATE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
229
					row.getCell(MOBILE_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
230
					row.getCell(ZIPCODE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
13709 manish.sha 231
					t_order.setCustomer_name(row.getCell(BILLING_NAME_INDEX).getStringCellValue());
13691 manish.sha 232
					t_order.setCustomer_mobilenumber(row.getCell(MOBILE_NO_INDEX).getStringCellValue());
233
					t_order.setCustomer_address1(row.getCell(SHIPPING_ADDRESS_INDEX).getStringCellValue());
234
					t_order.setCustomer_address2("");
235
					t_order.setCustomer_city(row.getCell(SHIPPING_CITY_INDEX).getStringCellValue());
236
					t_order.setCustomer_state(row.getCell(SHIPPING_STATE_INDEX).getStringCellValue());
237
					t_order.setCustomer_pincode(row.getCell(ZIPCODE_INDEX).getStringCellValue());
238
					t_order.setTotal_amount(lineItem.getTotal_price());            	
239
					t_order.setTotal_weight(lineItem.getTotal_weight());
240
					t_order.setLineitems(Collections.singletonList(lineItem));            
241
					t_order.setStatus(OrderStatus.PAYMENT_PENDING);
242
					t_order.setStatusDescription("In Process");
243
					t_order.setCreated_timestamp(new Date().getTime());
244
					t_order.setOrderType(OrderType.B2C);
245
					t_order.setCod(false);
246
					int slaDays = (int)row.getCell(SLA_DAYS_INDEX).getNumericCellValue();
247
					try {
248
						Calendar time = Calendar.getInstance();
249
						time.add(Calendar.DAY_OF_MONTH, slaDays);
250
						if(time.get(Calendar.DAY_OF_WEEK)!=1){
251
							t_order.setPromised_shipping_time(time.getTimeInMillis());
252
							t_order.setExpected_shipping_time(time.getTimeInMillis());
253
						}
254
						else{
255
							t_order.setPromised_shipping_time(time.getTimeInMillis()+24*60*60*1000);
256
							t_order.setExpected_shipping_time(time.getTimeInMillis()+24*60*60*1000);
257
						}
258
						time.add(Calendar.DAY_OF_MONTH, 3);
259
						t_order.setPromised_delivery_time(time.getTimeInMillis());
260
						t_order.setExpected_delivery_time(time.getTimeInMillis());
261
					}catch(Exception e) {
262
						addActionError("Error in updating Shipping or Delivery Time for row number " + rowId);
263
						logger.error("Error in updating Shipping or Delivery Time for row number " + rowId,e);
264
						continue;
265
					}
266
 
267
					InventoryService.Client inventoryClient = null;
268
					Warehouse fulfillmentWarehouse= null; 
269
					try {
270
						inventoryClient = new InventoryClient().getClient();
271
						Cell warehouseCell = row.getCell(WAREHOUSE_ID_INDEX);
272
						if(warehouseCell != null && warehouseCell.getCellType() != Cell.CELL_TYPE_BLANK) {
273
							fulfillmentWarehouse = inventoryClient.getWarehouse(new Double(row.getCell(WAREHOUSE_ID_INDEX).getNumericCellValue()).longValue());
274
						} else {
275
							List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(itemId, 1);
276
							fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
277
						}
278
						t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());
279
 
280
						long billingWarehouseId = 0;
281
						if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
282
							inventoryClient = new InventoryClient().getClient();
283
							List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
284
							for(Warehouse warehouse : warehouses) {
285
								if(warehouse.getBillingWarehouseId()!=0) {
286
									billingWarehouseId = warehouse.getBillingWarehouseId();
287
									break;
288
								}
289
							}
290
						} else {
291
							billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
292
						}
293
 
294
						t_order.setWarehouse_id(billingWarehouseId);
295
						//t_order.setWarehouse_id(fulfillmentWarehouse.getBillingWarehouseId());
296
						VendorItemPricing vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
297
						t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
298
						t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
299
					} catch (InventoryServiceException e) {
300
						addActionError("Error in updating WarehouseId for row number " + rowId);
301
						setErrorMsg(getErrorMsg() + "<br>Error in updating WarehouseId for row number  " + rowId);
302
						logger.error("Error in updating WarehouseId for row number " + rowId,e);
303
						continue;
304
					}
305
 
306
					t_order.setLogistics_provider_id(45);
307
					t_order.setTotal_amount(lineItem.getTotal_price());
308
					t_order.setOrderType(OrderType.B2C);
309
					t_order.setSource(HS_SOURCE_ID);
310
					t_order.setTotal_weight(lineItem.getTotal_weight());
311
					t_order.setOrderType(OrderType.B2C);	
312
 
313
					orders.add(t_order);
314
					orderCountForRow++;
315
 
316
					txn.setOrders(orders);
317
					Client transaction_client = new TransactionClient().getClient();
318
 
319
					try {
320
						row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
321
						row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
322
						row.getCell(PRODUCT_ID_INDEX).setCellType(Cell.CELL_TYPE_STRING);
323
						row.getCell(ITEM_ID_INDEX).setCellType(Cell.CELL_TYPE_STRING);
324
						row.getCell(CATALOGUE_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
325
						row.getCell(COURIER_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
326
						row.getCell(PAYMENT_MODE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
327
 
328
						String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
329
						String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
330
						String productId = row.getCell(PRODUCT_ID_INDEX).getStringCellValue();
331
						String item_Id = row.getCell(ITEM_ID_INDEX).getStringCellValue();
332
						String catalogueName = row.getCell(CATALOGUE_NAME_INDEX).getStringCellValue();
333
						String courierName = row.getCell(COURIER_NAME_INDEX).getStringCellValue();
334
						String paymentMode = row.getCell(PAYMENT_MODE_INDEX).getStringCellValue();
335
						Date hsTxnDate = row.getCell(ORDER_DATE_INDEX).getDateCellValue();
336
 
337
						if(transaction_client.homeShopOrderExists(hsOrderNo, hsSubOrderNo)) {
338
							setErrorMsg(getErrorMsg() + "<br>Duplicate order for Home Shop OrderNo " + hsOrderNo + " and Home Shop Sub Order No "+hsSubOrderNo+"for row number  " + rowId);
339
							logger.error("Duplicate order for Home Shop OrderNo " + hsOrderNo + " and Home Shop Sub Order No "+hsSubOrderNo+"for row number  " + rowId);
340
							continue;
341
						}
342
 
343
						transactionId =  String.valueOf(transaction_client.createTransaction(txn));
344
						paymentId = createPayment(user, hsSubOrderNo, totalPrice);
345
 
346
						logger.info("Successfully created transaction: " + transactionId + " for amount: " + totalPrice);
347
 
348
						Transaction transaction = transaction_client.getTransaction(Long.parseLong(transactionId));
349
						Order order = transaction.getOrders().get(0);
350
 
351
						inventoryClient.reserveItemInWarehouse(itemId, fulfillmentWarehouse.getId(), 1, 
352
								order.getId(), order.getCreated_timestamp(), order.getPromised_shipping_time(), order.getLineitems().get(0).getQuantity());
353
 
354
 
355
						HsOrder homeshopOrder = new HsOrder();
356
						homeshopOrder.setOrderId(order.getId());
357
						homeshopOrder.setHsOrderNo(hsOrderNo);
358
						homeshopOrder.setHsSubOrderNo(hsSubOrderNo);
359
						homeshopOrder.setHsOrderDate(hsTxnDate.getTime());
360
						homeshopOrder.setHsProductId(productId);
361
						homeshopOrder.setHsItemId(item_Id);
362
						homeshopOrder.setSellerSku(sku);
363
						homeshopOrder.setPaymentMode(paymentMode);
364
						homeshopOrder.setCourierName(courierName);
365
						homeshopOrder.setSlaDays(slaDays);
366
						homeshopOrder.setCatalogueName(catalogueName);
367
						transaction_client.createHomeShopOrder(homeshopOrder);
368
						new PaymentClient().getClient().updatePaymentDetails(paymentId, null, null, null, null, null, null, hsSubOrderNo, null, PaymentStatus.SUCCESS, null, null);
369
 
370
					} catch (Exception e) {
371
						logger.error("Error while creating order for rowId " + rowId, e);
372
						addActionError("Error while creating order for rowId " + rowId);
373
						setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
374
						continue;
375
					}
376
 
377
 
378
				}catch (Exception e) {
379
					logger.error("Error while creating order for row number " + rowId, e);
380
					setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
381
					continue;
382
				}
383
 
384
			}/*if("CANCELLED".equalsIgnoreCase(subOrderStatus)){
385
				try {
386
					Client transaction_client = new TransactionClient().getClient();
387
					row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
388
					row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
389
					String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
390
					String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
391
					List<HsOrder> hsOrders = transaction_client.getHomeShopOrder(0, hsOrderNo, hsSubOrderNo);
392
					transaction_client.refundOrder(hsOrders.get(0).getOrderId(), "homeshop18", "As per Buyer's Request");
393
 
394
				}catch (Exception e) {
395
					logger.error("Error while cancelling order for row number " + rowId, e);
396
					setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
397
					continue;
398
				}
399
			}*/
400
		}
401
		return "authsuccess";
402
	}
403
 
404
	private LineItem createLineItem(long itemId, double amount, double quantity) throws CatalogServiceException, TException {
405
		LineItem lineItem = new LineItem();
406
		CatalogService.Client catalogClient = new CatalogClient().getClient();
407
		Item item = catalogClient.getItem(itemId);
408
 
409
		lineItem.setProductGroup(item.getProductGroup());
410
		lineItem.setBrand(item.getBrand());
411
		lineItem.setModel_number(item.getModelNumber());
412
		lineItem.setModel_name(item.getModelName());
413
		lineItem.setExtra_info(item.getFeatureDescription());
414
		lineItem.setQuantity(quantity);
415
		lineItem.setItem_id(item.getId());
416
		lineItem.setUnit_weight(item.getWeight());
417
		lineItem.setTotal_weight(item.getWeight()*quantity);
13694 manish.sha 418
		lineItem.setUnit_price(amount/quantity);
419
		lineItem.setTotal_price(amount);
13691 manish.sha 420
 
421
		if (item.getColor() == null || "NA".equals(item.getColor())) {
422
			lineItem.setColor("");
423
		} else {
424
			lineItem.setColor(item.getColor());
425
		}
426
		return lineItem;
427
	}
428
 
429
	private long createPayment(User user, String subOrderId, double amount) throws NumberFormatException, PaymentException, TException {
430
		in.shop2020.payments.PaymentService.Client client = new PaymentClient().getClient();
431
		return client.createPayment(user.getUserId(), amount, HS_GATEWAY_ID, Long.valueOf(transactionId), false);
432
	}
433
 
434
	private boolean checkForErrors(){
435
		Collection<String> actionErrors = getActionErrors();
436
		if(actionErrors != null && !actionErrors.isEmpty()){
437
			for (String str : actionErrors) {
438
				errorMsg += "<BR/>" + str;
439
			}
440
			return true;
441
		}
442
		return false;
443
	}
444
 
445
	@Override
446
	public void setServletRequest(HttpServletRequest request) {
447
		this.request = request;
448
		this.session = request.getSession();
449
	}
450
 
451
	public File getOrderDataFile() {
452
		return orderDataFile;
453
	}
454
 
455
	public void setOrderDataFile(File orderDataFile) {
456
		this.orderDataFile = orderDataFile;
457
	}
458
 
459
	public String getOrderDataFileName() {
460
		return orderDataFileName;
461
	}
462
 
463
	public void setOrderDataFileName(String orderDataFileName) {
464
		this.orderDataFileName = orderDataFileName;
465
	}
466
 
467
	public String getTransactionId() {
468
		return transactionId;
469
	}
470
 
471
	public void setTransactionId(String transactionId) {
472
		this.transactionId = transactionId;
473
	}
474
 
475
	public String getErrorMsg() {
476
		return errorMsg;
477
	}
478
 
479
	public void setErrorMsg(String errorMsg) {
480
		this.errorMsg = errorMsg;
481
	}
482
 
483
	public Long getRowId() {
484
		return rowId;
485
	}
486
 
487
	public void setRowId(Long rowId) {
488
		this.rowId = rowId;
489
	}
490
 
491
	public long getPaymentId() {
492
		return paymentId;
493
	}
494
 
495
	public void setPaymentId(long paymentId) {
496
		this.paymentId = paymentId;
497
	}
498
 
499
}