Subversion Repositories SmartDukaan

Rev

Rev 13983 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.support.controllers;

import in.shop2020.model.v1.catalog.CatalogService;
import in.shop2020.model.v1.catalog.CatalogServiceException;
import in.shop2020.model.v1.catalog.HsItem;
import in.shop2020.model.v1.catalog.Item;
import in.shop2020.model.v1.inventory.InventoryService;
import in.shop2020.model.v1.inventory.InventoryServiceException;
import in.shop2020.model.v1.inventory.InventoryType;
import in.shop2020.model.v1.inventory.VendorItemPricing;
import in.shop2020.model.v1.inventory.Warehouse;
import in.shop2020.model.v1.inventory.WarehouseType;
import in.shop2020.model.v1.order.HsOrder;
import in.shop2020.model.v1.order.LineItem;
import in.shop2020.model.v1.order.Order;
import in.shop2020.model.v1.order.OrderStatus;
import in.shop2020.model.v1.order.OrderType;
import in.shop2020.model.v1.order.SourceDetail;
import in.shop2020.model.v1.order.Transaction;
import in.shop2020.model.v1.order.TransactionStatus;
import in.shop2020.model.v1.order.TransactionService.Client;
import in.shop2020.model.v1.user.User;
import in.shop2020.payments.PaymentException;
import in.shop2020.payments.PaymentStatus;
import in.shop2020.support.utils.ReportsUtils;
import in.shop2020.thrift.clients.CatalogClient;
import in.shop2020.thrift.clients.InventoryClient;
import in.shop2020.thrift.clients.PaymentClient;
import in.shop2020.thrift.clients.TransactionClient;
import in.shop2020.thrift.clients.UserClient;

import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.InterceptorRefs;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.thrift.TException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
@InterceptorRefs({
        @InterceptorRef("defaultStack"),
        @InterceptorRef("login")
})
@Results({
        @Result(name="authfail", type="redirectAction", params = {"actionName" , "reports"})
})
public class HsOrderCreatorController extends ActionSupport implements ServletRequestAware {
        private HttpServletRequest request;
        private HttpSession session;

        private static Logger logger = LoggerFactory.getLogger(HsOrderCreatorController.class);
        private static final int HS_GATEWAY_ID = 20;
        private static final int HS_SOURCE_ID = 4;

        private File orderDataFile;
        private String orderDataFileName;
        private String transactionId;
        private String errorMsg = "";
        private Long rowId = 0L;

        private long paymentId;
        //      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
        //  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
        private static final int HS_ORDER_NO_INDEX = 0;
        private static final int HS_SUB_ORDER_NO_INDEX = 1;
        private static final int CATALOGUE_NAME_INDEX = 2;
        private static final int BILLING_NAME_INDEX = 3;
        private static final int SHIPPING_NAME_INDEX = 4;
        private static final int PRODUCT_ID_INDEX = 5;
        private static final int ITEM_ID_INDEX = 7;
        private static final int SELLER_SKU_INDEX = 8;
        private static final int QUANTITY_INDEX = 9;
        private static final int SUB_ORDER_AMOUNT_INDEX = 10;
        private static final int PAYMENT_MODE_INDEX = 11;
        private static final int SUB_ORDER_STATUS_INDEX = 12;
        private static final int COURIER_NAME_INDEX = 13;
        private static final int SLA_DAYS_INDEX = 16;
        private static final int SHIPPING_ADDRESS_INDEX = 18;
        private static final int SHIPPING_CITY_INDEX = 19;
        private static final int SHIPPING_STATE_INDEX = 20;
        private static final int ZIPCODE_INDEX = 21;
        private static final int MOBILE_NO_INDEX = 22;
        private static final int ORDER_DATE_INDEX = 23;
        private static final int WAREHOUSE_ID_INDEX = 26;
        
        
        public String index() {
        if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), "/hs-dashboard"))
            return "authfail";
        checkForErrors();
        return "authsuccess";
    }

        public String create(){
                File fileToCreate = null;
                orderDataFileName = "OrderSheet_HomeShop18_"+(new Date().toString());
                try {
                        fileToCreate = new File("/tmp/", this.orderDataFileName);
                        FileUtils.copyFile(this.orderDataFile, fileToCreate);
                } catch (Exception e) {
                        logger.error("Error while writing order data file to the local file system for Homeshop18", e);
                        addActionError("Error while writing order data file to the local file system");
                }

                if(checkForErrors())
                        return "authsuccess";

                Workbook wb = null;
                try {
                        wb = new HSSFWorkbook(new FileInputStream(fileToCreate));
                } catch (Exception e) {
                        logger.error("Unable to open the File for Order Creation for Homeshop18 ", e);
                        setErrorMsg(getErrorMsg() + "Error in opening File for Order creation");
                        addActionError("Unable to open the File for Order creation");
                }
                if(checkForErrors())
                        return "authsuccess";

                SourceDetail sourceDetail = null;
                User user = null;
                TransactionClient tsc = null;
                try {
                        tsc = new TransactionClient();
                        sourceDetail = tsc.getClient().getSourceDetail(HS_SOURCE_ID);
                } catch (Exception e) {
                        logger.error("Unable to establish connection to the transaction service while getting Homeshop18 Source Detail", e);
                        setErrorMsg(getErrorMsg() + "Error in Order Service while getting Homeshop18 Source Detail");
                        addActionError("Error in connecting to Order Service");
                }

                if(checkForErrors())
                        return "authsuccess";

                try {   
                        in.shop2020.model.v1.user.UserContextService.Client userClient = new UserClient().getClient();
                        user = userClient.getUserByEmail(sourceDetail.getEmail());
                } catch (Exception e) {
                        logger.error("Unable to establish connection to the User service", e);
                        setErrorMsg(getErrorMsg() + "Unable to get Default Email for Snapdeal ");
                        addActionError("Unable to get Default Email for Snapdeal ");
                }

                if(checkForErrors())
                        return "authsuccess";

                Sheet sheet = wb.getSheetAt(0);
                Row firstRow = sheet.getRow(0);
                Item item;
                HsItem hsItem;
                in.shop2020.model.v1.catalog.CatalogService.Client catalogClient;
                in.shop2020.model.v1.catalog.CatalogService.Client prodCatalogClient;
                for (Row row : sheet) {
                        long orderCountForRow = 0;
                        rowId++;
                        if(row.equals(firstRow))
                                continue;

                        row.getCell(SUB_ORDER_STATUS_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                        String subOrderStatus = row.getCell(SUB_ORDER_STATUS_INDEX).getStringCellValue();

                        if("VERIFIED".equalsIgnoreCase(subOrderStatus) || "ORDER_FORM".equalsIgnoreCase(subOrderStatus) || "PICKED".equalsIgnoreCase(subOrderStatus)){
                                try {
                                        Transaction txn = new Transaction();
                                        txn.setShoppingCartid(user.getActiveCartId());
                                        txn.setCustomer_id(user.getUserId());
                                        txn.setCreatedOn(new Date().getTime());
                                        txn.setTransactionStatus(TransactionStatus.INIT);
                                        txn.setStatusDescription("Order for Homeshop18 ");

                                        List<Order> orders = new ArrayList<Order>();

                                        row.getCell(SELLER_SKU_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        String sku = row.getCell(SELLER_SKU_INDEX).getStringCellValue();

                                        Long itemId;
                                        double totalPrice = 0;

                                        totalPrice = row.getCell(SUB_ORDER_AMOUNT_INDEX).getNumericCellValue();
                                        row.getCell(ITEM_ID_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        String item_Id = row.getCell(ITEM_ID_INDEX).getStringCellValue();

                                        LineItem lineItem = null;
                                        try {
                                                catalogClient = new CatalogClient("catalog_service_server_host_amazon","catalog_service_server_port").getClient();
                                                prodCatalogClient = new CatalogClient().getClient();
                                                hsItem = prodCatalogClient.getHsItem(item_Id);
                                                if(hsItem!=null && hsItem.getItemId()>0){
                                                        item = catalogClient.getItem(hsItem.getItemId());
                                                        itemId = item.getId();
                                                        if(itemId == 0){
                                                                logger.error("No Item found for " + rowId + " "+ itemId);
                                                                continue;
                                                        }
                                                        lineItem = createLineItem(itemId, totalPrice, row.getCell(QUANTITY_INDEX).getNumericCellValue());
                                                        row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                        row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                        String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
                                                        String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
                                                        lineItem.setExtra_info("HSOrderNo = " + hsOrderNo + " HSSubOrderNo = " + hsSubOrderNo);
                                                }else{
                                                        logger.error("Unable to get Item Mapping For this HsItemId "+item_Id+"for RowId " + rowId);
                                                        setErrorMsg(getErrorMsg() + "Unable to get Item Mapping For this HsItemId "+item_Id+"for RowId " + rowId);
                                                        continue;
                                                }
                                        } catch (Exception tex) {
                                                logger.error("Unable to create order for RowId " + rowId, tex);
                                                setErrorMsg(getErrorMsg() + "<br>Unable to create lineitem using catalog info for RowId " + rowId);
                                                continue;
                                        }

                                        Order t_order = new Order();
                                        t_order.setCustomer_id(user.getUserId());
                                        t_order.setCustomer_email(sourceDetail.getEmail());
                                        row.getCell(BILLING_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(SHIPPING_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(SHIPPING_ADDRESS_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(SHIPPING_CITY_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(SHIPPING_STATE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(MOBILE_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(ZIPCODE_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        t_order.setCustomer_name(row.getCell(BILLING_NAME_INDEX).getStringCellValue());
                                        t_order.setCustomer_mobilenumber(row.getCell(MOBILE_NO_INDEX).getStringCellValue());
                                        t_order.setCustomer_address1(row.getCell(SHIPPING_ADDRESS_INDEX).getStringCellValue());
                                        t_order.setCustomer_address2("");
                                        t_order.setCustomer_city(row.getCell(SHIPPING_CITY_INDEX).getStringCellValue());
                                        t_order.setCustomer_state(row.getCell(SHIPPING_STATE_INDEX).getStringCellValue());
                                        t_order.setCustomer_pincode(row.getCell(ZIPCODE_INDEX).getStringCellValue());
                                        t_order.setTotal_amount(lineItem.getTotal_price());             
                                        t_order.setTotal_weight(lineItem.getTotal_weight());
                                        t_order.setLineitems(Collections.singletonList(lineItem));            
                                        t_order.setStatus(OrderStatus.PAYMENT_PENDING);
                                        if("ORDER_FORM".equalsIgnoreCase(subOrderStatus)){
                                                t_order.setStatusDescription("In Process- Order Form");
                                        }else{
                                                t_order.setStatusDescription("In Process");
                                        }
                                        t_order.setCreated_timestamp(new Date().getTime());
                                        t_order.setOrderType(OrderType.B2C);
                                        t_order.setCod(false);
                                        int slaDays = (int)row.getCell(SLA_DAYS_INDEX).getNumericCellValue();
                                        try {
                                                Calendar time = Calendar.getInstance();
                                                time.add(Calendar.DAY_OF_MONTH, slaDays);
                                                if(time.get(Calendar.DAY_OF_WEEK)!=1){
                                                        t_order.setPromised_shipping_time(time.getTimeInMillis());
                                                        t_order.setExpected_shipping_time(time.getTimeInMillis());
                                                }
                                                else{
                                                        t_order.setPromised_shipping_time(time.getTimeInMillis()+24*60*60*1000);
                                                        t_order.setExpected_shipping_time(time.getTimeInMillis()+24*60*60*1000);
                                                }
                                                time.add(Calendar.DAY_OF_MONTH, 3);
                                                t_order.setPromised_delivery_time(time.getTimeInMillis());
                                                t_order.setExpected_delivery_time(time.getTimeInMillis());
                                        }catch(Exception e) {
                                                addActionError("Error in updating Shipping or Delivery Time for row number " + rowId);
                                                logger.error("Error in updating Shipping or Delivery Time for row number " + rowId,e);
                                                continue;
                                        }

                                        InventoryService.Client inventoryClient = null;
                                        Warehouse fulfillmentWarehouse= null; 
                                        try {
                                                inventoryClient = new InventoryClient().getClient();
                                                if(hsItem.getDefaultWarehouseId()>0){
                                                        fulfillmentWarehouse = inventoryClient.getWarehouse(hsItem.getDefaultWarehouseId());
                                                } else {
                                                        List<Long> itemAvailability = inventoryClient.getItemAvailabilityAtLocation(itemId, 1);
                                                        fulfillmentWarehouse = inventoryClient.getWarehouse(itemAvailability.get(0));
                                                }
                                                t_order.setFulfilmentWarehouseId(fulfillmentWarehouse.getId());

                                                long billingWarehouseId = 0;
                                                if(fulfillmentWarehouse.getBillingWarehouseId()== 0) {
                                                        inventoryClient = new InventoryClient().getClient();
                                                        List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, fulfillmentWarehouse.getVendor().getId(), 0, 0);
                                                        for(Warehouse warehouse : warehouses) {
                                                                if(warehouse.getBillingWarehouseId()!=0) {
                                                                        billingWarehouseId = warehouse.getBillingWarehouseId();
                                                                        break;
                                                                }
                                                        }
                                                } else {
                                                        billingWarehouseId = fulfillmentWarehouse.getBillingWarehouseId();
                                                }

                                                t_order.setWarehouse_id(billingWarehouseId);
                                                //t_order.setWarehouse_id(fulfillmentWarehouse.getBillingWarehouseId());
                                                VendorItemPricing vendorItemPricing = inventoryClient.getItemPricing(lineItem.getItem_id(), fulfillmentWarehouse.getVendor().getId());
                                                t_order.getLineitems().get(0).setTransfer_price(vendorItemPricing.getTransferPrice());
                                                t_order.getLineitems().get(0).setNlc(vendorItemPricing.getNlc());
                                        } catch (InventoryServiceException e) {
                                                addActionError("Error in updating WarehouseId for row number " + rowId);
                                                setErrorMsg(getErrorMsg() + "<br>Error in updating WarehouseId for row number  " + rowId);
                                                logger.error("Error in updating WarehouseId for row number " + rowId,e);
                                                continue;
                                        }

                                        t_order.setLogistics_provider_id(45);
                                        t_order.setTotal_amount(lineItem.getTotal_price());
                                        t_order.setOrderType(OrderType.B2C);
                                        t_order.setSource(HS_SOURCE_ID);
                                        t_order.setTotal_weight(lineItem.getTotal_weight());
                                        t_order.setOrderType(OrderType.B2C);    

                                        orders.add(t_order);
                                        orderCountForRow++;

                                        txn.setOrders(orders);
                                        Client transaction_client = new TransactionClient().getClient();

                                        try {
                                                row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                row.getCell(PRODUCT_ID_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                row.getCell(CATALOGUE_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                row.getCell(COURIER_NAME_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                                row.getCell(PAYMENT_MODE_INDEX).setCellType(Cell.CELL_TYPE_STRING);

                                                String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
                                                String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
                                                String productId = row.getCell(PRODUCT_ID_INDEX).getStringCellValue();
                                                
                                                String catalogueName = row.getCell(CATALOGUE_NAME_INDEX).getStringCellValue();
                                                String courierName = row.getCell(COURIER_NAME_INDEX).getStringCellValue();
                                                String paymentMode = row.getCell(PAYMENT_MODE_INDEX).getStringCellValue();
                                                String shippingName = row.getCell(SHIPPING_NAME_INDEX).getStringCellValue();
                                                Date hsTxnDate = row.getCell(ORDER_DATE_INDEX).getDateCellValue();
                                                
                                                hsOrderNo = hsOrderNo.trim();
                                                hsSubOrderNo = hsSubOrderNo.trim();
                                                if(transaction_client.homeShopOrderExists(hsOrderNo, hsSubOrderNo)) {
                                                        setErrorMsg(getErrorMsg() + "<br>Duplicate order for Home Shop OrderNo " + hsOrderNo + " and Home Shop Sub Order No "+hsSubOrderNo+"for row number  " + rowId);
                                                        logger.error("Duplicate order for Home Shop OrderNo " + hsOrderNo + " and Home Shop Sub Order No "+hsSubOrderNo+"for row number  " + rowId);
                                                        continue;
                                                }

                                                transactionId =  String.valueOf(transaction_client.createTransaction(txn));
                                                paymentId = createPayment(user, hsSubOrderNo, totalPrice);

                                                logger.info("Successfully created transaction: " + transactionId + " for amount: " + totalPrice);

                                                Transaction transaction = transaction_client.getTransaction(Long.parseLong(transactionId));
                                                Order order = transaction.getOrders().get(0);

                                                inventoryClient.reserveItemInWarehouse(itemId, fulfillmentWarehouse.getId(), 1, 
                                                                order.getId(), order.getCreated_timestamp(), order.getPromised_shipping_time(), order.getLineitems().get(0).getQuantity());


                                                HsOrder homeshopOrder = new HsOrder();
                                                homeshopOrder.setOrderId(order.getId());
                                                homeshopOrder.setHsOrderNo(hsOrderNo);
                                                homeshopOrder.setHsSubOrderNo(hsSubOrderNo);
                                                homeshopOrder.setHsOrderDate(hsTxnDate.getTime());
                                                homeshopOrder.setHsProductId(productId);
                                                homeshopOrder.setHsItemId(item_Id);
                                                homeshopOrder.setSellerSku(sku);
                                                homeshopOrder.setPaymentMode(paymentMode);
                                                homeshopOrder.setCourierName(courierName);
                                                homeshopOrder.setSlaDays(slaDays);
                                                homeshopOrder.setCatalogueName(catalogueName);
                                                homeshopOrder.setShippingName(shippingName);
                                                transaction_client.createHomeShopOrder(homeshopOrder);
                                                new PaymentClient().getClient().updatePaymentDetails(paymentId, null, null, null, null, null, null, hsSubOrderNo, null, PaymentStatus.SUCCESS, null, null);

                                        } catch (Exception e) {
                                                logger.error("Error while creating order for rowId " + rowId, e);
                                                addActionError("Error while creating order for rowId " + rowId);
                                                setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
                                                continue;
                                        }


                                }catch (Exception e) {
                                        logger.error("Error while creating order for row number " + rowId, e);
                                        setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
                                        continue;
                                }

                        }/*if("CANCELLED".equalsIgnoreCase(subOrderStatus)){
                                try {
                                        Client transaction_client = new TransactionClient().getClient();
                                        row.getCell(HS_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        row.getCell(HS_SUB_ORDER_NO_INDEX).setCellType(Cell.CELL_TYPE_STRING);
                                        String hsOrderNo = row.getCell(HS_ORDER_NO_INDEX).getStringCellValue();
                                        String hsSubOrderNo = row.getCell(HS_SUB_ORDER_NO_INDEX).getStringCellValue();
                                        List<HsOrder> hsOrders = transaction_client.getHomeShopOrder(0, hsOrderNo, hsSubOrderNo);
                                        transaction_client.refundOrder(hsOrders.get(0).getOrderId(), "homeshop18", "As per Buyer's Request");
                                        
                                }catch (Exception e) {
                                        logger.error("Error while cancelling order for row number " + rowId, e);
                                        setErrorMsg(getErrorMsg() + "<br>Error while creating order for row number " + rowId);
                                        continue;
                                }
                        }*/
                }
                return "authsuccess";
        }

        private LineItem createLineItem(long itemId, double amount, double quantity) throws CatalogServiceException, TException {
                LineItem lineItem = new LineItem();
                CatalogService.Client catalogClient = new CatalogClient().getClient();
                Item item = catalogClient.getItem(itemId);

                lineItem.setProductGroup(item.getProductGroup());
                lineItem.setBrand(item.getBrand());
                lineItem.setModel_number(item.getModelNumber());
                lineItem.setModel_name(item.getModelName());
                lineItem.setExtra_info(item.getFeatureDescription());
                lineItem.setQuantity(quantity);
                lineItem.setItem_id(item.getId());
                lineItem.setUnit_weight(item.getWeight());
                lineItem.setTotal_weight(item.getWeight()*quantity);
                lineItem.setUnit_price(amount/quantity);
                lineItem.setTotal_price(amount);

                if (item.getColor() == null || "NA".equals(item.getColor())) {
                        lineItem.setColor("");
                } else {
                        lineItem.setColor(item.getColor());
                }
                return lineItem;
        }

        private long createPayment(User user, String subOrderId, double amount) throws NumberFormatException, PaymentException, TException {
                in.shop2020.payments.PaymentService.Client client = new PaymentClient().getClient();
                return client.createPayment(user.getUserId(), amount, HS_GATEWAY_ID, Long.valueOf(transactionId), false);
        }

        private boolean checkForErrors(){
                Collection<String> actionErrors = getActionErrors();
                if(actionErrors != null && !actionErrors.isEmpty()){
                        for (String str : actionErrors) {
                                errorMsg += "<BR/>" + str;
                        }
                        return true;
                }
                return false;
        }

        @Override
        public void setServletRequest(HttpServletRequest request) {
                this.request = request;
                this.session = request.getSession();
        }

        public File getOrderDataFile() {
                return orderDataFile;
        }

        public void setOrderDataFile(File orderDataFile) {
                this.orderDataFile = orderDataFile;
        }

        public String getOrderDataFileName() {
                return orderDataFileName;
        }

        public void setOrderDataFileName(String orderDataFileName) {
                this.orderDataFileName = orderDataFileName;
        }

        public String getTransactionId() {
                return transactionId;
        }

        public void setTransactionId(String transactionId) {
                this.transactionId = transactionId;
        }

        public String getErrorMsg() {
                return errorMsg;
        }

        public void setErrorMsg(String errorMsg) {
                this.errorMsg = errorMsg;
        }

        public Long getRowId() {
                return rowId;
        }

        public void setRowId(Long rowId) {
                this.rowId = rowId;
        }

        public long getPaymentId() {
                return paymentId;
        }

        public void setPaymentId(long paymentId) {
                this.paymentId = paymentId;
        }

}