buli
2022-05-13 08a21f49f2eaf9cfc19ceb67b196cc36ba689305
force-app/main/default/classes/SBG001TriggerHandler.cls
@@ -8,6 +8,7 @@
    //001修改Rest gwy start 2021-04-06
    //public class SBG001ResrException extends Exception {}
    public static String status;
    public static String responseBody;//dennis update for pi 2022/3/9
    public class SBG001 {
        public SSBDCustomerContacts_element SSBDCustomerContacts;
    }
@@ -33,6 +34,7 @@
        public String ContactCode;  
        public String ContactEffectiveDateFrom;
        public String PurposeOfAdvice;
        public String DataId;//dennis update for pi 2022/3/9
        
    }
        //001修改Rest gwy end 2021-04-06
@@ -516,7 +518,8 @@
                    Phone, MobilePhone,
                    Fax, Email, PostCode__c, Address1__c,
                    CreatedDate, LastModifiedDate,
                    Account.UserType__c
                    Account.UserType__c,
                    AWS_Data_Id__c//dennis update for pi 2022/3/9
               from Contact where Id IN :conIds];          // 削除データを検索しないはず、All ROWS いらないはず
            // System.debug(Logginglevel.DEBUG, 'SBG001_' + iflog.Name + ' conList.size()=' + conList.size());
@@ -549,6 +552,7 @@
                                                + ',' + (String.isBlank(con.Email) ? '' : con.Email);
                SSBDCustomerContact.PostalCode          = String.isBlank(con.PostCode__c) ? '' : con.PostCode__c;
                SSBDCustomerContact.Address             = String.isBlank(con.Address1__c) ? '' : con.Address1__c;
                SSBDCustomerContact.DataId             = String.isBlank(con.AWS_Data_Id__c) ? '' : con.AWS_Data_Id__c;
                SSBDCustomerContact.CustomerCategory    = GetCustomerCategory(null,con);//'客户' + (String.isBlank(con.Account.ProductSegment__c) ? '' : con.Account.ProductSegment__c);
                //  JZHU-BPQBVK-IE最终用户接口传输逻辑变更(update-Start-20200525)
                SSBDCustomerContact.UserType = '';
@@ -738,26 +742,59 @@
        } else {
            logstr = iflog.Log__c;
        }
        // 添加aws上线开关 by sushanhu 20220419
        Boolean piOn =AWSServiceTool.getAWSServiceStatus();
        try{
            status = NFMUtil.sendToSapRet(rowDataStr, NFMUtil.SBG001_ENDPOINT);
            system.debug('status--->'+status);
            if (status == 'OK') {
            if (piOn) {
                //update to aws 2022/3/9 dennis
             PIHelper.PIIntegration pi =PIHelper.getPIIntegrationInfo('SBG001');
            //  NFMUtil.response result =NFMUtil.sendToPiAWS(rowDataStr,pi.newUrl,pi.token);
            AWSServiceTool.response result = AWSServiceTool.sendToPiAWS(rowDataStr,pi.newUrl,pi.token);
             system.debug('aws result---'+result);
             status = result.status;
             system.debug('aws status---'+status);
             responseBody=result.responseBody;
            //  Map<String, Object> res = (Map<String, Object>)JSON.deserializeUntyped(responseBody);
            //  status=(String)res.get(status);
             if ('200'.equals(status)) {
                logstr += '\nstatus='+status;
                rowData.retry_cnt__c = 0;
            } else {
             } else {
                if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0;
                if (rowData.retry_cnt__c < batch_retry_max_cnt) {
                    rowData.retry_cnt__c++;
                    LogAutoSendSchedule.assignOneMinute();
                }
                if (rowData.retry_cnt__c >= batch_retry_max_cnt) {
                    rowData.ErrorLog__c = 'status:' + status +
                    //add respomseBody 记录错误信息 by sushanhu 20220406 start
                    rowData.ErrorLog__c = 'status:' + status +responseBody+
                                          '\n错误次数已经超过自动送信设定的最大次数,请手动送信';
                 //add respomseBody 记录错误信息 by sushanhu 20220406 end
                }
             }
             //update to aws 2022/3/9 dennis
             logstr += '\nend';
            }else {
                status = NFMUtil.sendToSapRet(rowDataStr, NFMUtil.SBG001_ENDPOINT);
                system.debug('status--->'+status);
                if (status == 'OK') {
                    logstr += '\nstatus='+status;
                    rowData.retry_cnt__c = 0;
                } else {
                    if (rowData.retry_cnt__c == null) rowData.retry_cnt__c = 0;
                    if (rowData.retry_cnt__c < batch_retry_max_cnt) {
                        rowData.retry_cnt__c++;
                        LogAutoSendSchedule.assignOneMinute();
                    }
                    if (rowData.retry_cnt__c >= batch_retry_max_cnt) {
                        rowData.ErrorLog__c = 'status:' + status +
                                              '\n错误次数已经超过自动送信设定的最大次数,请手动送信';
                    }
                }
                logstr += '\nend';
                // rowData.retry_cnt__c=0;
            }
            logstr += '\nend';
            // rowData.retry_cnt__c=0;
        }catch(Exception ex) {
            // TODO IOException
            // エラーが発生した場合