Subversion Repositories SmartDukaan

Rev

Rev 9259 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
9028 manish.sha 1
package in.shop2020.googleadwords.util;
2
 
3
import java.text.SimpleDateFormat;
4
import java.util.ArrayList;
5
import java.util.Date;
6
import java.util.HashMap;
7
import java.util.List;
8
import java.util.Map;
9
 
10
import org.apache.thrift.transport.TTransportException;
11
 
12
import adwords.axis.v201309.basicoperations.GetCampaigns;
13
 
14
import in.shop2020.googleadwords.AdwordsCampaign;
15
import in.shop2020.googleadwords.AdwordsCampaignStatus;
16
import in.shop2020.googleadwords.GoogleAdwordsService.Client;
17
import in.shop2020.googleadwords.NetworkSettingType;
18
import in.shop2020.thrift.clients.AdwordsClient;
19
 
20
public class AdwordsSaholicCampaignSync{
21
 
22
	public static void main(String[] args) {
23
		try {
24
			AdwordsClient adwordsServiceClient = new AdwordsClient();
25
			List<Map<String,String>> campaignDataMainList = GetCampaigns.runExample();
26
			Client client = adwordsServiceClient.getClient();
27
			for(int i=0; i< campaignDataMainList.size(); i++){
28
				Map<String,String> campaignDataMap = campaignDataMainList.get(i);
29
				if(campaignDataMap!=null){
30
					AdwordsCampaign campaign = new AdwordsCampaign();
31
					System.out.println(campaignDataMap.get("CampaignId")+" "+campaignDataMap.get("Status")+" "+campaignDataMap.get("Amount")
32
							+campaignDataMap.get("StartDate")+" "+campaignDataMap.get("EndDate")+" "
33
							+campaignDataMap.get("TargetGoogleSearch")+" "
34
							+campaignDataMap.get("TargetSearchNetwork") +" "
35
							+campaignDataMap.get("TargetPartnerSearchNetwork")+ " "
36
							+campaignDataMap.get("TargetContentNetwork"));
37
					campaign.setCampaignId(Long.parseLong(campaignDataMap.get("CampaignId")));
38
					campaign.setName(campaignDataMap.get("Name"));
39
					AdwordsCampaignStatus status;
40
					if("PAUSED".equalsIgnoreCase(campaignDataMap.get("Status"))){
41
						status= AdwordsCampaignStatus.PAUSED;
42
					}
43
					else if("ACTIVE".equalsIgnoreCase(campaignDataMap.get("Status"))){
44
						status= AdwordsCampaignStatus.ACTIVE;
45
					}
46
					else{
47
						status= AdwordsCampaignStatus.DELETED;
48
					}
49
					double amount= Double.parseDouble(campaignDataMap.get("Amount"));
50
					amount = amount * Math.pow(10, -6);
51
					campaign.setStatus(status);
52
					campaign.setBudgetAmount(amount);
53
					SimpleDateFormat timestmapFormat = new SimpleDateFormat("yyyyMMdd");
54
					Date date= timestmapFormat.parse(campaignDataMap.get("StartDate"));
55
					campaign.setStartDate(date.getTime());	
56
					date= timestmapFormat.parse(campaignDataMap.get("EndDate"));
57
					campaign.setEndDate(date.getTime());
58
					if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
59
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
60
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
61
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
62
						campaign.setNetworkType(NetworkSettingType.GOOGLE_SEARCH_AND_SEARCH_NETWORK);
63
					}
64
					else if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
65
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
66
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
67
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
68
						campaign.setNetworkType(NetworkSettingType.SEARCH_AND_DISPLAY_NETWORK);
69
					}
70
					else if(!Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
71
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
72
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
73
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
74
						campaign.setNetworkType(NetworkSettingType.DISPLAY_NETWORK);
75
					}
76
					else if(!Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
77
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
78
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
79
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
80
						campaign.setNetworkType(NetworkSettingType.DISPLAY_AND_PARTNER_NETWORK);
81
					}
82
					else if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
83
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
84
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
85
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
86
						campaign.setNetworkType(NetworkSettingType.SEARCH_AND_PARTNER_NETWORK);
87
					}
88
					else if(!Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
89
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
90
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
91
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
92
						campaign.setNetworkType(NetworkSettingType.GOOGLE_PARTNER_SEARCH_NETWORK);
93
					}
94
					else if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
95
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
96
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
97
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
98
						campaign.setNetworkType(NetworkSettingType.ALL_AVALIABLE_SOURCES);
99
					}
100
					else{
101
						campaign.setNetworkType(NetworkSettingType.GOOGLE_SEARCH_AND_SEARCH_NETWORK);			
102
					}					
103
 
104
					client.addAdwordsCampaign(campaign);
105
 
106
				}
107
			}
108
 
109
 
110
		} catch (TTransportException e) {
111
			// TODO Auto-generated catch block
112
			e.printStackTrace();
113
		} catch (Exception e) {
114
			// TODO Auto-generated catch block
115
			e.printStackTrace();
116
		}
117
	}
118
 
119
}