Subversion Repositories SmartDukaan

Rev

Rev 9259 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9259 Rev 9262
Line 4... Line 4...
4
import java.util.List;
4
import java.util.List;
5
import java.util.Map;
5
import java.util.Map;
6
 
6
 
7
import org.apache.thrift.TException;
7
import org.apache.thrift.TException;
8
import org.apache.thrift.transport.TTransportException;
8
import org.apache.thrift.transport.TTransportException;
-
 
9
import org.slf4j.Logger;
-
 
10
import org.slf4j.LoggerFactory;
9
 
11
 
10
import adwords.axis.v201309.basicoperations.GetAdGroups;
12
import adwords.axis.v201309.basicoperations.GetAdGroups;
11
 
13
 
12
import in.shop2020.googleadwords.AdwordsAdGroup;
14
import in.shop2020.googleadwords.AdwordsAdGroup;
13
import in.shop2020.googleadwords.AdwordsAdGroupStatus;
15
import in.shop2020.googleadwords.AdwordsAdGroupStatus;
14
import in.shop2020.googleadwords.AdwordsCampaign;
16
import in.shop2020.googleadwords.AdwordsCampaign;
15
import in.shop2020.googleadwords.GoogleAdwordsService.Client;
17
import in.shop2020.googleadwords.GoogleAdwordsService.Client;
16
import in.shop2020.googleadwords.GoogleAdwordsServiceException;
18
import in.shop2020.googleadwords.GoogleAdwordsServiceException;
17
import in.shop2020.thrift.clients.AdwordsClient;
19
import in.shop2020.thrift.clients.AdwordsClient;
18
 
20
/*
-
 
21
 * Class AdwordsSaholicAdGroupSync - To Sync Adgroups between Google Adwords and our Database.
-
 
22
 */
