buli
2022-05-14 ead4df22dca33a867279471821ca675f91dec760
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
global class CampaignUpsertContactToSapBatch implements Database.Batchable<sObject>, Database.AllowsCallouts {
    public String query;
    // 市场活动批量导入联系人,每晚发送给SAP
    public List<String> contactIdList;
    global CampaignUpsertContactToSapBatch() {
        this.query = query;
    }
 
    global CampaignUpsertContactToSapBatch(List<String> contactIdList) {
        this.contactIdList = contactIdList;
    }
    
 
    global Database.QueryLocator start(Database.BatchableContext bc) {
 
        if (contactIdList != null && contactIdList.size() > 0) {
            return Database.getQueryLocator([SELECT Id,Name,isBatch__c,CampaignUpsertContact__c FROM Contact WHERE Id IN : contactIdList]);
        } else {
            return Database.getQueryLocator([SELECT Id,Name,isBatch__c,CampaignUpsertContact__c FROM Contact WHERE CampaignUpsertContact__c = true ]);
        }
 
        
    }
 
    global void execute(Database.BatchableContext BC, List<Contact> contactList) {
        
        if (contactList != null && contactList.size() > 0){
            List<String> contactIdListToSAP = new List<String>();
            for (Contact con:contactList) {
                con.CampaignUpsertContact__c = false;
                contactIdListToSAP.add(con.Id);
            }
            SBG001TriggerHandler.calloutContactNotFuture(null,contactIdListToSAP);
            update contactList;
 
        }
    }
 
    global void finish(Database.BatchableContext BC) {
 
    }
}