Subversion Repositories SmartDukaan

Rev

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

package in.shop2020.creation.controllers;

import in.shop2020.metamodel.util.ContentPojo;
import in.shop2020.metamodel.util.ItemPojo;
import in.shop2020.metamodel.util.PrivateDealPojo;
import in.shop2020.model.v1.catalog.CatalogService.Client;
import in.shop2020.model.v1.catalog.Item;
import in.shop2020.storage.mongo.StorageManager;
import in.shop2020.thrift.clients.CatalogClient;
import in.shop2020.thrift.clients.config.ConfigClient;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

import org.apache.thrift.TException;
import org.apache.thrift.transport.TTransportException;
import org.bson.BasicBSONObject;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;

public class NewsLetterController {
        List<Item> privateDealItems;
        public List<Item> getPrivateDealItems() {
                return privateDealItems;
        }
        public void setPrivateDealItems(List<Item> privateDealItems) {
                this.privateDealItems = privateDealItems;
        }
        List<Item> aliveItems;
        public Map<Long, Item> privateDealItemMap = new HashMap<Long,Item>();
        public NewsLetterController() {
                try {
                        Client CatalogClient = new CatalogClient().getClient();
                        privateDealItems = CatalogClient.getPrivateDealItems(0,0);
                        System.out.println("Init Private Deals Map");
                        for(Item privateDealItem:privateDealItems){
                                System.out.println("Putting "+ privateDealItem.getId());
                                privateDealItemMap.put(privateDealItem.getId(),privateDealItem);
                        }
                        aliveItems = CatalogClient.getAllAliveItems();
                        setPrivateDealItems(privateDealItems);
                } catch (TTransportException e) {
                        e.printStackTrace();    
                } catch (TException e) {
                        e.printStackTrace();
                }
        }
        public String index() {
                return "index";
        }
        public ContentPojo getProductAttributes(long catalog_item_id){
                return StorageManager.getById(StorageManager.views.siteContent, new Long(catalog_item_id),ContentPojo.class);
        }
        public void createPrivateDealsNewsLetter(String[] itemids) throws IOException{
                File file = new File("/home/newsletter.html");
                BufferedWriter fileWriter = new BufferedWriter(new FileWriter(file));
                ContentPojo cp;
                Map<Long,ItemPojo> ItemPojoMap = new HashMap<Long,ItemPojo>();
                Map<Long,ContentPojo> ContentPojoMap = new HashMap<Long,ContentPojo>();
                for(String itemid:itemids){
                        System.out.println("Item ID "+itemid);
                        System.out.println("Catalog Item ID "+privateDealItemMap.get(Long.parseLong(itemid)).getCatalogItemId());
                        cp = getProductAttributes(privateDealItemMap.get(Long.parseLong(itemid)).getCatalogItemId());
                        if(cp==null){
                                continue;
                        }
                        System.out.println("Content Pojo "+cp.getTitle());
                        for(ItemPojo itemPojo:cp.getItems()){
                                System.out.println("Item ID in list "+Long.parseLong(itemid) +" Item ID in item pojo "+itemPojo.getId().longValue());
                                if(Long.parseLong(itemid)==itemPojo.getId().longValue()){
                                        ItemPojoMap.put(itemPojo.getId(),itemPojo);
                                }
                        }
                        ContentPojoMap.put(new Long(itemid),cp);
                }
                CreateHeader(fileWriter);
                int i=1;
                fileWriter.write("<div id=\"partition\" style=\"width:652; float:left; background-color: white;\">");
                for(ItemPojo itemPojo:ItemPojoMap.values()){
                        cp = ContentPojoMap.get(itemPojo.getId());
                        
                        itemPojo.getColor();
                        
                        cp.getIconImageUrl();
                        cp.getUrl();
                        if(i%2==1){
                                //fileWriter.write("<div class=\"box\">");
                                fileWriter.write("<div class=\"box\">");
                                fileWriter.write("<div><a style=\"text-decoration: none; color:#0088cc;\" target=\"_blank\" href=\""+cp.getUrl()+"\">");
                                fileWriter.write("<h1 style=\"padding: 12px 0px 0px 66px; font-family:Lucida Grande, sans-serif; font-size:18px; font-style:regular; color:black;\">"+cp.getTitle()+"</h1>");
                                fileWriter.write("<p style=\"padding: 0px 0px 0px 0px; font-family:Lucida Grande, sans-serif; font-size:14px; font-style:regular; color:#666666; text-align:center;\">");
                                fileWriter.write("<strike>MRP</strike> | <strike>Regular Price</strike> |<span class=\"special\"> Special Price</span>");
                                fileWriter.write("<br>");
                                fileWriter.write("<strike> <img src=\"http://static0.saholic.com/images/rupee-icon-6427.png\" alt=\"rupees\" style=\"height:11px\">"+itemPojo.getMrp()+"</strike> | <strike><img src=\"http://static0.saholic.com/images/rupee-icon-6427.png\" alt=\"rupees\" style=\"height:11px\">"+itemPojo.getSellingPrice()+"</strike> | <img src=\"http://static0.saholic.com/images/rupee-icon-6427.png\" alt=\"rupees\" style=\"height:11px\"> <span class=\"special\">"+itemPojo.getDealPojo().getDealPrice()+"</span><br>");
                                fileWriter.write("Use Coupon:<b><span class=\"coupon\"> ASDFG</span></b></p>");
                                fileWriter.write("<img height=\"140\" style=\"padding: 8px 0px 0px 112px;\" alt=\"headphones\" src=\""+cp.getIconImageUrl()+"\">");
                                fileWriter.write("</a></div><a style=\"text-decoration: none; color:#0088cc;\" target=\"_blank\" href=\""+cp.getUrl()+"/\">");
                                fileWriter.write("</a></div>");
                        }
                        else{
                                //fileWriter.write("<div class=\"box\">");
                                fileWriter.write("<div class=\"box\">");
                                fileWriter.write("<div><a style=\"text-decoration: none; color:#0088cc;\" target=\"_blank\" href=\""+cp.getUrl()+"\">");
                                fileWriter.write("<h1 style=\"padding: 12px 0px 0px 66px; font-family:Lucida Grande, sans-serif; font-size:18px; font-style:regular; color:black;\">"+cp.getTitle()+"</h1>");
                                fileWriter.write("<p style=\"padding: 0px 0px 0px 0px; font-family:Lucida Grande, sans-serif; font-size:14px; font-style:regular; color:#666666; text-align:center;\">");
                                fileWriter.write("<strike>MRP</strike> | <strike>Regular Price</strike> |<span class=\"special\"> Special Price</span>");
                                fileWriter.write("<br>");
                                fileWriter.write("<strike> <img src=\"http://static0.saholic.com/images/rupee-icon-6427.png\" alt=\"rupees\" style=\"height:11px\">"+itemPojo.getMrp()+"</strike> | <strike><img src=\"http://static0.saholic.com/images/rupee-icon-6427.png\" alt=\"rupees\" style=\"height:11px\">"+itemPojo.getSellingPrice()+"</strike> | <img src=\"http://static0.saholic.com/images/rupee-icon-6427.png\" alt=\"rupees\" style=\"height:11px\"> <span class=\"special\">"+itemPojo.getDealPojo().getDealPrice()+"</span><br>");
                                fileWriter.write("Use Coupon:<b><span class=\"coupon\"> ASDFG</span></b></p>");
                                fileWriter.write("<img height=\"140\" style=\"padding: 8px 0px 0px 112px;\" alt=\"headphones\" src=\""+cp.getIconImageUrl()+"\">");
                                fileWriter.write("</a></div><a style=\"text-decoration: none; color:#0088cc;\" target=\"_blank\" href=\""+cp.getUrl()+"/\">");
                                fileWriter.write("</a></div>");
                        }
                }
                fileWriter.write("</div>");
                CreateFooter(fileWriter);
                fileWriter.close();
                
        }
        public void CreateHeader(BufferedWriter fileWriter) throws IOException{
                File input = new File("/home/header.html");
                Scanner sc = new Scanner(input);
                while (sc.hasNextLine()) {
            String s = sc.nextLine();
            fileWriter.write(s);
        }
        }
        public void CreateFooter(BufferedWriter fileWriter) throws IOException{
                File input = new File("/home/footer.html");
                Scanner sc = new Scanner(input);
                while (sc.hasNextLine()) {
            String s = sc.nextLine();
            fileWriter.write(s);
        }
        }
        public static void main(String... str) throws IOException{
                String [] itemids = {"2287","5880","7940","8577","8603"};
                NewsLetterController newsLetterController = new NewsLetterController();
                newsLetterController.createPrivateDealsNewsLetter(itemids);
        }
}