• dhanraj r
  • NEWBIE
  • 10 Points
  • Member since 2021

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies
global class CouponBatch implements Database.Batchable<sObject>, Database.AllowsCallouts{
    global Database.QueryLocator start(Database.BatchableContext bc){
        String soqlQuery = 'SELECT id, CouponCode__c, Redeemed_Code__c, Type From order';
        return Database.getQueryLocator(soqlQuery);
    }
     

    global void execute(Database.BatchableContext bc, List<Order> orderDetails){
         
                try {
                    HttpRequest req = new HttpRequest();
                    req.setEndpoint('callout:couponcode_101/couponcode.json');
                    req.setMethod('GET');
                    Http http =  new Http();
                    HttpResponse res = http.send(req);  
                        if (res.getStatusCode() == 200) {
                        Map<String, Object> results = (Map<String, Object>)JSON.deserializeUntyped(res.getBody());
                        List<Object> resultslist = (List<Object>)results.get('discount_codes');
                        for(order datadetails: orderDetails) {
                            for(Object mapa:resultslist ){
                                Map<String,Object> tempMap = (Map<String,Object>)mapa;
                                if(datadetails.CouponCode__c==tempMap.get('code')){
                                    datadetails.Redeemed_Code__c=true;                                   
                                }
    
                            }
                        }      
                       update orderDetails;        
                    }
                }
                catch(Exception e){
                     system.debug('Message: '+e.getMessage());
                        system.debug('Line: '+e.getLineNumber());
                }
            }
   
    global void finish(Database.BatchableContext bc){
     }
}
global class CouponBatch implements Database.Batchable<sObject>, Database.AllowsCallouts{
    global Database.QueryLocator start(Database.BatchableContext bc){
        String soqlQuery = 'SELECT id, CouponCode__c, Redeemed_Code__c, Type From order';
        return Database.getQueryLocator(soqlQuery);
    }
     

    global void execute(Database.BatchableContext bc, List<Order> orderDetails){
         
                try {
                    HttpRequest req = new HttpRequest();
                    req.setEndpoint('callout:couponcode_101/couponcode.json');
                    req.setMethod('GET');
                    Http http =  new Http();
                    HttpResponse res = http.send(req);  
                        if (res.getStatusCode() == 200) {
                        Map<String, Object> results = (Map<String, Object>)JSON.deserializeUntyped(res.getBody());
                        List<Object> resultslist = (List<Object>)results.get('discount_codes');
                        for(order datadetails: orderDetails) {
                            for(Object mapa:resultslist ){
                                Map<String,Object> tempMap = (Map<String,Object>)mapa;
                                if(datadetails.CouponCode__c==tempMap.get('code')){
                                    datadetails.Redeemed_Code__c=true;                                   
                                }
    
                            }
                        }      
                       update orderDetails;        
                    }
                }
                catch(Exception e){
                     system.debug('Message: '+e.getMessage());
                        system.debug('Line: '+e.getLineNumber());
                }
            }
   
    global void finish(Database.BatchableContext bc){
     }
}