Subversion Repositories SmartDukaan

Rev

Rev 9028 | Rev 9262 | Go to most recent revision | Details | Compare with Previous | 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){
9259 manish.sha 30
					if("DELETED".equalsIgnoreCase(campaignDataMap.get("Status"))){
31
						continue;
32
					}
9028 manish.sha 33
					AdwordsCampaign campaign = new AdwordsCampaign();
34
					System.out.println(campaignDataMap.get("CampaignId")+" "+campaignDataMap.get("Status")+" "+campaignDataMap.get("Amount")
35
							+campaignDataMap.get("StartDate")+" "+campaignDataMap.get("EndDate")+" "
36
							+campaignDataMap.get("TargetGoogleSearch")+" "
37
							+campaignDataMap.get("TargetSearchNetwork") +" "
38
							+campaignDataMap.get("TargetPartnerSearchNetwork")+ " "
39
							+campaignDataMap.get("TargetContentNetwork"));
40
					campaign.setCampaignId(Long.parseLong(campaignDataMap.get("CampaignId")));
41
					campaign.setName(campaignDataMap.get("Name"));
42
					AdwordsCampaignStatus status;
43
					if("PAUSED".equalsIgnoreCase(campaignDataMap.get("Status"))){
44
						status= AdwordsCampaignStatus.PAUSED;
45
					}
46
					else if("ACTIVE".equalsIgnoreCase(campaignDataMap.get("Status"))){
47
						status= AdwordsCampaignStatus.ACTIVE;
48
					}
49
					else{
50
						status= AdwordsCampaignStatus.DELETED;
51
					}
52
					double amount= Double.parseDouble(campaignDataMap.get("Amount"));
53
					amount = amount * Math.pow(10, -6);
54
					campaign.setStatus(status);
55
					campaign.setBudgetAmount(amount);
56
					SimpleDateFormat timestmapFormat = new SimpleDateFormat("yyyyMMdd");
57
					Date date= timestmapFormat.parse(campaignDataMap.get("StartDate"));
58
					campaign.setStartDate(date.getTime());	
59
					date= timestmapFormat.parse(campaignDataMap.get("EndDate"));
60
					campaign.setEndDate(date.getTime());
61
					if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
62
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
63
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
64
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
65
						campaign.setNetworkType(NetworkSettingType.GOOGLE_SEARCH_AND_SEARCH_NETWORK);
66
					}
67
					else if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
68
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
69
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
70
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
71
						campaign.setNetworkType(NetworkSettingType.SEARCH_AND_DISPLAY_NETWORK);
72
					}
73
					else if(!Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
74
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
75
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
76
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
77
						campaign.setNetworkType(NetworkSettingType.DISPLAY_NETWORK);
78
					}
79
					else if(!Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
80
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
81
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
82
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
83
						campaign.setNetworkType(NetworkSettingType.DISPLAY_AND_PARTNER_NETWORK);
84
					}
85
					else if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
86
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
87
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
88
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
89
						campaign.setNetworkType(NetworkSettingType.SEARCH_AND_PARTNER_NETWORK);
90
					}
91
					else if(!Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
92
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
93
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
94
							&& !Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
95
						campaign.setNetworkType(NetworkSettingType.GOOGLE_PARTNER_SEARCH_NETWORK);
96
					}
97
					else if(Boolean.parseBoolean(campaignDataMap.get("TargetGoogleSearch")) 
98
							&& Boolean.parseBoolean(campaignDataMap.get("TargetSearchNetwork")) 
99
							&& Boolean.parseBoolean(campaignDataMap.get("TargetPartnerSearchNetwork")) 
100
							&& Boolean.parseBoolean(campaignDataMap.get("TargetContentNetwork"))){
101
						campaign.setNetworkType(NetworkSettingType.ALL_AVALIABLE_SOURCES);
102
					}
103
					else{
104
						campaign.setNetworkType(NetworkSettingType.GOOGLE_SEARCH_AND_SEARCH_NETWORK);			
105
					}					
106
 
107
					client.addAdwordsCampaign(campaign);
108
 
109
				}
110
			}
111
 
112
 
113
		} catch (TTransportException e) {
114
			// TODO Auto-generated catch block
115
			e.printStackTrace();
116
		} catch (Exception e) {
117
			// TODO Auto-generated catch block
118
			e.printStackTrace();
119
		}
120
	}
121
 
122
}