Subversion Repositories SmartDukaan

Rev

Rev 13709 | Rev 13733 | 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;
13713 manish.sha 172
		in.shop2020.model.v1.catalog.CatalogService.Client prodCatalogClient;
13691 manish.sha 173
		for (Row row : sheet) {
174
			long orderCountForRow = 0;
175
			rowId++;
176
			if(row.equals(firstRow))
177
				continue;
178
 
179
			row.getCell(SUB_ORDER_STATUS_INDEX).setCellType(Cell.CELL_TYPE_STRING);
180
			String subOrderStatus = row.getCell(SUB_ORDER_STATUS_INDEX).getStringCellValue();
181
 
182
			if("VERIFIED".equalsIgnoreCase(subOrderStatus)){
183
				try {
184
					Transaction txn = new Transaction();
185
					txn.setShoppingCartid(user.getActiveCartId());
186
					txn.setCustomer_id(user.getUserId());
187
					txn.setCreatedOn(new Date().getTime());
188
					txn.setTransactionStatus(TransactionStatus.INIT);
189
					txn.setStatusDescription("Order for Homeshop18 ");
190
 
191
					List<Order> orders = new ArrayList<Order>();
192
 
193
					row.getCell(SELLER_SKU_INDEX).setCellType(Cell.CELL_TYPE_STRING);
194
					String sku = row.getCell(SELLER_SKU_INDEX).getStringCellValue();
195
 
196
					Long itemId;
197
					double totalPrice = 0;
198
 
199
					totalPrice = row.getCell(SUB_ORDER_AMOUNT_INDEX).getNumericCellValue();
13713 manish.sha 200
					row.getCell(ITEM_ID_INDEX).setCellType(Cell.CELL_TYPE_STRING);
201
					String item_Id = row.getCell(ITEM_ID_INDEX).getStringCellValue();
13691 manish.sha 202
 
203
					LineItem lineItem = null;
204
					try {
205
						catalogClient = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient();
13713 manish.sha 206
						prodCatalogClient = new CatalogClient().getClient();
207
						hsItem = prodCatalogClient.getHsItem(item_Id);
208
						if(hsItem!=null && hsItem.getItemId()>0){
209
							item = catalogClient.getItem(hsItem.getItemId());
210
							itemId = item.getId();
211
							if(itemId == 0){
212
								logger.error("No Item found for " + rowId + " "+ itemId);
213
								continue;
214
							}
215
							lineItem = createLineItem(itemId, totalPrice, row.getCell(QUANTITY_INDEX).getNumericCellValue());
216
							row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
217
							row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
218
							String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
219
							String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
220
							lineItem.setExtra_info("HSOrderNo = " + hsOrderNo + " HSSubOrderNo = " + hsSubOrderNo);
221
						}else{
222
							logger.error("Unable to get Item Mapping For this HsItemId "+item_Id+"for RowId " + rowId);
223
							setErrorMsg(getErrorMsg() + "Unable to get Item Mapping For this HsItemId "+item_Id+"for RowId " + rowId);
13691 manish.sha 224
							continue;
225
						}
226
					} catch (Exception tex) {
227
						logger.error("Unable to create order for RowId " + rowId, tex);
228
						setErrorMsg(getErrorMsg() + "<br>Unable to create lineitem using catalog info for RowId " + rowId);
229
						continue;
230
					}
231
 
232
					Order t_order = new Order();
233
					t_order.setCustomer_id(user.getUserId());
234
					t_order.setCustomer_email(sourceDetail.getEmail());
13709 manish.sha 235
					row.getCell(BILLING_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
13691 manish.sha 236
					row.getCell(SHIPPING_ADDRESS_INDEX).setCellType(Cell.CELL_TYPE_STRING);
237
					row.getCell(SHIPPING_CITY_INDEX).setCellType(Cell.CELL_TYPE_STRING);
238
					row.getCell(SHIPPING_STATE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
239
					row.getCell(MOBILE_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
240
					row.getCell(ZIPCODE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
13709 manish.sha 241
					t_order.setCustomer_name(row.getCell(BILLING_NAME_INDEX).getStringCellValue());
13691 manish.sha 242
					t_order.setCustomer_mobilenumber(row.getCell(MOBILE_NO_INDEX).getStringCellValue());
243
					t_order.setCustomer_address1(row.getCell(SHIPPING_ADDRESS_INDEX).getStringCellValue());
244
					t_order.setCustomer_address2("");
245
					t_order.setCustomer_city(row.getCell(SHIPPING_CITY_INDEX).getStringCellValue());
246
					t_order.setCustomer_state(row.getCell(SHIPPING_STATE_INDEX).getStringCellValue());
247
					t_order.setCustomer_pincode(row.getCell(ZIPCODE_INDEX).getStringCellValue());
248
					t_order.setTotal_amount(lineItem.getTotal_price());            	
249
					t_order.setTotal_weight(lineItem.getTotal_weight());
250
					t_order.setLineitems(Collections.singletonList(lineItem));            
251
					t_order.setStatus(OrderStatus.PAYMENT_PENDING);
252
					t_order.setStatusDescription("In Process");
253
					t_order.setCreated_timestamp(new Date().getTime());
254
					t_order.setOrderType(OrderType.B2C);
255
					t_order.setCod(false);
256
					int slaDays = (int)row.getCell(SLA_DAYS_INDEX).getNumericCellValue();
257
					try {
258
						Calendar time = Calendar.getInstance();
259
						time.add(Calendar.DAY_OF_MONTH, slaDays);
260
						if(time.get(Calendar.DAY_OF_WEEK)!=1){
261
							t_order.setPromised_shipping_time(time.getTimeInMillis());
262
							t_order.setExpected_shipping_time(time.getTimeInMillis());
263
						}
264
						else{
265
							t_order.setPromised_shipping_time(time.getTimeInMillis()+24*60*60*1000);
266
							t_order.setExpected_shipping_time(time.getTimeInMillis()+24*60*60*1000);
267
						}
268
						time.add(Calendar.DAY_OF_MONTH, 3);
269
						t_order.setPromised_delivery_time(time.getTimeInMillis());
270
						t_order.setExpected_delivery_time(time.getTimeInMillis());
271
					}catch(Exception e) {
272
						addActionError("Error in updating Shipping or Delivery Time for row number " + rowId);
273
						logger.error("Error in updating Shipping or Delivery Time for row number " + rowId,e);
274
						continue;
275
					}
276
 
277
					InventoryService.Client inventoryClient = null;
278
					Warehouse fulfillmentWarehouse= null; 
279
					try {
280
						inventoryClient = new InventoryClient().getClient();
13713 manish.sha 281
						if(hsItem.getDefaultWarehouseId()>0){
282
							fulfillmentWarehouse = inventoryClient.getWarehouse(hsItem.getDefaultWarehouseId());
13691 manish.sha 283
						} else {
284
							List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(itemId, 1);
285
							fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
286
						}
287
						t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());
288
 
289
						long billingWarehouseId = 0;
290
						if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
291
							inventoryClient = new InventoryClient().getClient();
292
							List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
293
							for(Warehouse warehouse : warehouses) {
294
								if(warehouse.getBillingWarehouseId()!=0) {
295
									billingWarehouseId = warehouse.getBillingWarehouseId();
296
									break;
297
								}
298
							}
299
						} else {
300
							billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
301
						}
302
 
303
						t_order.setWarehouse_id(billingWarehouseId);
304
						//t_order.setWarehouse_id(fulfillmentWarehouse.getBillingWarehouseId());
305
						VendorItemPricing vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
306
						t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
307
						t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
308
					} catch (InventoryServiceException e) {
309
						addActionError("Error in updating WarehouseId for row number " + rowId);
310
						setErrorMsg(getErrorMsg() + "<br>Error in updating WarehouseId for row number  " + rowId);
311
						logger.error("Error in updating WarehouseId for row number " + rowId,e);
312
						continue;
313
					}
314
 
315
					t_order.setLogistics_provider_id(45);
316
					t_order.setTotal_amount(lineItem.getTotal_price());
317
					t_order.setOrderType(OrderType.B2C);
318
					t_order.setSource(HS_SOURCE_ID);
319
					t_order.setTotal_weight(lineItem.getTotal_weight());
320
					t_order.setOrderType(OrderType.B2C);	
321
 
322
					orders.add(t_order);
323
					orderCountForRow++;
324
 
325
					txn.setOrders(orders);
326
					Client transaction_client = new TransactionClient().getClient();
327
 
328
					try {
329
						row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
330
						row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
331
						row.getCell(PRODUCT_ID_INDEX).setCellType(Cell.CELL_TYPE_STRING);
332
						row.getCell(CATALOGUE_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
333
						row.getCell(COURIER_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
334
						row.getCell(PAYMENT_MODE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
335
 
336
						String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
337
						String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
338
						String productId = row.getCell(PRODUCT_ID_INDEX).getStringCellValue();
13713 manish.sha 339
 
13691 manish.sha 340
						String catalogueName = row.getCell(CATALOGUE_NAME_INDEX).getStringCellValue();
341
						String courierName = row.getCell(COURIER_NAME_INDEX).getStringCellValue();
342
						String paymentMode = row.getCell(PAYMENT_MODE_INDEX).getStringCellValue();
343
						Date hsTxnDate = row.getCell(ORDER_DATE_INDEX).getDateCellValue();
344
 
345
						if(transaction_client.homeShopOrderExists(hsOrderNo, hsSubOrderNo)) {
346
							setErrorMsg(getErrorMsg() + "<br>Duplicate order for Home Shop OrderNo " + hsOrderNo + " and Home Shop Sub Order No "+hsSubOrderNo+"for row number  " + rowId);
347
							logger.error("Duplicate order for Home Shop OrderNo " + hsOrderNo + " and Home Shop Sub Order No "+hsSubOrderNo+"for row number  " + rowId);
348
							continue;
349
						}
350
 
351
						transactionId =  String.valueOf(transaction_client.createTransaction(txn));
352
						paymentId = createPayment(user, hsSubOrderNo, totalPrice);
353
 
354
						logger.info("Successfully created transaction: " + transactionId + " for amount: " + totalPrice);
355
 
356
						Transaction transaction = transaction_client.getTransaction(Long.parseLong(transactionId));
357
						Order order = transaction.getOrders().get(0);
358
 
359
						inventoryClient.reserveItemInWarehouse(itemId, fulfillmentWarehouse.getId(), 1, 
360
								order.getId(), order.getCreated_timestamp(), order.getPromised_shipping_time(), order.getLineitems().get(0).getQuantity());
361
 
362
 
363
						HsOrder homeshopOrder = new HsOrder();
364
						homeshopOrder.setOrderId(order.getId());
365
						homeshopOrder.setHsOrderNo(hsOrderNo);
366
						homeshopOrder.setHsSubOrderNo(hsSubOrderNo);
367
						homeshopOrder.setHsOrderDate(hsTxnDate.getTime());
368
						homeshopOrder.setHsProductId(productId);
369
						homeshopOrder.setHsItemId(item_Id);
370
						homeshopOrder.setSellerSku(sku);
371
						homeshopOrder.setPaymentMode(paymentMode);
372
						homeshopOrder.setCourierName(courierName);
373
						homeshopOrder.setSlaDays(slaDays);
374
						homeshopOrder.setCatalogueName(catalogueName);
375
						transaction_client.createHomeShopOrder(homeshopOrder);
376
						new PaymentClient().getClient().updatePaymentDetails(paymentId, null, null, null, null, null, null, hsSubOrderNo, null, PaymentStatus.SUCCESS, null, null);
377
 
378
					} catch (Exception e) {
379
						logger.error("Error while creating order for rowId " + rowId, e);
380
						addActionError("Error while creating order for rowId " + rowId);
381
						setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
382
						continue;
383
					}
384
 
385
 
386
				}catch (Exception e) {
387
					logger.error("Error while creating order for row number " + rowId, e);
388
					setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
389
					continue;
390
				}
391
 
392
			}/*if("CANCELLED".equalsIgnoreCase(subOrderStatus)){
393
				try {
394
					Client transaction_client = new TransactionClient().getClient();
395
					row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
396
					row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
397
					String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
398
					String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
399
					List<HsOrder> hsOrders = transaction_client.getHomeShopOrder(0, hsOrderNo, hsSubOrderNo);
400
					transaction_client.refundOrder(hsOrders.get(0).getOrderId(), "homeshop18", "As per Buyer's Request");
401
 
402
				}catch (Exception e) {
403
					logger.error("Error while cancelling order for row number " + rowId, e);
404
					setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
405
					continue;
406
				}
407
			}*/
408
		}
409
		return "authsuccess";
410
	}
411
 
412
	private LineItem createLineItem(long itemId, double amount, double quantity) throws CatalogServiceException, TException {
413
		LineItem lineItem = new LineItem();
414
		CatalogService.Client catalogClient = new CatalogClient().getClient();
415
		Item item = catalogClient.getItem(itemId);
416
 
417
		lineItem.setProductGroup(item.getProductGroup());
418
		lineItem.setBrand(item.getBrand());
419
		lineItem.setModel_number(item.getModelNumber());
420
		lineItem.setModel_name(item.getModelName());
421
		lineItem.setExtra_info(item.getFeatureDescription());
422
		lineItem.setQuantity(quantity);
423
		lineItem.setItem_id(item.getId());
424
		lineItem.setUnit_weight(item.getWeight());
425
		lineItem.setTotal_weight(item.getWeight()*quantity);
13694 manish.sha 426
		lineItem.setUnit_price(amount/quantity);
427
		lineItem.setTotal_price(amount);
13691 manish.sha 428
 
429
		if (item.getColor() == null || "NA".equals(item.getColor())) {
430
			lineItem.setColor("");
431
		} else {
432
			lineItem.setColor(item.getColor());
433
		}
434
		return lineItem;
435
	}
436
 
437
	private long createPayment(User user, String subOrderId, double amount) throws NumberFormatException, PaymentException, TException {
438
		in.shop2020.payments.PaymentService.Client client = new PaymentClient().getClient();
439
		return client.createPayment(user.getUserId(), amount, HS_GATEWAY_ID, Long.valueOf(transactionId), false);
440
	}
441
 
442
	private boolean checkForErrors(){
443
		Collection<String> actionErrors = getActionErrors();
444
		if(actionErrors != null && !actionErrors.isEmpty()){
445
			for (String str : actionErrors) {
446
				errorMsg += "<BR/>" + str;
447
			}
448
			return true;
449
		}
450
		return false;
451
	}
452
 
453
	@Override
454
	public void setServletRequest(HttpServletRequest request) {
455
		this.request = request;
456
		this.session = request.getSession();
457
	}
458
 
459
	public File getOrderDataFile() {
460
		return orderDataFile;
461
	}
462
 
463
	public void setOrderDataFile(File orderDataFile) {
464
		this.orderDataFile = orderDataFile;
465
	}
466
 
467
	public String getOrderDataFileName() {
468
		return orderDataFileName;
469
	}
470
 
471
	public void setOrderDataFileName(String orderDataFileName) {
472
		this.orderDataFileName = orderDataFileName;
473
	}
474
 
475
	public String getTransactionId() {
476
		return transactionId;
477
	}
478
 
479
	public void setTransactionId(String transactionId) {
480
		this.transactionId = transactionId;
481
	}
482
 
483
	public String getErrorMsg() {
484
		return errorMsg;
485
	}
486
 
487
	public void setErrorMsg(String errorMsg) {
488
		this.errorMsg = errorMsg;
489
	}
490
 
491
	public Long getRowId() {
492
		return rowId;
493
	}
494
 
495
	public void setRowId(Long rowId) {
496
		this.rowId = rowId;
497
	}
498
 
499
	public long getPaymentId() {
500
		return paymentId;
501
	}
502
 
503
	public void setPaymentId(long paymentId) {
504
		this.paymentId = paymentId;
505
	}
506
 
507
}