19
public class AdwordsSaholicAdGroupSync{
23
public class AdwordsSaholicAdGroupSync{
-
 
24
	private static Logger logger = LoggerFactory.getLogger(AdwordsSaholicAdGroupSync.class);
-
 
25
	
20
	public static void main(String[] args) {
26
	public static void main(String[] args) {
21
		
27
		
22
		AdwordsClient adwordsServiceClient= null;
28
		AdwordsClient adwordsServiceClient= null;
23
		try {
29
		try {
24
			adwordsServiceClient = new AdwordsClient();
30
			adwordsServiceClient = new AdwordsClient();
Line 28... Line 34...
28
		Client client = adwordsServiceClient.getClient();
34
		Client client = adwordsServiceClient.getClient();
29
		List<AdwordsCampaign> campaignList =null;
35
		List<AdwordsCampaign> campaignList =null;
30
		try {
36
		try {
31
			campaignList = client.getAllAdwordsCampaigns();
37
			campaignList = client.getAllAdwordsCampaigns();
32
		} catch (GoogleAdwordsServiceException e1) {
38
		} catch (GoogleAdwordsServiceException e1) {
33
			e1.printStackTrace();
39
			System.out.println("Error while requesting All Campaigns Google Adwords Service.."+e1.getMessage());
-
 
40
			logger.error("Error while requesting All Campaigns Google Adwords Service.."+e1.getMessage());
34
		} catch (TException e1) {
41
		} catch (TException e1) {
35
			e1.printStackTrace();
42
			System.out.println("Error while getting All Campaigns Google Adwords Service.."+e1.getMessage());
-
 
43
			logger.error("Error while getting All Campaigns Google Adwords Service.."+e1.getMessage());
36
		}
44
		}
37
		
45
		
38
		List<Long> errorCampaigns = new ArrayList<Long>();
46
		List<Long> errorCampaigns = new ArrayList<Long>();
39
		for(AdwordsCampaign campaign: campaignList){
47
		for(AdwordsCampaign campaign: campaignList){
40
			List<Map<String, String>> adgroupDataMainList =null;
48
			List<Map<String, String>> adgroupDataMainList =null;
41
			try {
49
			try {
42
				adgroupDataMainList = GetAdGroups.runExample(campaign.getCampaignId());
50
				adgroupDataMainList = GetAdGroups.runExample(campaign.getCampaignId());
43
			} catch (Exception e) {
51
			} catch (Exception e) {
44
				System.out.println(e.getMessage());
52
				System.out.println(e.getMessage());
45
				continue;
53
				continue;
46
			}//campaign.getCampaignId());
54
			}
47
			for(int i=0; i<adgroupDataMainList.size();i++){
55
			for(int i=0; i<adgroupDataMainList.size();i++){
48
				
56
				
49
				Map<String, String> adgroupDataMap = adgroupDataMainList.get(i);
57
				Map<String, String> adgroupDataMap = adgroupDataMainList.get(i);
50
				if(adgroupDataMap!=null){
58
				if(adgroupDataMap!=null){
51
					if("DELETED".equalsIgnoreCase(adgroupDataMap.get("Status"))){
59
					if("DELETED".equalsIgnoreCase(adgroupDataMap.get("Status"))){
52
						continue;
60
						continue;
53
					}
61
					}
-
 
62
					AdwordsAdGroup adgroupDB = null;
-
 
63
					try {
-
 
64
						adgroupDB = client.getAdwordsAdGroupByAdGroupId(Long.parseLong(adgroupDataMap.get("AdgroupId")));
-
 
65
					} catch (NumberFormatException e1) {
-
 
66
						System.out.println(e1.getMessage());
-
 
67
					} catch (GoogleAdwordsServiceException e1) {
-
 
68
						System.out.println("Error while requesting Adgroup Google Adwords Service.."+e1.getMessage());
-
 
69
						logger.error("Error while requesting Adgroup Google Adwords Service.."+e1.getMessage());
-
 
70
					} catch (TException e1) {
-
 
71
						System.out.println("Error while getting Adgroup Google Adwords Service.."+e1.getMessage());
-
 
72
						logger.error("Error while getting Adgroup Google Adwords Service.."+e1.getMessage());
-
 
73
					}
54
					AdwordsAdGroup adgroup = new AdwordsAdGroup();
74
					AdwordsAdGroup adgroup = new AdwordsAdGroup();
55
					System.out.println(adgroupDataMap.get("CampaignId")+" "
75
					System.out.println(adgroupDataMap.get("CampaignId")+" "
56
							+adgroupDataMap.get("Name")+" "
76
							+adgroupDataMap.get("Name")+" "
57
							+adgroupDataMap.get("AdgroupId")+ " "
77
							+adgroupDataMap.get("AdgroupId")+ " "
58
							+adgroupDataMap.get("CatalogItemId")+" "+adgroupDataMap.get("BidAmount")+" "
78
							+adgroupDataMap.get("CatalogItemId")+" "+adgroupDataMap.get("BidAmount")+" "
Line 75... Line 95...
75
					else{
95
					else{
76
						status= AdwordsAdGroupStatus.DELETED;
96
						status= AdwordsAdGroupStatus.DELETED;
77
					}
97
					}
78
					adgroup.setStatus(status);
98
					adgroup.setStatus(status);
79
					adgroup.setStockLinked(0);
99
					adgroup.setStockLinked(0);
-
 
100
					if(adgroupDB!=null){
-
 
101
						adgroup.setId(adgroupDB.getId());
80
					try {
102
						try {
81
						client.addAdwordsAdGroup(adgroup);
103
							client.updateAdwordsAdGroup(adgroup);
82
					} catch (GoogleAdwordsServiceException e) {
104
						} catch (GoogleAdwordsServiceException e) {
-
 
105
							System.out.println("Error while Requesting Updation AdGroup Google Adwords Service.."+e.getMessage());
83
						e.printStackTrace();
106
							logger.error("Error while Requesting Updation AdGroup Google Adwords Service.."+e.getMessage());
84
					} catch (TException e) {
107
						} catch (TException e) {
-
 
108
							System.out.println("Error while Updating AdGroup Google Adwords Service.."+e.getMessage());
-
 
109
							logger.error("Error while Updating AdGroup Google Adwords Service.."+e.getMessage());
85
						e.printStackTrace();
110
						}
86
					}
111
					}
-
 
112
					else{
-
 
113
						try {
-
 
114
							client.addAdwordsAdGroup(adgroup);
-
 
115
						} catch (GoogleAdwordsServiceException e) {
-
 
116
							System.out.println("Error while Requesting Addition AdGroup Google Adwords Service.."+e.getMessage());
-
 
117
							logger.error("Error while Requesting Addition AdGroup Google Adwords Service.."+e.getMessage());
-
 
118
						} catch (TException e) {
-
 
119
							System.out.println("Error while Adding AdGroup Google Adwords Service.."+e.getMessage());
-
 
120
							logger.error("Error while Adding AdGroup Google Adwords Service.."+e.getMessage());
-
 
121
						}
-
 
122
					}
-
 
123
					
87
				}
124
				}
88
			}
125
			}
89
		}
126
		}
90
		
127
		
91
		System.out.println("$$$$$$$$$$$$$$$$$$ Error Campaigns List $$$$$$$$$$$$$$$$$$$$$$$$$");
128
		System.out.println("$$$$$$$$$$$$$$$$$$ Error Campaigns List $$$$$$$$$$$$$$$$$$$$$$$$$");