Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4518 varun.gupt 1
package in.shop2020.serving.controllers;
2
 
3
import in.shop2020.serving.cache.SnippetCacheWrapper;
4
import in.shop2020.serving.cache.EhcacheWrapper.CacheKeys;
5460 phani.kuma 5
import in.shop2020.thrift.clients.CatalogClient;
4518 varun.gupt 6
 
7
import java.util.ArrayList;
8
import java.util.List;
9
 
5460 phani.kuma 10
import org.apache.log4j.Logger;
6381 rajveer 11
import org.apache.struts2.convention.annotation.Action;
12
import org.apache.struts2.convention.annotation.Actions;
13
import org.apache.struts2.convention.annotation.Result;
5460 phani.kuma 14
 
4518 varun.gupt 15
/**
16
 * @author Varun Gupta
17
 */
4882 rajveer 18
@SuppressWarnings("serial")
6381 rajveer 19
@Result(name = "index", location = "clearance-sale-index.vm")
4518 varun.gupt 20
public class ClearanceSaleController extends BaseController {
21
 
5460 phani.kuma 22
	private static Logger log = Logger.getLogger(ClearanceSaleController.class);
6381 rajveer 23
	private static List<Long> entityIds = new ArrayList<Long>();
24
	private static List<Long> sonyEntityIds = new ArrayList<Long>();
5460 phani.kuma 25
	private List<String> snippets = new ArrayList<String>();
6381 rajveer 26
	private List<String> sonySnippets = new ArrayList<String>();
4518 varun.gupt 27
 
6381 rajveer 28
	static {
29
		sonyEntityIds.add(1004874L);
30
		sonyEntityIds.add(1002111L);
31
		sonyEntityIds.add(1003428L);
32
		sonyEntityIds.add(1003376L);
33
		sonyEntityIds.add(1004882L);
34
		sonyEntityIds.add(1004204L);
35
		sonyEntityIds.add(1003426L);
36
		sonyEntityIds.add(1004838L);
37
		sonyEntityIds.add(1005156L);
38
		sonyEntityIds.add(1004429L);
39
 
5460 phani.kuma 40
		try {
6381 rajveer 41
			CatalogClient catalogClientService = new CatalogClient();
5945 mandeep.dh 42
			in.shop2020.model.v1.catalog.CatalogService.Client client = catalogClientService.getClient();
5460 phani.kuma 43
			log.info("Getting clearance sale products snippets.");
44
			entityIds = client.getClearanceSaleCatalogIds();
45
		} catch (Exception e) {
46
			log.error("Unable to get clearance sale products from inventory service", e);
47
		}
48
	}
6381 rajveer 49
 
50
	@Actions({
51
		@Action("/clearance-sale"),
52
		@Action("/sony")
53
	})
4520 varun.gupt 54
	public String index()	{
4518 varun.gupt 55
		return "index";
56
	}
57
 
6381 rajveer 58
	public void addEntityId(Long entityId, List<String> snippets)	{
4520 varun.gupt 59
 
5460 phani.kuma 60
	    String snippet = (String) SnippetCacheWrapper.getSnippet(CacheKeys.CATEGORY_SNIPPET_CACHE_KEY, entityId+"", sourceId);
4520 varun.gupt 61
 
62
	    if (snippet != null)	{
5460 phani.kuma 63
	        snippets.add(snippet);
4520 varun.gupt 64
	    }
4518 varun.gupt 65
	}
66
 
5460 phani.kuma 67
	public List<String> getSnippets()	{
6381 rajveer 68
		if(request.getRequestURI().contains("sony")){
6382 rajveer 69
			for(long entityId: sonyEntityIds){
70
				addEntityId(entityId, sonySnippets);
71
			}
72
			return sonySnippets;
73
		}else{
6381 rajveer 74
			for(long entityId: entityIds){
75
				addEntityId(entityId, snippets);
76
			}
77
			return snippets;
78
		}
4520 varun.gupt 79
	}
6383 rajveer 80
	public String getPageTitle(){
81
		if(request.getRequestURI().contains("sony")){
82
			return "Sony Phones at Best Price";
83
		} else{
84
			return "Spice and Micromax Phones at Best Price | Clearance Sale";		
85
		}
86
	}
4518 varun.gupt 87
}