Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
4638 amar.kumar 1
<%@page import="java.util.Hashtable"%>
2
<%@ page language="java" contentType="text/html; charset=UTF-8"
3
    pageEncoding="UTF-8"%>
4
<%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %>
5
<%@ page import="com.google.appengine.api.datastore.DatastoreService" %>
6
<%@ page import="com.google.appengine.api.datastore.Query" %>
7
<%@ page import="com.google.appengine.api.datastore.Entity" %>
8
<%@ page import="com.google.appengine.api.datastore.PreparedQuery" %>
9
<%@	page import="com.google.appengine.api.datastore.Query.SortDirection"%>
10
<%@	page import="java.util.Calendar"%>
11
<%@ page import="java.util.Map"%>
12
<%@	page import="java.util.Map.Entry"%>
13
<%@	page import="java.text.ParseException"%>
14
<%@	page import="java.util.TimeZone"%>
15
<%@	page import="java.util.Date"%>
16
<%@	page import="java.text.SimpleDateFormat"%>
17
<%@	page import="in.shop2020.model.Category"%>
18
 
19
 
20
<html>
21
<head>
22
<link rel="stylesheet" href="/DataTables/media/css/demo_table.css" type="text/css" />
23
<link rel="stylesheet" href="/DataTables/extras/TableTools/media/css/TableTools.css" type="text/css" /> 
24
<title>Search Analysis</title>
25
</head>
26
<body>
27
<%
28
Date toDate = new Date();
29
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("IST"));
30
cal.add(Calendar.DAY_OF_MONTH, -2);
31
Date fromDate = cal.getTime();
32
SimpleDateFormat iSdf = new SimpleDateFormat("yyyyMMdd");
33
String toDateStr  = request.getParameter("toDate");
34
String fromDateStr = request.getParameter("fromDate");
35
if (fromDateStr == null || fromDateStr.isEmpty()) {
36
    fromDateStr = iSdf.format(fromDate);
37
}
38
if (toDateStr == null || toDateStr.isEmpty()) {
39
    toDateStr = iSdf.format(toDate);
40
}
41
String eventType = "PRODUCT_SEARCH";
42
String productQuery = request.getParameter("productQuery");
43
%>
44
 
45
<form id="searchfilter" name="searchfilter" method="post" action="/jsp/productSearch.jsp">
46
<label>From Date(YYYYMMDD) : </label> <input type="text" name="fromDate" id="fromDate" value="<%= fromDateStr %>"/>
47
<label>To Date(YYYYMMDD) : </label> <input type="text" name="toDate" id="toDate" value="<%= toDateStr %>"/>
48
<input type="Submit" id="Submit" name="Submit" value="Submit" />
49
</form>
50
 
51
<%
52
    try {
53
        if (fromDateStr != null) {
54
            fromDate = iSdf.parse(fromDateStr);
55
        }
56
        if (toDateStr != null) {
57
            toDate = iSdf.parse(toDateStr);
58
        }
59
    }
60
    catch (ParseException pe) {
61
%>
62
        <span>Invalid Date Format</span>
63
<%
64
    }
65
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
66
    sdf.setTimeZone(TimeZone.getTimeZone("IST"));
67
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
68
    Query query = new Query("DataLog");
69
    query.addFilter("eventType", Query.FilterOperator.EQUAL, "PRODUCT_SEARCH");
70
    query.addFilter("date", Query.FilterOperator.GREATER_THAN_OR_EQUAL, fromDate);
71
    query.addFilter("date", Query.FilterOperator.LESS_THAN_OR_EQUAL, toDate);
72
    if(productQuery!=null){
73
    	query.addFilter("query",Query.FilterOperator.EQUAL,productQuery);	
74
    }
75
    PreparedQuery pq = datastore.prepare(query);
76
%>
77
 
78
<table cellpadding="0" cellspacing="0" border="0" class="display" id="searchData">
79
	<thead>
80
		<tr>
81
			<th>Date</th>
82
			<th>UserId</th>	
83
			<th>Session</th>
84
			<th>Query String</th>
85
			<th>Category</th>
86
			<th>Number of Results</th>
87
		</tr>
88
	</thead>
89
	<tbody>
90
<%
91
        for (Entity result : pq.asIterable()) {
92
%>			
93
			<tr>
94
				<td><%=sdf.format((Date) (result.getProperty("date")))%></td>
95
				<td><a href="/jsp/user-activity.jsp?email=<%=result.getProperty("email").toString()%>"><%= result.getProperty("email").toString() %></a></td>
96
            	<td><a href="/jsp/session-activity.jsp?sessionId=<%=result.getProperty("sessionId").toString()%>">View Session</a></td>
97
                <td><%=(result.getProperty("query")) %></td>
98
				<td><%=Category.findByValue(Integer.parseInt(result.getProperty("categoryId").toString())) %></td>
99
				<td><%=(result.getProperty("totalResults")) %></td>	
100
            </tr>    
101
            <%}%>
102
 
103
	</tbody>
104
</table>
105
 
4639 amar.kumar 106
<h3><a href= "/jsp/productSearchFrequency.jsp?toDate=<%=toDateStr%>&fromDate=<%=fromDateStr%>">Go back to Product Search Frequencies</h3>
4638 amar.kumar 107
 
108
<script type="text/javascript" language="javascript" src="/DataTables/media/js/jquery.js"></script>
109
    <script type="text/javascript" language="javascript" src="/DataTables/media/js/jquery.dataTables.min.js"></script>
110
    <script type="text/javascript" charset="utf-8" src="/DataTables/extras/TableTools/media/js/ZeroClipboard.js"></script>
111
    <script type="text/javascript" charset="utf-8" src="/DataTables/extras/TableTools/media/js/TableTools.js"></script>
112
    <script type="text/javascript" charset="utf-8">
113
        $(document).ready(function() {
114
            $('#searchData').dataTable({
115
            	"sPaginationType": "full_numbers",
116
            	"bProcessing": true,
117
                "bStateSave": true,
118
            	"sDom": 'T<"clear">lfrtip',
119
            	"bFilter": false,
120
                "oTableTools": {
121
                    "sSwfPath": "/DataTables/extras/TableTools/media/swf/copy_cvs_xls_pdf.swf"
122
                },
123
                "aoColumns": [ 
124
                          null,
125
                          null,
126
                          null,
127
                          null,
128
                          null,
129
                          null
130
                ] 
131
            });
132
        } );
133
    </script>
134
</body>
135
</html>