Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Java by oskar ( 6 years ago )
package com.mpn.sb;

import com.mpn.fx.util.Constants;
import com.mpn.fx.util.CoreUtil;
import com.mpn.loader.Spring;
import com.mpn.sb.model.Account;
import com.mpn.sb.model.StatusShadow;
import com.mpn.sb.model.TLog;
import java.io.Serializable;
import org.apache.log4j.Logger;
import org.jpos.core.Configurable;
import org.jpos.core.Configuration;
import org.jpos.core.ConfigurationException;
import org.jpos.iso.ISOMsg;
import org.jpos.transaction.Context;
import org.jpos.transaction.TransactionParticipant;

public class CekShadowModeLocal implements TransactionParticipant, Configurable {
   Logger log = Logger.getLogger(CekShadowModeLocal.class.getName());
   Configuration cfg;

   private ISOMsg abortRc(ISOMsg in, String rc) {
      try {
         in.setResponseMTI();
         in.set(39, rc);
      } catch (Exception var4) {
      }

      return in;
   }

   public int prepare(long id, Serializable srlzbl) {
      Context ctx = (Context)srlzbl;
      ISOMsg in = (ISOMsg)ctx.get(Constants.IN);
      new TLog();
      ISOMsg inClone = (ISOMsg)in.clone();
      String trxType = "";
      String norek = "";
      int idstatus = 1;
      StatusShadow shadow = Spring.getDaoStatusShadow().findById(Integer.valueOf(idstatus));
      if (shadow != null) {
         if (shadow.getShadowStatus() == 0) {
            inClone = this.abortRc(in, Constants.RC19);
            ctx.put("OUT", inClone);
            return 64;
         } else if (shadow.getShadowStatus() == 1 && shadow.getDownloadStatus() == 1) {
            trxType = in.getString(3).substring(0, 2);
            if ((trxType.equals("30") || trxType.equals("32")) && !CoreUtil.IsSulselbar(in.getString(33))) {
               return 1;
            } else {
               Account accSrc;
               if (!trxType.equals("77") && !trxType.equals("78")) {
                  if (!trxType.equals("26") && !trxType.equals("30") && !trxType.equals("31") && !trxType.equals("00") && !trxType.equals("02") && !trxType.equals("79")) {
                     if (!trxType.equals("70") && !trxType.equals("30") && !trxType.equals("82") && !trxType.equals("39")) {
                        Account accDest;
                        if (trxType.equals("71")) {
                           accSrc = Spring.getAccDao().findByFullAccNumber(in.getString(102));
                           accDest = Spring.getAccDao().findByFullAccNumber(in.getString(103));
                           if (accDest != null && accSrc != null) {
                              return 1;
                           }

                           inClone = this.abortRc(in, Constants.RC76);
                           ctx.put("OUT", inClone);
                           return 64;
                        }

                        if (trxType.equals("72")) {
                           if (!CoreUtil.IsSulselbar(in.getString(32)) && !CoreUtil.IsSulselbar(in.getString(33))) {
                              return 1;
                           }

                           if (in.getString(125).equals("1")) {
                              norek = in.getString(102);
                           } else if (in.getString(125).equals("2")) {
                              norek = in.getString(103);
                           }
                        } else if (trxType.equals("73")) {
                           if (!CoreUtil.IsSulselbar(in.getString(32)) && !CoreUtil.IsSulselbar(in.getString(33))) {
                              return 1;
                           }

                           if (in.getString(125).equals("1")) {
                              norek = in.getString(103);
                           } else if (in.getString(125).equals("2")) {
                              norek = in.getString(102);
                           }
                        } else if ((trxType.equals("40") || trxType.equals("83")) && in.hasField(100) && in.hasField(127)) {
                           if (CoreUtil.IsSulselbar(in.getString(100)) && CoreUtil.IsSulselbar(in.getString(127))) {
                              accSrc = Spring.getAccDao().findByFullAccNumber(in.getString(102));
                              accDest = Spring.getAccDao().findByFullAccNumber(in.getString(103));
                              if (accDest != null && accSrc != null) {
                                 return 1;
                              }

                              inClone = this.abortRc(in, Constants.RC76);
                              ctx.put("OUT", inClone);
                              return 64;
                           }

                           if (CoreUtil.IsSulselbar(in.getString(100)) && !CoreUtil.IsSulselbar(in.getString(127))) {
                              norek = in.getString(102);
                           } else {
                              if (!CoreUtil.IsSulselbar(in.getString(100)) && !CoreUtil.IsSulselbar(in.getString(127))) {
                                 return 1;
                              }

                              if (CoreUtil.IsSulselbar(in.getString(32)) && !CoreUtil.IsSulselbar(in.getString(100)) && CoreUtil.IsSulselbar(in.getString(127))) {
                                 norek = in.getString(103);
                              } else if (!CoreUtil.IsSulselbar(in.getString(32)) && CoreUtil.IsSulselbar(in.getString(33)) && CoreUtil.IsSulselbar(in.getString(100))) {
                                 norek = in.getString(102);
                              } else {
                                 if (!CoreUtil.IsSulselbar(in.getString(33))) {
                                    return 1;
                                 }

                                 if (CoreUtil.IsSulselbar(in.getString(100))) {
                                    norek = in.getString(102);
                                 } else {
                                    norek = in.getString(103);
                                 }
                              }
                           }
                        }
                     } else {
                        norek = in.getString(103);
                     }
                  } else {
                     norek = in.getString(102);
                  }
               } else {
                  if (!CoreUtil.CekB32B33(in)) {
                     return 1;
                  }

                  norek = in.getString(102);
               }

               accSrc = Spring.getAccDao().findByFullAccNumber(norek);
               if (accSrc == null) {
                  inClone = this.abortRc(in, Constants.RC76);
                  ctx.put("OUT", inClone);
                  return 64;
               } else {
                  return 1;
               }
            }
         } else if (shadow.getShadowStatus() == 1 && shadow.getDownloadStatus() == 2) {
            return 1;
         } else {
            inClone = this.abortRc(in, Constants.RC19);
            ctx.put("OUT", inClone);
            return 64;
         }
      } else {
         inClone = this.abortRc(in, Constants.RC19);
         ctx.put("OUT", inClone);
         return 64;
      }
   }

   public void commit(long id, Serializable srlzbl) {
   }

   public void abort(long id, Serializable srlzbl) {
   }

   public void setConfiguration(Configuration cfg) throws ConfigurationException {
      this.cfg = cfg;
   }
}

 

Revise this Paste

Parent: 109630
Your Name: Code Language: