Subversion Repositories SmartDukaan

Rev

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

Rev 3125 Rev 3213
Line 5... Line 5...
5
import in.shop2020.model.v1.order.TransactionServiceException;
5
import in.shop2020.model.v1.order.TransactionServiceException;
6
import in.shop2020.model.v1.order.TransactionStatus;
6
import in.shop2020.model.v1.order.TransactionStatus;
7
import in.shop2020.model.v1.user.Address;
7
import in.shop2020.model.v1.user.Address;
8
import in.shop2020.model.v1.user.Cart;
8
import in.shop2020.model.v1.user.Cart;
9
import in.shop2020.model.v1.user.Line;
9
import in.shop2020.model.v1.user.Line;
-
 
10
import in.shop2020.model.v1.user.ShoppingCartException;
10
import in.shop2020.model.v1.user.User;
11
import in.shop2020.model.v1.user.User;
11
import in.shop2020.model.v1.user.UserContextService.Client;
12
import in.shop2020.model.v1.user.UserContextService.Client;
12
import in.shop2020.thrift.clients.CatalogClient;
13
import in.shop2020.thrift.clients.CatalogClient;
13
import in.shop2020.thrift.clients.TransactionClient;
14
import in.shop2020.thrift.clients.TransactionClient;
14
import in.shop2020.thrift.clients.UserClient;
15
import in.shop2020.thrift.clients.UserClient;
Line 35... Line 36...
35
import org.apache.poi.ss.usermodel.Row;
36
import org.apache.poi.ss.usermodel.Row;
36
import org.apache.poi.ss.usermodel.Sheet;
37
import org.apache.poi.ss.usermodel.Sheet;
37
import org.apache.poi.ss.usermodel.Workbook;
38
import org.apache.poi.ss.usermodel.Workbook;
38
import org.apache.poi.ss.util.CellRangeAddress;
39
import org.apache.poi.ss.util.CellRangeAddress;
39
import org.apache.struts2.interceptor.ServletResponseAware;
40
import org.apache.struts2.interceptor.ServletResponseAware;
-
 
41
import org.apache.thrift.TException;
-
 
42
import org.slf4j.Logger;
-
 
43
import org.slf4j.LoggerFactory;
40
 
44
 
41
/**
45
/**
42
 * Provides reports about carts created in last 15 days. Also provides data
46
 * Provides reports about carts created in last 15 days. Also provides data
43
 * about transactions created for a cart.
47
 * about transactions created for a cart.
44
 * 
48
 * 
45
 * @author Ankur Singhal
49
 * @author Ankur Singhal
46
 * 
50
 * 
47
 */
51
 */
48
public class CartReportController implements ServletResponseAware{
52
public class CartReportController implements ServletResponseAware{
49
 
53
 
-
 
54
    private static Logger logger = LoggerFactory.getLogger(CartReportController.class);
-
 
55
    
50
	private HttpServletResponse response;
56
	private HttpServletResponse response;
51
	
57
	
52
	private String errorMsg = "";
58
	private String errorMsg = "";
53
	
59
	
54
	@Override
60
	@Override
Line 117... Line 123...
117
				sos = response.getOutputStream();
123
				sos = response.getOutputStream();
118
				baos.writeTo(sos);
124
				baos.writeTo(sos);
119
				sos.flush();
125
				sos.flush();
120
			} catch (IOException e) {
126
			} catch (IOException e) {
121
				errorMsg = "Failed to write to response.";
127
				errorMsg = "Failed to write to response.";
122
				e.printStackTrace();
128
				logger.error("Unable to stream the cart report", e);
123
			}
129
			}
124
 
130
 
125
		} catch (ParseException e)	{
131
		} catch (ParseException e)	{
-
 
132
		    logger.error("Unable to parse the start or end date", e);
126
			errorMsg = e.getMessage();
133
		    errorMsg = e.getMessage();
127
			e.printStackTrace();
-
 
128
		} catch (TransactionServiceException e)	{
134
		} catch (TransactionServiceException e)	{
-
 
135
		    logger.error("Error while getting transaction info", e);
129
			errorMsg = e.getMessage();
136
			errorMsg = e.getMessage();
130
			e.printStackTrace();
137
		} catch (ShoppingCartException e) {
-
 
138
		    logger.error("Error while getting cart date", e);
-
 
139
            errorMsg = e.getMessage();
131
		} catch (Exception e)	{
140
        } catch (TException e) {
-
 
141
            logger.error("Unable to get order or cart data", e);
132
			errorMsg = e.getMessage();
142
            errorMsg = e.getMessage();
-
 
143
        } catch (Exception e)   {
-
 
144
            logger.error("Unexpected exception", e);
133
			e.printStackTrace();
145
            errorMsg = e.getMessage();
134
		}
146
        }
135
	}
147
	}
136
	
148
	
137
	// Prepares the XLS worksheet object and fills in the data with proper formatting
149
	// Prepares the XLS worksheet object and fills in the data with proper formatting
138
    private ByteArrayOutputStream getSpreadSheetData(List<Cart> carts,
150
    private ByteArrayOutputStream getSpreadSheetData(List<Cart> carts,
139
            Map<Long, Transaction> cartToTransactionMap, Client userClient)
151
            Map<Long, Transaction> cartToTransactionMap, Client userClient)
Line 157... Line 169...
157
		// Write the workbook to the output stream
169
		// Write the workbook to the output stream
158
		try {
170
		try {
159
			wb.write(baosXLS);
171
			wb.write(baosXLS);
160
			baosXLS.close();
172
			baosXLS.close();
161
		} catch (IOException e) {
173
		} catch (IOException e) {
162
			e.printStackTrace();
174
			logger.error("Unable to convert the cart report to byte array", e);
163
		}		
175
		}		
164
		return baosXLS;
176
		return baosXLS;
165
	}
177
	}
166
 
178
 
167
    private void createCartSheet(List<Cart> carts,
179
    private void createCartSheet(List<Cart> carts,