package com.l7tech.server.audit;

import com.l7tech.server.DefaultKey;
import com.l7tech.server.jdbc.JdbcQueryingManager;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallback;

class h implements TransactionCallback<String> {
   final String val$dbType;
   final JdbcQueryingManager val$jdbcQueryingManager;
   final DefaultKey val$defaultKey;
   final g this$1;

   h(g var1, String var2, JdbcQueryingManager var3, DefaultKey var4) {
      this.this$1 = var1;
      this.val$dbType = var2;
      this.val$jdbcQueryingManager = var3;
      this.val$defaultKey = var4;
   }

   public String doInTransaction(TransactionStatus var1) {
      try {
         String var2 = ExternalAuditsUtils.testMessageSummaryRecord(
            this.this$1.val$connectionName,
            this.val$dbType,
            this.this$1.val$auditRecordTableName,
            this.this$1.val$auditDetailTableName,
            this.val$jdbcQueryingManager,
            this.val$defaultKey
         );
         if (!var2.isEmpty()) {
            var1.setRollbackOnly();
            return var2;
         }

         var2 = ExternalAuditsUtils.testAdminAuditRecord(
            this.this$1.val$connectionName, this.val$dbType, this.this$1.val$auditRecordTableName, this.val$jdbcQueryingManager, this.val$defaultKey
         );
         if (!var2.isEmpty()) {
            var1.setRollbackOnly();
            return var2;
         }

         var2 = ExternalAuditsUtils.testSystemAuditRecord(
            this.this$1.val$connectionName, this.val$dbType, this.this$1.val$auditRecordTableName, this.val$jdbcQueryingManager, this.val$defaultKey
         );

         try {
            if (!var2.isEmpty()) {
               var1.setRollbackOnly();
            }
         } catch (Exception var3) {
            throw a(var3);
         }

         return var2;
      } catch (Exception var4) {
         var1.setRollbackOnly();
         return var4.getMessage();
      }
   }

   private static Exception a(Exception var0) {
      return var0;
   }
}
