Subversion Repositories SmartDukaan

Rev

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

Rev 1891 Rev 1941
Line 7... Line 7...
7
import in.shop2020.model.v1.user.Address;
7
import in.shop2020.model.v1.user.Address;
8
import in.shop2020.model.v1.user.User;
8
import in.shop2020.model.v1.user.User;
9
import in.shop2020.model.v1.user.UserCommunication;
9
import in.shop2020.model.v1.user.UserCommunication;
10
import in.shop2020.model.v1.user.UserContextService.Client;
10
import in.shop2020.model.v1.user.UserContextService.Client;
11
import in.shop2020.payments.Payment;
11
import in.shop2020.payments.Payment;
-
 
12
import in.shop2020.support.utils.ReportsUtils;
12
import in.shop2020.thrift.clients.PaymentServiceClient;
13
import in.shop2020.thrift.clients.PaymentServiceClient;
13
import in.shop2020.thrift.clients.TransactionServiceClient;
14
import in.shop2020.thrift.clients.TransactionServiceClient;
14
import in.shop2020.thrift.clients.UserContextServiceClient;
15
import in.shop2020.thrift.clients.UserContextServiceClient;
15
 
16
 
16
import java.io.ByteArrayOutputStream;
17
import java.io.ByteArrayOutputStream;
Line 20... Line 21...
20
import java.util.Date;
21
import java.util.Date;
21
import java.util.HashMap;
22
import java.util.HashMap;
22
import java.util.List;
23
import java.util.List;
23
import java.util.Map;
24
import java.util.Map;
24
 
25
 
-
 
26
import javax.servlet.ServletContext;
25
import javax.servlet.ServletOutputStream;
27
import javax.servlet.ServletOutputStream;
-
 
28
import javax.servlet.http.HttpServletRequest;
-
 
29
import javax.servlet.http.HttpServletResponse;
-
 
30
import javax.servlet.http.HttpSession;
26
 
31
 
27
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
32
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
28
import org.apache.poi.ss.usermodel.Cell;
33
import org.apache.poi.ss.usermodel.Cell;
29
import org.apache.poi.ss.usermodel.CellStyle;
34
import org.apache.poi.ss.usermodel.CellStyle;
30
import org.apache.poi.ss.usermodel.CreationHelper;
35
import org.apache.poi.ss.usermodel.CreationHelper;
Line 33... Line 38...
33
import org.apache.poi.ss.usermodel.Sheet;
38
import org.apache.poi.ss.usermodel.Sheet;
34
import org.apache.poi.ss.usermodel.Workbook;
39
import org.apache.poi.ss.usermodel.Workbook;
35
import org.apache.poi.ss.util.CellRangeAddress;
40
import org.apache.poi.ss.util.CellRangeAddress;
36
import org.apache.struts2.convention.annotation.InterceptorRef;
41
import org.apache.struts2.convention.annotation.InterceptorRef;
37
import org.apache.struts2.convention.annotation.InterceptorRefs;
42
import org.apache.struts2.convention.annotation.InterceptorRefs;
-
 
43
import org.apache.struts2.interceptor.ServletRequestAware;
-
 
44
import org.apache.struts2.interceptor.ServletResponseAware;
-
 
45
import org.apache.struts2.util.ServletContextAware;
38
 
46
 
39
@InterceptorRefs({
47
@InterceptorRefs({
40
    @InterceptorRef("myDefault"),
48
    @InterceptorRef("defaultStack"),
41
    @InterceptorRef("login")
49
    @InterceptorRef("login")
42
})
50
})
43
 
51
 
44
public class UserOrdersController extends ReportsController {
52
public class UserOrdersController implements ServletRequestAware, ServletResponseAware, ServletContextAware {
-
 
53
 
-
 
54
    private HttpServletRequest request;
-
 
55
    private HttpSession session;
-
 
56
    private HttpServletResponse response;
-
 
57
    private ServletContext context;
45
 
58
 
46
	//private static final DateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy/MM/dd HH:mm");
59
	//private static final DateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy/MM/dd HH:mm");
47
		
60
		
48
	private String errorMsg = "";
61
	private String errorMsg = "";
49
	
62
	
50
	public String index()	{
63
	public String index()	{
51
        if(!canAccessReport()) {
64
        if(!ReportsUtils.canAccessReport((Long)session.getAttribute(ReportsUtils.ROLE), request.getServletPath())) {
52
            return "exception";
65
            return "exception";
53
        }
66
        }
54
		return "report";
67
		return "report";
55
	}
68
	}
56
	
69
	
57
	// Handles the POST request (Form Submission)
70
	// Handles the POST request (Form Submission)
58
	public String create(){
71
	public String create(){
59
		try	{
72
		try	{
60
			//Formatting Form input parameters
73
			//Formatting Form input parameters
61
			String email = getServletRequest().getParameter("email");
74
			String email = request.getParameter("email");
62
			String orderid = getServletRequest().getParameter("orderid");
75
			String orderid = request.getParameter("orderid");
63
 
76
 
64
			TransactionServiceClient transactionServiceClient = new TransactionServiceClient();
77
			TransactionServiceClient transactionServiceClient = new TransactionServiceClient();
65
			in.shop2020.model.v1.order.TransactionService.Client transactionClient = transactionServiceClient.getClient();
78
			in.shop2020.model.v1.order.TransactionService.Client transactionClient = transactionServiceClient.getClient();
66
			
79
			
67
			UserContextServiceClient userContextServiceClient = new UserContextServiceClient();
80
			UserContextServiceClient userContextServiceClient = new UserContextServiceClient();
Line 107... Line 120...
107
			for(Payment payment : payments) {
120
			for(Payment payment : payments) {
108
				txnIdToPaymentMap.put(payment.getMerchantTxnId(), payment);
121
				txnIdToPaymentMap.put(payment.getMerchantTxnId(), payment);
109
			}
122
			}
110
			
123
			
111
			// Preparing XLS file for output
124
			// Preparing XLS file for output
112
			getServletResponse().setContentType("application/vnd.ms-excel");
125
			response.setContentType("application/vnd.ms-excel");
113
			
126
			
114
			getServletResponse().setHeader("Content-disposition", "inline; filename=user-orders" + ".xls");
127
			response.setHeader("Content-disposition", "inline; filename=user-orders" + ".xls");
115
			
128
			
116
			ServletOutputStream sos;
129
			ServletOutputStream sos;
117
			try {
130
			try {
118
				ByteArrayOutputStream baos = getSpreadSheetData(user,
131
				ByteArrayOutputStream baos = getSpreadSheetData(user,
119
						transactions, txnIdToPaymentMap, userCommunications, userClient);
132
						transactions, txnIdToPaymentMap, userCommunications, userClient);
120
				sos = getServletResponse().getOutputStream();
133
				sos = response.getOutputStream();
121
				baos.writeTo(sos);
134
				baos.writeTo(sos);
122
				sos.flush();
135
				sos.flush();
123
			} catch (IOException e) {
136
			} catch (IOException e) {
124
				errorMsg = "Failed to write to response.";
137
				errorMsg = "Failed to write to response.";
125
				e.printStackTrace();
138
				e.printStackTrace();
Line 455... Line 468...
455
	}
468
	}
456
	
469
	
457
	public String getErrorMsg() {
470
	public String getErrorMsg() {
458
		return errorMsg;
471
		return errorMsg;
459
	}
472
	}
-
 
473
	
-
 
474
    @Override
-
 
475
    public void setServletRequest(HttpServletRequest req) {
-
 
476
        this.request = req;
-
 
477
        this.session = req.getSession();        
-
 
478
    }
-
 
479
 
-
 
480
    @Override
-
 
481
    public void setServletResponse(HttpServletResponse res) {
-
 
482
        this.response = res;
-
 
483
    }
-
 
484
    
-
 
485
    @Override
-
 
486
    public void setServletContext(ServletContext context) {
-
 
487
        this.context = context;
-
 
488
    }
-
 
489
 
-
 
490
    public String getServletContextPath() {
-
 
491
        return context.getContextPath();
-
 
492
    }
460
}
493
}
461
494